AI Development

Claude Sonnet 5.5: The Workhorse Tier, Effort Levels and Cost

October 14, 2026
13 min read
A sturdy wooden workbench with three hand tools of increasing size in soft daylight
Share:

On September 28, 2026, Anthropic released Claude Sonnet 5.5, the second model of the Claude 5.5 family, six days after Opus 5.5 and nine days before Haiku 5.5. List prices did not move: $2 input and $10 output per million tokens, the same as Sonnet 5. What changed is how much work each dollar buys, plus one new thinking setting you need to know about if you ever ran Sonnet with thinking off.

This is the middle tier, so the useful question is not whether it is good but when it beats the model above and the model below. Here are the verified model sheet, a three-way decision table, working code, migration notes from Sonnet 5 and the cost arithmetic. I checked prices and parameters against Anthropic’s launch page and docs on October 14, 2026; I did not run my own benchmarks.

1. The launch facts

Sonnet 5.5 is available on the Claude API, Amazon Bedrock, Google Cloud, Microsoft Foundry and Claude Platform on AWS. The docs list one model ID, claude-sonnet-5-5, with no date suffix. Anthropic calls it the best combination of speed and intelligence; the launch page says Sonnet 5.5 is strongest at well-scoped everyday tasks, while Opus 5.5 is built for complex work that needs careful judgment.

Two defaults matter before you write any code. Adaptive thinking is on by default, so your output tokens include reasoning unless you lower effort. And the default effort on the Claude API is high, while Opus 5.5 and Haiku 5.5 default to medium: a request that omits effort runs a level higher on Sonnet than on its siblings. Anthropic says Claude Code and its apps default to medium.

Model sheet

  • • Launch: September 28, 2026 — model ID claude-sonnet-5-5 (Bedrock: anthropic.claude-sonnet-5-5)
  • • Price: $2 input / $10 output per 1M tokens, unchanged from Sonnet 5; Batch API 50% off ($1 / $5)
  • • Cache: $2.50 five-minute write, $4 one-hour write, $0.10 read (half of Sonnet 5’s $0.20); minimum cacheable prompt 512 tokens (Sonnet 5: 1,024)
  • • Context 1M tokens, max output 128K (300K on the Batch API with the output-300k-2026-03-24 beta header); knowledge cutoff June 2026
  • • Thinking: adaptive, on by default; effort low, medium, high (API default), xhigh, max
  • • Same tokenizer as Sonnet 5; retirement not sooner than September 28, 2027

2. What actually improved vs Sonnet 5

Per-token prices are the same, so the gain is capability and efficiency. On Anthropic’s launch table, Terminal-Bench 4.0 goes from 10.3% on Sonnet 5 to 70.6% on Sonnet 5.5, CursorBench 4.0 from 34.1% to 55.5%, and OSWorld 2.1 (partial) from 57.0% to 80.1%. Anthropic also says output is 30%+ faster and that Sonnet 5.5 costs up to 30% less per task in its testing, because it needs fewer tokens.

There is a quieter saving: cache reads cost $0.10 per million tokens, half of what Sonnet 5 charged. On the Haiku 5.5 launch page, Anthropic says that halving lowers Sonnet 5.5’s cost on most agentic tasks by about 20%. The API side gained too: a 512-token minimum for caching, per-message effort changes (beta) and mid-conversation system messages, none of which Sonnet 5 has.

Three changes that matter

đź§ 

Capability

Terminal-Bench 4.0 from 10.3% to 70.6%, FrontierCode 1.1 from 42.4% to 52.1% (Xhigh). Vendor-reported.

đź’°

Cost per task

Same $2 / $10 list price, up to 30% less per task in Anthropic’s testing, and cache reads at $0.10.

🎚️

Thinking control

between_tools turns up-front thinking off, and effort levels are recalibrated: re-run your sweep.

Golden rule

Compare cost per completed task, not per token. Sonnet 5.5 costs half of Opus 5.5 per token, but Anthropic’s own measurement found Opus 5.5 at low effort solving about the same share of tasks as Sonnet 5.5 at its default, inside run-to-run noise, on one coding subset. Your own eval is the only answer that counts.

3. Evidence, with sources

