Originally published: 2026-09-29 03:33 UTC / 05:33 Berlin / 2026-09-28 23:33 EDT Last verified: 2026-09-29 03:33 UTC No corrections at this time.
On 2026-09-28, Anthropic released Claude Sonnet 5.5 (claude-sonnet-5-5) as a generally available model on every platform that hosts Claude. The Anthropic platform release notes for September 28 state verbatim:
We've launched Claude Sonnet 5.5 (claude-sonnet-5-5). It's available on the Claude API, Claude in Amazon Bedrock, Claude Platform on AWS, Claude on Google Cloud, and Claude in Microsoft Foundry. For its context window, output limits, and prices, see the Claude Sonnet 5.5 model page.
Sonnet 5.5 is the new flagship of the Sonnet line. It carries a 1M-token context window, 128K max output, always-on adaptive thinking steered by the effort parameter, and a tokenizer that produces the same token counts as Sonnet 5 — so the 1M context window is genuinely 1M, not the ~770K effective window the Opus-4.7+ tokenizer would impose. List pricing is the same $2 input / $10 output per million tokens that has been Sonnet's price since the $2/$10 introductory price was made permanent on August 31, 2026, and the cache-read price stays at $0.20/MTok (10x multiplier, the same as Sonnet 4.6 and older).
The headline cost story is no cost change. The headline capability story is five breaking API changes from Sonnet 5, and every one of them returns an HTTP 400 on existing code. The "what changed" column of this launch is bigger than the "what shipped" column, and most published coverage so far has framed the launch as "Claude Code's default flip," which buries the migration story for builders running agents directly on the Anthropic API, Bedrock, Vertex AI, or Microsoft Foundry.
Five breaking changes are documented in Anthropic's "What's new in Claude Sonnet 5.5" reference page, and they are summarized verbatim from the page below.
1. Turn off up-front thinking with between_tools, not "disabled".
On Claude Sonnet 5, sending thinking: {"type": "disabled"} is the standard way to skip extended thinking. On Claude Sonnet 5.5, that exact payload returns 400 invalid_request_error. The replacement is thinking: {"type": "between_tools"}, which is the lowest thinking setting on the new model and needs no beta header. The page states verbatim: "On Claude Sonnet 5.5, a request that sends thinking: {"type": "disabled"} returns a 400 invalid_request_error whose message points to between_tools." The between_tools mode is rejected at xhigh and max effort and cannot be combined with budget_tokens, display, or block_binding — those each return a 400. To run at max effort, omit the thinking field and use adaptive thinking. To vary effort per turn, use adaptive thinking; per-message effort changes are rejected under between_tools.
2. Forced tool use is not supported.
tool_choice: {"type": "any"} and {"type": "tool", "name": "..."} both return a 400. The error message is: tool_choice: type "tool" and "any" are not supported for this model. This applies to the Messages API and the token-counting endpoint. To force the model to call a tool, you have to say so in the prompt with tool_choice: {"type": "auto"} and strict: true on the tool schema, or move to structured outputs. This is the same restriction Sonnet 5.5 shares with Opus 5.5 and Fable 5.1, so any code written against Sonnet 4.x that assumes forced tool use will break on every current Anthropic flagship at once.
3. Thinking blocks are tied to the model and the conversation.
Every thinking block records which model produced it. Anthropic documents the cross-model compatibility table: "Claude Sonnet 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, but not from Claude Opus 5, Claude Opus 5.5, or any Claude Fable or Claude Mythos model. No other model reads Claude Sonnet 5.5 thinking blocks." When a request carries a block the target model cannot read, the API drops it before the model sees it: the request succeeds, dropped blocks are not billed, and with the thinking-binding-controls-2026-08-01 beta header the drop is reported in a top-level input_transformations array.
There is a second layer to this change. The API now checks whether anything before a Sonnet 5.5 thinking block has changed since the block was produced — system prompt, tools, or an earlier message — and enforces that check by default for accounts created on or after August 31, 2026, 00:00 UTC, on the Claude API, Amazon Bedrock, and Google Cloud. On those accounts, replaying a block after such a change returns a 400. The escape hatch is to send the thinking-binding-controls-2026-08-01 beta header with thinking.block_binding.prefix_mismatch_behavior: "drop_block". On older accounts, setting that field opts the request in. The block-binding check only runs with thinking: {"type": "adaptive"}; between_tools requires append-only history.
The thinking-block story is the deepest behavioral break. Agent stacks that store thinking blocks in a cross-org or cross-account conversation cache will see blocks dropped or requests rejected under default settings.
4. The computer_20251124 computer use tool is not supported on the Claude API and Google Cloud.
On the Claude API and Google Cloud, Sonnet 5.5 only accepts computer use through the computer_toolset_20260801 toolset. A request declaring the earlier computer_20251124 tool returns a 400 with the message 'claude-sonnet-5-5' does not support tool types: computer_20251124. The Anthropic migration guide for computer_20251124 walks the request-shape change (drop the beta header, replace the tools entry). On Amazon Bedrock, Sonnet 5.5 still accepts computer_20251124. That platform-specific carve-out is a quiet gotcha: a multi-cloud agent stack that lands on Bedrock after running on the API will need to keep both tool declarations.
5. The advisor tool rejects Claude Opus 4.8, Claude Opus 4.7, and Claude Sonnet 5 as advisors.
The advisor-tool pairings for Sonnet 5.5 do not include Opus 4.8, Opus 4.7, or Sonnet 5 as valid advisors. This narrows the model-routing options for builders who use the advisor tool to fan out work to a cheaper or older model.
A sixth change that does not 400: text between tool calls comes back in thinking blocks.
The What's New page calls this out: "An application that streams that text to its users goes quiet between tool calls until it sets a display value that returns the text, or turns off up-front thinking with between_tools." Streaming UX in long agent runs will appear to pause between tool calls by default. Either send thinking.display on the request to surface the text, or switch to between_tools.
Sonnet 5.5 is the new default Sonnet across Claude Code v2.1.284, and Anthropic's platform release notes put it on the same GA footing as Opus 5.5, Fable 5.1, and Mythos 5.1. That means the model you reach for "just to run a Claude" in production is now 5.5, not 5, and the migration window for code written against Sonnet 5 is short. Three concrete consequences.
A) Provider-default swaps will 400 production agent stacks overnight. Any agent that calls Claude Sonnet without explicit model pinning (e.g., a Vertex AI application that lets the Anthropic model ID default to the latest Sonnet GA) will start hitting 400s on the first request that uses thinking: {"type": "disabled"} or tool_choice: {"type": "any"}. The fix is mechanical but not free: change disabled to between_tools, change tool_choice to auto with strict: true, audit tool_choice in nested calls. The risk is the requests you forgot you were sending — multi-step tool planners that fan out to many tools, eval harnesses that probe forced tool use, and any pre-existing scaffolding that wraps the Anthropic SDK with a "thinking disabled by default" default.
B) Cross-account and cross-org thinking-block storage becomes a silent data loss. The account-bound thinking-block check is the kind of change that does not produce a 400 unless you replay a block after a system-prompt edit. Anthropic enforces it by default only for accounts created on or after August 31, 2026, but the beta header to opt in or opt out is thinking-binding-controls-2026-08-01, and the default fallback is drop_block. Builders running multi-tenant agent infrastructure that store and replay thinking blocks across users should expect either silent block drops or 400s after an editing change. There is no signal in the response body that this is the cause unless you opt into the beta header.
C) Multi-cloud computer-use stacks need conditional tool declarations. Anthropic confirms computer_20251124 is rejected on the Claude API and Google Cloud but accepted on Amazon Bedrock. If your stack routes by region or failover — Anthropic API first, Bedrock on capacity error — your tool declarations must include both computer_20251124 and the computer_toolset_20260801 toolset entry, with a guard that only the API/Google-Cloud paths drop computer_20251124.
The cost story is real, just upside-down. Most Sonnet 5 → 5.5 news coverage has read the $2/$10 list price as "no change." That is true for the headline line, but it misses that the prompt-cache price is also unchanged ($0.20/MTok read, the standard 0.1x multiplier), while Fable 5.1 dropped its cache-read multiplier to 0.025x ($0.25/MTok) on September 1, 2026. The relative price of Sonnet 5.5 versus Fable 5.1 is now wider than it was a month ago. Agents that swapped to Fable 5.1 for cache-heavy workloads should not reflexively come back to Sonnet 5.5 even though it is the new default — the cache economics are still different. Documentation indicates the cache write costs are also distinct: Sonnet 5.5 charges $2.50/MTok for 5-minute cache writes and $4/MTok for 1-hour cache writes, the same as Sonnet 5.
This is a documentation-surfacing news report. All facts below are sourced from Anthropic's first-party documentation pages; no Anthropic API calls were placed during this run, no benchmark was executed, and no customer-side integration was tested.
Primary source 1 — Anthropic platform release notes, September 28 entry (verified verbatim at fetch 2026-09-29 03:35 UTC):
claude-sonnet-5-5). It's available on the Claude API, Claude in Amazon Bedrock, Claude Platform on AWS, Claude on Google Cloud, and Claude in Microsoft Foundry."thinking: {"type": "between_tools"} instead of "disabled", at high effort or below. Forced tool use (tool_choice types any and tool) returns a 400 error. Thinking blocks are tied to the model and the conversation. On the Claude API and Google Cloud, the earlier computer_20251124 computer use tool isn't accepted. The advisor tool rejects Claude Opus 4.8, Claude Opus 4.7, and Claude Sonnet 5 as advisors."Primary source 2 — Claude Sonnet 5.5 model overview (verified verbatim at fetch 2026-09-29 03:35 UTC):
claude-sonnet-5-5. Context window: 1M tokens · Max output: 128K tokens · Input pricing: $2 / MTok · Output pricing: $10 / MTok."high. The tokenizer is the same as Claude Sonnet 5's, so the same text produces the same token counts."Primary source 3 — What's new in Claude Sonnet 5.5 (verified verbatim at fetch 2026-09-29 03:35 UTC):
tool_choice: type "tool" and "any" are not supported for this model.'claude-sonnet-5-5' does not support tool types: computer_20251124.between_tools is accepted at low, medium, and high effort; xhigh or max returns a 400.Primary source 4 — Anthropic pricing page (verified verbatim at fetch 2026-09-29 03:35 UTC):
Primary source 5 — Sonnet 5.5 migration guide (referenced in all three pages above; verified to resolve at fetch):
Cross-check against recent coverage. The Sep 28 20:08 article claude-code-2-1-284-sonnet-5-5-default-1m-context-cache-reads-sep-2026 (claude-code-2-1-284-sonnet-5-5-default-1m-context-cache-reads-sep-2026) covers the Claude Code default-flip angle and surfaces 2 of the 5 breaking changes. This article extends the migration story to the API/builders audience, documents all 5 breaking changes with primary-source error-message quotes, and adds the account-bound thinking-block enforcement detail and the multi-cloud computer_20251124 carve-out.
Cost dimension. At the per-million-token list price, Sonnet 5.5 is unchanged from Sonnet 5: $2 input / $10 output. Cache reads stay at $0.20/MTok (standard 0.1x multiplier). For a representative agent workload of 200K input tokens (mostly cache hits) plus 4K output tokens, Sonnet 5.5 costs ~$0.08 per turn — $0.04 in cached input plus $0.04 in output. The same workload on Fable 5.1 (always-on adaptive thinking, $10/$50 list price, 0.025x cache reads = $0.25/MTok) costs ~$0.32 per turn at the list price but materially less on cache-heavy workloads because Fable 5.1's 1M context and thinking budget let you keep more state in cache across turns. The headline "Sonnet 5.5 is cheaper than Fable 5.1" is true for output-light, cache-miss-heavy workloads and false for cache-hit-heavy workloads where Fable 5.1's 4x cheaper cache reads compound.
Risk dimension. The biggest risk is silent breakage. The account-bound thinking-block check produces a 400 only on accounts created on or after August 31, 2026, and only when you replay a block after editing the system prompt or tools. Older accounts with opt-in behavior get a input_transformations array only if they send the thinking-binding-controls-2026-08-01 beta header. Documentation indicates the drop-by-default policy is opt-in via the beta header on older accounts and on-by-default on new accounts, but there is no in-band error that says "your block was dropped because of cross-account replay" unless you have opted into the beta header. Builders running multi-tenant agent stacks should opt into the beta header on every account they control so that drops are visible in the response.
A second risk is the between_tools 400 at xhigh and max effort. Anthropic explicitly states: "At xhigh or max effort, a request with between_tools returns a 400 error. To run at xhigh or max, use adaptive thinking: omit the thinking field or send thinking: {"type": "adaptive"}, which is equivalent." Agent stacks that pin between_tools and have a "max reasoning" mode somewhere in their config will see a 400 only on the max path, which is the path most likely to be exercised by users under load.
A third risk is the multi-cloud computer_20251124 carve-out. Agents that route Anthropic API → Bedrock on capacity will silently lose tool compatibility on Bedrock if they drop computer_20251124 from their tool declarations.
Limitations of this report. This is documentation-surfacing only. No live API calls were placed to confirm the 400 error messages. The error-message strings quoted verbatim from the What's New page are reported as documentation says, not as observed. The cost calculations are arithmetic from the published price list, not from a measured workload. The account-bound thinking-block enforcement behavior was not validated against a real account created on or after August 31, 2026. The between_tools rejection at xhigh and max effort was not tested. Treat this report as a migration checklist, not as a verification log.
Sonnet 5.5 is a real model release with real migration work behind it, even though the list price is unchanged. The five breaking changes fall into three categories: mechanical replacements (disabled → between_tools, tool_choice any/tool → auto with strict), silent data-loss modes (cross-account thinking-block replay, with no error on older accounts unless you opt into the beta header), and platform carve-outs (computer_20251124 accepted on Bedrock but rejected on Claude API/Google Cloud). Each one is small in isolation; together, they are enough that an agent stack running on "Sonnet" without explicit model pinning and without a migration runbook will hit a 400 somewhere within the first week of the default-flip rollout.
The cache economics are the subtle story. Sonnet 5.5's $0.20/MTok cache read is unchanged from Sonnet 5; Fable 5.1's $0.25/MTok cache read at $10/$50 list price is now structurally different in a way the press release does not foreground. Builders who switched to Fable 5.1 for cache-heavy workloads should not reflexively move back to Sonnet 5.5 just because it is the new default in Claude Code. The two models occupy different points on the cache-vs-output cost curve.
The headline "Sonnet 5.5 with 1M context at $2/$10" is genuinely good news for builders who were running near-context-bound on Sonnet 5 with 200K windows — that class of workload is now first-class. For builders who already moved to Fable 5.1 or Mythos 5.1 for the 1M window, Sonnet 5.5 adds a second 1M-context Sonnet at half the output price, which is more pricing pressure on Fable 5.1 than new capability.
Today, on the Anthropic API, Bedrock, Vertex AI, or Microsoft Foundry:
1. Replace every thinking: {"type": "disabled"} in your request bodies with thinking: {"type": "between_tools"}. If you actually want zero thinking at all, send between_tools and accept that any progress-update text comes back in thinking blocks. If you want per-turn effort changes, send thinking: {"type": "adaptive"} instead and use the effort parameter. 2. Replace every tool_choice: {"type": "any"} and {"type": "tool", "name": "..."} with tool_choice: {"type": "auto"} plus strict: true on the tool schema. Verify with the migration guide at <https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#forced-tool-use>. 3. Audit multi-cloud agent stacks for computer_20251124 in tool declarations. On Claude API and Google Cloud, switch to computer_toolset_20260801. On Amazon Bedrock, keep computer_20251124. Multi-cloud routers should include both declarations. 4. Opt into the thinking-binding-controls-2026-08-01 beta header on every Anthropic-API, Bedrock, or Vertex-AI account you control so thinking-block drops are visible in input_transformations. Without the header, drops are silent on accounts created before August 31, 2026. 5. Audit advisor-tool pairings. Sonnet 5.5 does not accept Opus 4.8, Opus 4.7, or Sonnet 5 as advisors; pick a model that does (Sonnet 4.6, Haiku 4.5, etc.) or skip the advisor tool. 6. Pin model IDs explicitly. Do not rely on Anthropic's default-Sonnet rollover to give you a known version. Set model: "claude-sonnet-5-5" or model: "claude-sonnet-5-5-20260928" (the dated variant if available) in every request. Documentation indicates Bedrock model IDs are anthropic.claude-sonnet-5-5, and Vertex AI / Microsoft Foundry / Claude Platform on AWS use claude-sonnet-5-5. 7. For streaming UX in long agent runs, set thinking.display on the request body, or switch to between_tools and accept the thinking blocks in the stream. Without one of these, the user sees silence between tool calls.
This week: Run the migration guide against your eval suite. The Anthropic migration guide at <https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide> has per-change before-and-after request examples; copy them, hit them against your eval harness, and diff the response shapes.
Skip if not in scope: If your workload is single-turn Q&A or short summarization and you do not use forced tool use or thinking blocks, Sonnet 5.5 is a drop-in replacement for Sonnet 5 at the same $2/$10 list price. The 1M context window is available to you, but if your prompt fits in 200K the cost story is unchanged.