# Claude Model Selection & Tradeoffs

> Match the model tier to the task, not the other way round: Haiku for high-volume, straightforward work at the lowest cost/latency; Sonnet for the best speed/intelligence balance; Opus for complex, long-horizon agentic work; Fable as the highest-capability, slowest tier for work none of the other three can cover. Tune the effort parameter before switching tiers, and never assume a newer release is a drop-in swap - migrations carry breaking changes.

**Domain:** CCDVF-D5 · Model Selection & Optimization (16.8% of the exam)
**Canonical:** https://claudearchitectcertification.com/concepts/model-selection-tradeoffs
**Last reviewed:** 2026-05-04

## Quick stats

- **Production model tiers:** 4 (Haiku / Sonnet / Opus / Fable)
- **Opus 4.8 price (in/out per MTok):** $5 / $25
- **Haiku 4.5 price (in/out per MTok):** $1 / $5
- **Context window (Opus/Sonnet/Fable):** 1M tokens
- **Adaptive thinking on Haiku 4.5:** Not supported

## What it is

Model selection is the API-level decision of which model ID to send to POST /v1/messages, balancing three axes: capability, latency, and cost per token. The production tiers are Opus (claude-opus-4-8) for complex agentic coding and enterprise work, Sonnet (claude-sonnet-5) for the best speed/intelligence balance, Haiku (claude-haiku-4-5) as the fastest, cheapest tier with near-frontier reasoning, and Fable 5 as the highest-capability, slower tier. Since Claude 4.6, model IDs are dateless but still pinned snapshots - not evergreen pointers, so a deployed app never silently changes model behavior underneath it.

Anthropic's recommended selection method is benchmark evals on your actual prompts and data, not intuition - start at the cheapest tier that plausibly covers the task, and upgrade only on a measured capability gap. Capabilities and token limits are also queryable programmatically via the Models API (max_input_tokens, max_tokens, capabilities), so a system can select or validate a model choice at run time rather than hard-coding assumptions.

## How it works

Pricing and context. Per MTok (input/output): Opus 4.8 = $5/$25, Sonnet 5 = $3/$15 ($2/$10 introductory through 2026-08-31), Haiku 4.5 = $1/$5, Fable 5 = $10/$50. Context and output ceilings split the same way: Opus 4.8, Sonnet 5, and Fable 5 support a 1M-token context window with 128k max output; Haiku 4.5 is scoped to 200k context and 64k max output.

Latency ranks in the same order as capability, inverted: Haiku is fastest, then Sonnet, then Opus, then Fable slowest. This is the core tradeoff triangle the exam tests - you cannot maximize capability, latency, and cost simultaneously, so the architecture has to state which two matter more for the task at hand.

Adaptive thinking (thinking: {type: "adaptive"}) is supported on Opus 4.8, Sonnet 5, and Fable 5 (always-on on Fable); Haiku 4.5 does not support adaptive thinking, but supports extended thinking as an alternative. A task that genuinely needs adaptive thinking cannot be served by the cheapest tier - Sonnet 5 becomes the cheapest tier that qualifies.

The effort parameter (output_config.effort) trades intelligence for latency/cost within one model, and is often a better lever than switching tiers entirely. It defaults to high on Opus 4.8 and Sonnet 5; xhigh is recommended for most coding and agentic work. Tuning effort up or down inside a single model is cheaper to reason about and re-test than a full model migration.

Migrations are not drop-in swaps. Moving to Opus 4.7+, Sonnet 5, or Fable 5 removes manual extended thinking (thinking: {type: "enabled", budget_tokens: N} now returns a 400 - use adaptive thinking instead), rejects temperature/top_p/top_k sampling parameters, and 400s on assistant-turn prefills. Sonnet 5 also defaults adaptive thinking ON when thinking is omitted (Sonnet 4.6 ran thinking-off by default), and its newer tokenizer produces roughly 30% more tokens for identical text - shifting cost baselines even when the prompt hasn't changed. A separate research-preview fast mode gives up to 2.5x output speed at premium pricing on Opus 4.8/4.7 (Opus 4.7 fast mode is deprecated, removal 2026-07-24).

## Where you'll see it in production

### High-volume support classification

Haiku 4.5, often paired with the Batch API, for the lowest cost/latency on a straightforward, high-throughput task.

### Long-horizon autonomous coding agent

Opus 4.8 at high or xhigh effort during development; downgraded toward Sonnet or a lower effort setting once the workflow is proven stable, to control ongoing cost.

## Comparison