Every benchmark below comes from the table on Anthropic’s launch page, so read it as vendor-reported and directional. According to the page, GDPval-AA and AA-Briefcase were run by Artificial Analysis on a pre-release deployment that had a structured-outputs bug (since fixed, with a small effect expected), and Anthropic ran the others. In the Sonnet 5.5 column, only the FrontierCode row names its effort level.

Against Opus 5.5 the pattern is consistent. Opus leads on seven of the eight rows, by small margins: 2.3 points on CursorBench 4.0, 3.2 on Humanity’s Last Exam with tools, 2 Elo on GDPval-AA. Sonnet 5.5 leads on Terminal-Bench 4.0, 70.6% against 66.4% at Opus’s Xhigh effort. Customer results are quoted by Anthropic and describe their own suites.

Vendor-reported and customer-reported

  • • Terminal-Bench 4.0: Sonnet 5.5 70.6%, Opus 5.5 66.4% (Xhigh), Sonnet 5 10.3% (Anthropic launch page)
  • • FrontierCode 1.1 Main: Sonnet 5.5 52.1% at Xhigh and 46.2% at Max, Opus 5.5 54.4%, Sonnet 5 42.4%
  • • CursorBench 4.0: 55.5% vs 57.8% Opus 5.5 vs 34.1% Sonnet 5; OSWorld 2.1 (partial): 80.1% vs 81.8% vs 57.0%
  • • GDPval-AA v2.1 (Elo, run by Artificial Analysis): 1844 vs 1846 Opus 5.5 vs 1449 Sonnet 5
  • • Balyasny Asset Management, customer-reported: about 121k tokens per answer on finance tasks, where Sonnet 5 used 497k

Read the fine print

These are Anthropic’s numbers, and partner quotes describe their suites, not yours. Anthropic’s Haiku 5.5 page lists slightly different Sonnet 5.5 figures for some rows (GDPval-AA 1840, OSWorld 2.1 offline subset 83.9%), so treat small gaps as noise. I have not run independent benchmarks.

4. Opus 5.5, Sonnet 5.5 or Haiku 5.5?

All three share a 1M-token context, 128K max output, a June 2026 knowledge cutoff and adaptive thinking. They differ in price, latency label and how much control you get over thinking. The table uses only values from Anthropic’s model pages and pricing docs; the benchmark row is vendor-reported.

Decision table

List prices per 1M tokens on October 14, 2026. Haiku 5.5 prices apply to prompts up to 100,000 tokens; above that it pays $0.50 / $2.50.

SpecOpus 5.5Sonnet 5.5Haiku 5.5
Model IDclaude-opus-5-5claude-sonnet-5-5claude-haiku-5-5
Input / output$4 / $20$2 / $10$0.10 / $0.50
Cache read$0.20$0.10$0.01
Latency (Anthropic label)ModerateFastFastest
ThinkingAdaptive, always onAdaptive; between_tools turns up-front thinking offAdaptive; disabled allowed at high or below
Default effort (API)mediumhighmedium
Terminal-Bench 4.066.4% (Xhigh)70.6%39.2%
Anthropic’s positioningComplex work needing careful judgmentWell-scoped everyday tasksHigh-volume, narrowly scoped work

Anthropic’s cost guide adds the one result I would anchor on, labelled internal and directional. On a SWE-bench Pro subset, Sonnet 5.5 at its default high solved 87.6% at $0.11 per solved task, and Opus 5.5 at low solved 87.4% at $0.12, which the guide calls inside run-to-run noise. Opus 5.5 at medium solved 92.8% at $0.22. Sonnet 5.5 at medium solved about 7 points fewer than at high, for about 59% of the cost per task (two runs each).

Pick by task shape

  • • Opus 5.5: complex, open-ended work that needs careful judgment, one long dependent chain, or any step where a mistake is expensive. Anthropic’s cost guide suggests it as the starting point for most agent workloads, at its default medium.
  • • Sonnet 5.5: well-scoped everyday tasks, tool-heavy agent loops, chat with tools, code generation and review where an eval at medium or high holds quality. I would test it first for well-scoped work because it costs half as much per token; Anthropic’s guide starts agent workloads from Opus 5.5, so run both.
  • • Haiku 5.5: high-volume, narrowly scoped, cost-sensitive steps with checkable outputs, such as classification, extraction, summarization or subagent lookups.

