Which Claude models the API offers
As of 29 October 2026 the public codexkey catalog offers claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-sonnet-5-5, claude-sonnet-5, claude-sonnet-4-6, claude-haiku-5.5, claude-haiku-4.5, claude-fable-5 and claude-fable-5-1. The exact list and current rates are in the model catalog, which updates together with the supplier.
| Task | Start with | When to move up |
|---|---|---|
| Read an unfamiliar repository | claude-opus-5-5 | The decision touches architecture and several services |
| Daily work in Claude Code | claude-sonnet-5 | The agent repeats mistakes even with good context |
| Pull request review | claude-sonnet-5 | You need a second pass over migration or security risks |
| Classifying requests, extracting data, routing | claude-haiku-5.5 | The test sample shows misses |
| Heavy reasoning and long autonomous work | claude-fable-5-1 | Opus 5.5 failed on your sample |
| A stable old prompt | The pinned ID from your current setup | After a separate A/B run |
What the models cost
codexkey catalog prices on 29 October 2026, input / output per 1M tokens: claude-fable-5-1 $7.48 / $37.44, claude-opus-5-5 $0.86 / $4.32, claude-sonnet-5 $0.52 / $2.6, claude-haiku-5.5 $0.08 / $0.32. Fable costs about 14 times more than Sonnet 5, so making it the default for a bulk stream does not pay. In its documentation Anthropic describes Fable 5.1 as a model for complex reasoning and long agentic tasks with slower responses, and Haiku 5.5 as a model for high-volume, low-latency work such as classification, extraction and routing.
Where Opus 5.5 pays off and where Sonnet 5 is enough
Put Opus at the top of a router when a wrong turn is expensive. Give it a repository map, the acceptance criteria and the exact failure to rule out, and ask for a plan before the patch. For small requests it is overkill: a short classification does not need a huge context.
Sonnet fits mixed traffic through one key: support replies, JSON transforms, failing tests, a first patch. Give routine calls a strict output schema, retry only on transport failures and write parser failures to the logs.
How to compare without fooling yourself
Build a set of 20-50 real tasks: closed bugs for review, requests with a known resolution for support, documents with a labelled answer for data extraction. Measure accuracy, the number of manual fixes and the time of the full scenario. A single glossy demo prompt tells you little about production.
For Fable, run your own prompts through structured extraction with required fields, a coding task with tests, a support reply strictly from the supplied policy and a long input with important constraints. Keep the raw responses, patches and reviewer verdicts, and hold the system prompt and criteria constant.
Connecting to Claude Code
Create an API key and set the model in the agent settings. The base address is https://api.codexkey.online.
export ANTHROPIC_BASE_URL="https://api.codexkey.online"
export ANTHROPIC_AUTH_TOKEN="your_key"
export ANTHROPIC_MODEL="claude-sonnet-5[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-sonnet-5"
The ANTHROPIC_DEFAULT_* lines are required: without them Claude Code asks for its own default models and answers "There's an issue with the selected model". The full settings.json is in the Claude Code guide.
In code only the model value changes:
const modelByTask = {
review: "claude-opus-5-5",
coding: "claude-sonnet-5",
support: "claude-sonnet-5",
experiment: "claude-fable-5-1",
} as const;
const response = await client.messages.create({
model: modelByTask[task],
max_tokens: 1200,
messages: [{ role: "user", content: prompt }],
});
Practical selection rules
Start with Sonnet 5 for an unfamiliar workload. If it passes your set with confidence, Opus will not help automatically. If a mistake makes an engineer redo the work or miss a risk, run the same sample on Opus 5.5. Try Fable on a small set where Opus 5.5 fell short: it is the most expensive model in the catalog.
For each route record task and parse success, time to first token and token usage: the cheapest request is the one that finishes correctly on the first attempt. If the result touches a user account, a payment or a merge, keep a human checkpoint. Pin the roles in the repository: Haiku for bulk operations, Sonnet for ordinary tasks, Opus for hard investigations, Fable for the heaviest cases.
FAQ
Is Opus 5.5 always better than Sonnet 5?
No. On a hard task Opus will reason more deeply, but on a simple operation it matters more to measure the result on your own data.
Which ID do I put in the API?
Take the ID from the models page or from the GET /v1/models response. You switch between models by changing model, and the integration stays as it was.
Which model should review production code?
For risky changes run Opus 5.5 on the first pass, then tests and a human review. Sonnet 5 is enough for routine diffs once its findings are checked against accepted and rejected examples.
Can Fable replace Sonnet right away?
Do not switch on the name alone. Run the same checks, compare parser failures and reviewer verdicts, then move one slice of traffic at a time.