| Model | Best for | Price (in/out per MTok) | Context / max output | Adaptive thinking |
| --- | --- | --- | --- | --- |
| Haiku 4.5 | High-volume, straightforward tasks - fastest, cheapest | $1 / $5 | 200k / 64k | No (extended thinking instead) |
| Sonnet 5 | Best speed/intelligence balance - default workhorse | $3 / $15 ($2/$10 intro thru 2026-08-31) | 1M / 128k | Yes (default ON) |
| Opus 4.8 | Complex, long-horizon agentic and coding work | $5 / $25 | 1M / 128k | Yes |
| Fable 5 | Highest-capability tier, slower | $10 / $50 | 1M / 128k | Yes (always-on) |

## Decision tree

1. **Is the task high-volume and straightforward (classification, extraction, simple chat)?**
   - **Yes:** Start at Haiku 4.5 - lowest cost and latency; upgrade tier only on a measured capability gap.
   - **No:** Check the axes below; they combine independently.

2. **Is quality or latency underperforming inside the model already selected?**
   - **Yes:** Tune effort (e.g. raise to xhigh) before switching tiers - usually cheaper than a model upgrade.
   - **No:** Effort is already tuned appropriately for the task.

3. **Is the task a multi-hour autonomous agentic or coding workload?**
   - **Yes:** Opus 4.8 at high effort is a reasonable starting tier; downgrade once the workflow is proven stable.
   - **No:** Sonnet 5 covers most everyday production traffic.

4. **Does the task still underperform at Opus 4.8, high/xhigh effort, with adaptive thinking on?**
   - **Yes:** Fable 5 is the remaining, highest-capability tier - slower and pricier, reserved for work the other three tiers measurably can't cover.
   - **No:** Stay on Opus 4.8 or below - Fable's cost/latency premium isn't earned without a demonstrated capability gap.

5. **Are you adopting a newer model release on an existing integration?**
   - **Yes:** Treat it as a migration, not a swap - check for removed manual extended-thinking params, rejected sampling params, prefill 400s, and tokenizer-driven token-count shifts before rollout.
   - **No:** No migration risk to account for.

## Exam-pattern questions

### Q1. A high-volume classification endpoint currently on Opus is too expensive to run at scale. What's the recommended first move?

Benchmark the actual prompts/data against a cheaper tier (Haiku or Sonnet) before committing to a downgrade. The distractor is "add more prompt caching without ever testing a cheaper model" - caching reduces repeated-context cost but doesn't address the base per-call cost gap a smaller tier would close.

### Q2. After migrating from Sonnet 4.6 to Sonnet 5, a call using thinking: {type: "enabled", budget_tokens: 4000} now returns a 400 error. What changed?

Manual extended thinking is removed on the newer model - it requires adaptive thinking instead (thinking: {type: "adaptive"}). The distractor is "the budget_tokens value was set too low" - the parameter itself is rejected on the newer model, not the value inside it.

### Q3. An agent's output quality is inconsistent under time pressure, currently running Sonnet 5 at default settings. Before upgrading to Opus, what should be tried?

Raise output_config.effort toward xhigh within the current model - it trades cost/latency for intelligence without a full tier change. The distractor is "immediately upgrade to Opus 4.8" - that's the more expensive lever and skips the cheaper, faster-to-test one.

### Q4. A task requires adaptive thinking, but the team wants the cheapest tier that supports it. Which model?

Sonnet 5 - Haiku 4.5 does not support adaptive thinking (it supports extended thinking instead), so Sonnet 5 is the cheapest qualifying tier. The distractor is "enable adaptive thinking on Haiku 4.5 with a config flag" - no such flag exists; the capability is architecturally absent on that tier.

### Q5. After migrating to Sonnet 5, token costs rose roughly 30% for prompts that are textually identical to before. What's the likely cause?

The newer tokenizer produces more tokens for the same text, shifting the cost baseline independent of any prompt change. The distractor is "a prompt-caching regression, since caching prices didn't change" - caching pricing is unrelated; the token *count* itself grew, not the per-token cache rate.

## FAQ

### Q1. Is a bigger, more capable model always the better choice?

No. Benchmark on your actual data and start at the cheapest tier that plausibly covers the task; tune the effort parameter within a model before upgrading to a larger, pricier tier.

### Q2. Do model IDs update automatically to the newest version over time?

No. Since Claude 4.6, model IDs are dateless but still pinned snapshots, not evergreen pointers - adopting a new release requires explicitly re-pinning the ID and re-testing for breaking changes, not a silent auto-upgrade.

---

**Source:** https://claudearchitectcertification.com/concepts/model-selection-tradeoffs
**Last reviewed:** 2026-05-04

**Evidence tiers**, 🟢 official Anthropic doc / API contract · 🟡 partial doc / inferred · 🟠 community-derived · 🔴 disputed.