5. Effort levels and the quickstart

Effort is set in output_config.effort and needs no beta header. I will not repeat how the five levels work in general; what is specific to Sonnet 5.5 is below, followed by working code.

General effort mechanics

The ladder, the effort-versus-cost trade-off and the worker pattern are explained in the Haiku 5.5 post. Read: Claude Haiku 5.5 and effort levels

Sonnet 5.5 effort guidance (from Anthropic’s docs)

  • • Default: high on the Claude API, medium in Claude Code and the apps. Setting high explicitly is the same as omitting it. The levels are recalibrated, so a level is not the same amount of thinking as on Sonnet 5.
  • • low and medium: chat, latency-sensitive work, and well-specified agentic coding at medium. From medium up the model thinks briefly before almost every reply, even a greeting; low skips thinking on most simple requests.
  • • high: start here unless the work is agentic or latency-sensitive, and move agentic work up to it when tasks are harder or longer.
  • • xhigh and max: only where your evals show a gain; thinking and replies get much longer. Max scored below xhigh on FrontierCode in Anthropic’s table (46.2% vs 52.1%), which the footnote ties to out-of-scope changes and timeouts from subagent code review.
  • • between_tools turns off up-front thinking at low, medium or high. At xhigh or max that request returns a 400.

Below: a plain request with an explicit effort and a cached system prompt, then the between_tools form for code that used to send thinking disabled.

Plain request: effort and caching

Python SDK. Omit temperature, top_p and top_k (non-default values return a 400). Thinking counts toward max_tokens even when it is not returned.

import anthropic

client = anthropic.Anthropic()

# Stable instructions. Sonnet 5.5 caches prompts of 512+ tokens.
STABLE_RULES = "...your stable instructions, 512+ tokens..."

response = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=4096,                     # thinking counts toward max_tokens
    output_config={"effort": "medium"},  # the API default is "high"
    system=[
        {
            "type": "text",
            "text": STABLE_RULES,
            "cache_control": {"type": "ephemeral"},  # 5-minute cache by default
        }
    ],
    messages=[{"role": "user", "content": "Review this diff and list the risks: ..."}],
)

if response.stop_reason == "refusal":
    ...  # stop_details.category names the policy area
for block in response.content:  # a thinking block may come first
    if block.type == "text":
        print(block.text)
print(response.usage)  # cache_read_input_tokens, cache_creation_input_tokens, ...

Thinking off: between_tools

Replaces thinking disabled from Sonnet 5. It accepts no other field (display, budget_tokens and block_binding return a 400).

tools = [...]  # your tool definitions
messages = [{"role": "user", "content": "..."}]

# Sonnet 5 sent: thinking={"type": "disabled"}  -> now a 400 invalid_request_error
response = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=16000,
    thinking={"type": "between_tools"},  # up-front thinking off, no beta header
    output_config={"effort": "high"},    # low, medium or high; xhigh/max return a 400
    tools=tools,
    tool_choice={"type": "auto"},        # "any" and "tool" return a 400
    messages=messages,
)

# Short progress notes between tool calls still arrive as thinking blocks
# with summary text. Send the whole assistant turn back unchanged.
messages.append({"role": "assistant", "content": response.content})
# ...then run your tools and append the tool_result blocks as the next user turn.

With between_tools the model does not think before it answers. In a request without tools that means no reasoning step at all, and Anthropic’s prompting guide says to use adaptive thinking instead for tasks that need a few steps of working out, such as totaling figures or ranking items.

Caching and effort

Changing the top-level effort between requests invalidates cached prefixes, so pick one level per workload. If a conversation must change level, use the per-message effort change (beta header mid-conversation-output-config-2026-07-01), which keeps the cache. It needs adaptive thinking: with between_tools, a per-message effort that differs from the level in effect returns a 400.

6. Migrating from Sonnet 5

Swap the model string to claude-sonnet-5-5, then check six things. Anthropic’s migration guide lists five breaking changes and one change that alters the response shape without failing any request. Existing Sonnet 5 prompts should perform well unchanged, and with Claude Managed Agents only the model name changes. Effort levels are recalibrated, so re-run your sweep.

The six checks

