Editors & agents
Point Continue, Cline, Roo Code or Aider at Sothe.
Continue
Continue keeps its settings in a file rather than a settings screen, which makes it the hardest of these to get wrong. Put this in ~/.continue/config.yaml and restart the extension:
1name: Sothe2version: 0.0.13schema: v14models:5 - name: Claude Haiku 4.5 (Sothe)6 provider: openai7 model: anthropic/claude-haiku-4-5-20251001-v1:08 apiBase: https://api.sothe.net/v19 apiKey: sk-so-v1-...10 roles: [chat, edit, apply]provider: openai together with apiBase is what sends the request to us instead of to OpenAI. Add one entry per model you want in the picker.
Cline
Settings → API Provider → OpenAI Compatible:
| Field | Value |
|---|---|
| Base URL | https://api.sothe.net/v1 |
| API Key | sk-so-v1-… |
| Model ID | anthropic/claude-haiku-4-5-20251001-v1:0 |
Cline reads the model list from https://api.sothe.net/v1/models, but not the details behind it, so fill in the model configuration yourself: the context_length the model list reports, and 8,192 for max output tokens unless you want to ask for more.
Roo Code
Settings → API Provider → OpenAI Compatible, then the same three values:
| Field | Value |
|---|---|
| Base URL | https://api.sothe.net/v1 |
| API Key | sk-so-v1-… |
| Model | anthropic/claude-haiku-4-5-20251001-v1:0, from the dropdown it fills from https://api.sothe.net/v1/models |
Roo Code keeps settings changes pending until you press Save — until then the task keeps running against the previous provider, which looks like your new settings being ignored. It also shows its own defaults under the model (a 128,000-token window, $0.00 prices) rather than ours, because it reads only the ids from the model list. Set the window to the model's real context_length so it doesn't trim your conversation early. Those fields never affect what you are charged — billing happens here, at the published price.
Roo Code's OpenRouter provider also accepts a custom base URL, but it takes its model list from openrouter.ai rather than from you, so the names in the dropdown are theirs. Those short ids work against us anyway — see Model ids — but the prices it displays beside them are not ours.
Aider
A terminal agent: no extension, it edits files in your repo directly. Install it, then:
1OPENAI_API_BASE=https://api.sothe.net/v1 OPENAI_API_KEY=sk-so-v1-... aider --model openai/anthropic/claude-haiku-4-5-20251001-v1:0The openai/ prefix tells Aider to treat the model as an OpenAI-compatible one and use the base URL above; everything after it is our model id, passed through untouched.
Choosing the model
These agents work by calling tools, so pick a model whose supports_tools is true — the Models page has a filter for it. A model that can't call functions will chat happily and then fail on its first action.
Both id forms work: the full anthropic/claude-haiku-4-5-20251001-v1:0 and the short anthropic/claude-haiku-4.5 that most editor catalogues use. Prompt caching is on by default where the provider publishes cache rates, which is worth real money in an agent loop — the same system prompt and tool list go up on every turn. See Billing.
If it doesn't work
| What you see | What it means |
|---|---|
404 model not found | The id isn't one of ours, or it is a short form matching more than one model. Copy it from https://api.sothe.net/v1/models. |
404 on a path | The base URL is missing /v1. |
401 | Wrong or disabled key, or a management key where an inference key is needed. |
402 | Out of credits, or a limit was reached — see Billing. |
503 model unavailable | A model we list but can't serve yet. Pick another; see Availability. |
| It just spins | Check the tool's own output log first — an agent that cannot parse a reply often retries silently. Every request you make, failed ones included, appears in Logs with its status: if nothing is there, the request never reached us and the problem is between the tool and its settings. |