Model selection cheat sheet
Current Claude models side by side, with prices, limits and which kinds of feature each one suits, generated from the wiki's model config.
On this page
Current models
Generated from the same configuration file every code example on this site uses, so it’s always consistent with the examples:
-
Claude Fable 5.1
claude-fable-5-1- Context
- 1M
- Max output
- 128K
- Per 1M tokens
- $10 in / $50 out
The hardest reasoning and long-running agent work, where quality matters more than cost.
-
Claude Opus 5.5
claude-opus-5-5- Context
- 1M
- Max output
- 128K
- Per 1M tokens
- $4 in / $20 out
The default for product features: complex tasks, agents and anything quality-sensitive.
-
Claude Sonnet 5.5
claude-sonnet-5-5- Context
- 1M
- Max output
- 128K
- Per 1M tokens
- $2 in / $10 out
Everyday features at high volume where speed and cost matter.
-
Claude Haiku 5.5
claude-haiku-5-5- Context
- 1M
- Max output
- 128K
- Per 1M tokens
- $0.10 in / $0.50 out
For prompts up to 100K tokens; $0.50 input and $2.50 output per million beyond that.
Classification, routing, extraction and other small, latency-sensitive steps.
| Model | ID | Context | Max output | Per 1M tokens (in / out) | Good for |
|---|---|---|---|---|---|
| Claude Fable 5.1 | claude-fable-5-1 | 1M | 128K | $10 / $50 | The hardest reasoning and long-running agent work, where quality matters more than cost. |
| Claude Opus 5.5 | claude-opus-5-5 | 1M | 128K | $4 / $20 | The default for product features: complex tasks, agents and anything quality-sensitive. |
| Claude Sonnet 5.5 | claude-sonnet-5-5 | 1M | 128K | $2 / $10 | Everyday features at high volume where speed and cost matter. |
| Claude Haiku 5.5 | claude-haiku-5-5 | 1M | 128K | $0.10 / $0.50 For prompts up to 100K tokens; $0.50 input and $2.50 output per million beyond that. | Classification, routing, extraction and other small, latency-sensitive steps. |
First-party Claude API list prices, checked on October 17, 2026. Prices change: see the pricing page (opens in a new tab) and models overview (opens in a new tab) before budgeting. "Good for" is the wiki's recommendation, not a benchmark.
A decision guide
Show text descriptionHide text description
A sequence of yes-or-no questions, asked in order. A "yes" answer stops with the outcome shown; a "no" moves to the next question.
- Is this the hardest reasoning or a long-running agent task where quality matters most? If yes: Start with the most capable tier, and measure whether it earns its cost.
- Is it a simple, high-volume step such as classification, routing or extraction? If yes: Try the smallest, fastest model, and verify on your eval set.
- Is it high volume with moderate difficulty, where speed and cost matter? If yes: Compare the mid tier with the default at low effort on your evals.
If the answer to every question is no: Use the default model at a sensible effort, prove the feature works, then optimize.
Then follow the process in choosing a model: lower the effort before switching models, compare settings on your own eval cases, and rerun the comparison when models or prices change.
Effort in short
| Effort | Typical use |
|---|---|
low |
Classification, extraction, short rewrites, chat |
medium |
Most product features; a sensible starting point |
high and above |
Hard reasoning, complex code, long agent tasks |
Set it per request with output_config: { effort }. Thinking tokens count towards max_tokens and are billed as output, so leave headroom in max_tokens on models that think by default.
Stop reasons
Every response says how it ended. Handle every value; the error, refusal and empty states article has a typed table for the interface.
| stop_reason | Meaning | What to do |
|---|---|---|
end_turn | The model finished its answer. | Show the answer as complete. |
max_tokens | The answer hit the max_tokens limit and is cut off. | Label it as cut off; offer a shorter answer or Continue. Never run a tool call from it. |
stop_sequence | The model produced one of your custom stop sequences. | Treat as complete if you set the stop sequence on purpose. |
tool_use | The model wants you to run a tool and send back the result. | Validate the input, run the tool (with approval if risky) and send all results back. |
pause_turn | A long-running turn paused; send the response back to let it continue. | Send the response back unchanged so the model can continue. |
refusal | A safety classifier declined the request; stop_details says why. | Show a neutral message and a manual path; consider server-side fallback. |
model_context_window_exceeded | The conversation filled the context window, so the answer is cut off. | Treat like a cut-off answer; reduce context or split the task. |
compaction | Only with the compaction beta: the API returned a compacted summary of the conversation. | Only with the compaction beta: keep the compaction block in the history. |
Things to check before relying on a number
- Prices and limits change. Check the pricing page (opens in a new tab) and models overview (opens in a new tab) before budgeting.
- Benchmarks don’t predict your task. Compare on your own eval cases.
- Features vary by model and platform. Check the docs for the specific feature you need, such as server-side fallback, compaction or citations.