Summary of Anthropic’s migration guide for Sonnet 5 to Sonnet 5.5.

# 1. thinking {"type": "disabled"}                -> 400
#    send {"type": "between_tools"} at high effort or below
# 2. tool_choice {"type": "any"} or {"type": "tool"} -> 400
#    send {"type": "auto"} and mark tools "strict": true (max 20 strict tools)
# 3. Thinking blocks are signed over the conversation:
#    keep history append-only, or replaying a block after an edit returns
#    a 400 (enforced by default on accounts created on or after 2026-08-31)
# 4. computer_20251124                              -> 400 on Claude API and
#    Google Cloud; use {"type": "computer_toolset_20260801"}
# 5. Advisor tool: Opus 4.8, Opus 4.7, Sonnet 5 and Haiku 5.5 advisors -> 400
# 6. Text between tool calls now arrives in thinking blocks, empty at the
#    default display ("omitted"): no error, but your UI goes quiet

The silent one is the sixth. Notes longer than a sentence or two between tool calls come back as progress-update thinking blocks, so a chat interface that renders only text blocks shows nothing during a long agentic turn. Fix it with between_tools, where the text comes back without any display field, or with adaptive thinking and display set to updates (beta, header thinking-display-updates-2026-08-18) or summarized.

7. The cost arithmetic

Every figure is a list price from Anthropic’s pricing page; the usage numbers are not mine. For the example I reuse the token counts Anthropic uses in its own worked example in the pricing docs, 50,000 input and 15,000 output tokens (it prices them on Opus 5.5), and run the same arithmetic on the other two tiers. Token cost only: I leave out the $0.08 session runtime in that Managed Agents example.

Output costs 5x input on all three tiers, and thinking tokens are billed as output. That is why effort, not the price list, is your main lever on Sonnet 5.5, and why a default of high deserves a deliberate check.

Unit costs and worked formulas

List prices on October 14, 2026, USD. N (reuses) and P (prefix tokens) are yours to fill in.

# 1M input + 1M output tokens
Opus 5.5   : 4.00 + 20.00 = $24.00
Sonnet 5.5 : 2.00 + 10.00 = $12.00   -> 24.00 / 12.00 = 2x
Haiku 5.5  : 0.10 +  0.50 =  $0.60   -> 12.00 / 0.60  = 20x (prompt <= 100k)

# one call: 50,000 input + 15,000 output tokens (Anthropic's pricing-docs example)
Opus 5.5   : 50,000 x 4 / 1M = 0.20     + 15,000 x 20 / 1M   = 0.30   = $0.50
Sonnet 5.5 : 50,000 x 2 / 1M = 0.10     + 15,000 x 10 / 1M   = 0.15   = $0.25
Haiku 5.5  : 50,000 x 0.10 / 1M = 0.005 + 15,000 x 0.50 / 1M = 0.0075 = $0.0125

# same call, 40,000 of the 50,000 input tokens are cache reads
Opus 5.5   : 0.04  + 40,000 x 0.20 / 1M = 0.008  + 0.30   = $0.348
Sonnet 5.5 : 0.02  + 40,000 x 0.10 / 1M = 0.004  + 0.15   = $0.174
Haiku 5.5  : 0.001 + 40,000 x 0.01 / 1M = 0.0004 + 0.0075 = $0.0089

# a static prefix of P tokens sent N times, 5-minute cache, Sonnet 5.5
no cache : N x P x 2.00 / 1M
cached   : (P x 2.50 + (N - 1) x P x 0.10) / 1M
per 1M prefix tokens: N=1 -> $2.00 vs $2.50 | N=2 -> $4.00 vs $2.60 | N=10 -> $20.00 vs $3.40

Three ways the arithmetic can mislead

  • • The cache read price is inconsistent across Anthropic’s pages. The pricing page, model page and migration guide say $0.10; the Sonnet 5.5 launch page table says $0.20, while the Haiku 5.5 launch page says it was halved from $0.20. I use $0.10. At $0.20 the example above moves by $0.004 per call. Check your invoice.
  • • Caching only pays after reuse: a five-minute write costs 1.25x the base input price, so a prefix used once costs more cached ($2.50) than uncached ($2.00) per million tokens. The example also ignores the write that created the cache.
  • • Thinking is billed at $10 per million as output, so the same request can cost far more at high than at low. Anthropic measured Sonnet 5.5 at medium at about 59% of the cost per task of high on one subset, with about 7 points fewer solved.

8. Honest limits: when not to use Sonnet 5.5

Anthropic’s prompting guide for 5.5 is blunt about where the model needs help. For the hardest long-horizon work it says an Opus model is the better choice, and its own numbers show Opus ahead on most rows.

Where Sonnet 5.5 bites

  • • Complex, open-ended work: Opus 5.5 leads seven of eight rows on Anthropic’s table, and Anthropic positions Sonnet 5.5 for well-scoped everyday tasks.
  • • Low and medium effort on long agentic tasks: more likely to stop and check in before finishing, and at low it sometimes reports a change as done without running a real check. Anthropic gives system-prompt text for both cases.
  • • No thinking, no working out: with between_tools in a request without tools, the model answers without thinking first, and accuracy on JSON answers that need a few steps of work is lower. Use adaptive thinking there.
  • • No forced tool use: tool_choice any or tool returns a 400, so a tool call is no longer guaranteed. Use auto plus strict tools and say in the prompt when the tool applies.
  • • Refusals: five stop_details categories (cyber, bio, frontier_llm, reasoning_extraction, general_harms), and server-side fallback (beta) retries only cyber and frontier_llm declines on Sonnet 5. Handle stop_reason refusal in your client.

When the bigger or smaller tier is the right call

Move up to Opus 5.5 when the work is one long dependent chain, a wrong step is expensive, or your eval at high still misses. Move down to Haiku 5.5 for narrow, high-volume steps with checkable outputs. Anthropic’s cost guide says to sweep effort on one model before adding a second.

9. What to do this week

Do not switch everything because of a price list. Pick one real workload, run it on Sonnet 5.5 and on your current model, and compare cost per completed task.

Rollout checklist

  1. 1. In staging, set the model to claude-sonnet-5-5 and fix thinking disabled, forced tool_choice, computer_20251124 and retired advisor pairings before the first request.
  2. 2. Run your eval at low, medium and high, because the levels are recalibrated, and log output tokens, latency and pass rate per level.
  3. 3. Keep one effort level per workload (per-message effort if one conversation must change level), and cache a stable prefix of at least 512 tokens only where it will be reused.
  4. 4. Read content blocks by type, pass thinking blocks back unchanged, keep history append-only and handle stop_reason refusal.
  5. 5. Compare against Opus 5.5 on your hardest tenth of tasks, and against Haiku 5.5 on narrow steps, per completed task.

Offline work: Batch API

The Batch API takes 50% off input and output: $1 / $5 per 1M tokens on Sonnet 5.5, against $2 / $10 on Opus 5.5 and $0.05 / $0.25 on Haiku 5.5 for prompts up to 100k. For nightly evals and backfills that do not need an answer in seconds, it is the cheapest path on the price list.

Verdict

Sonnet 5.5 is the tier I would test first for everyday agent and coding work: the same $2 / $10 as Sonnet 5, far better on Anthropic’s numbers, cache reads at half price and a thinking setting that finally lets you turn up-front reasoning off. Opus 5.5 still leads most rows by small margins at double the price, and Haiku 5.5 is the cheaper worker for narrow steps.

The catches are real but small: between_tools replaces disabled, forced tool use is gone, and the default effort is high. Choose by cost per completed task on your own hardest cases, keep one effort level per workload, and re-run the sweep instead of carrying settings over.

Sources for this post

Primary sources (Anthropic)

  • • Anthropic launch page: Claude Sonnet 5.5 (Sep 28, 2026)
  • • Claude docs: Sonnet 5.5 overview, what’s new, migration guide
  • • Claude docs: Effort, Prompting Claude Sonnet 5.5
  • • Claude docs: Pricing, Prompt caching
  • • Claude docs: Optimizing for cost and intelligence
Diego Rodriguez

Diego Rodriguez

Senior Full-Stack & AI Engineer

Diego has 10+ years of experience building production-grade AI-powered applications, from LLM orchestration and RAG pipelines to ML-driven risk detection and algorithmic trading systems.

Learn more about Diego →