# Claude Sonnet 5.5 migration: what breaks when you swap the model name from Sonnet 5, and how to fix it

> Source: <https://theainewsreport.com/2026-09-28-claude-sonnet-5-5-migration-breaking-changes.html>
> Published: 2026-09-28 19:23:23+00:00

# Claude Sonnet 5.5 migration: what breaks when you swap the model name from Sonnet 5, and how to fix it

Anthropic released Claude Sonnet 5.5 on September 28 at Sonnet 5's price, and says it is faster and cheaper per task. The launch page reads like a drop-in upgrade. The developer docs say otherwise: several request settings that worked on Sonnet 5 now return an error, one change fails with no error at all, and every effort level means something new. This page collects them in one place.

**This explains reporting by**

[Anthropic, Introducing Claude Sonnet 5.5 (September 28, 2026)](https://www.anthropic.com/claude-sonnet-5-5).
Read the original first:

[https://www.anthropic.com/claude-sonnet-5-5](https://www.anthropic.com/claude-sonnet-5-5)

## In one minute

- Claude Sonnet 5.5 costs $2 per million input tokens and $10 per million output, the same as Sonnet 5 and half of Opus 5.5 at $4 and $20. It has a 1 million token context window and 128,000 tokens of output.
- It is not a pure name swap. Forced tool calls (tool_choice of "any" or "tool") and thinking set to "disabled" now return a 400 error on Sonnet 5.5.
- One change fails silently: longer notes the model writes between tool calls now arrive as thinking blocks, which are empty by default, so a chat window that shows only text goes quiet.
- Effort levels were recalibrated. The API defaults to high, while Claude Code and Anthropic's apps default to medium. Re-test your setting rather than carrying it over.
- Anthropic's speed and cost-per-task claims come from its own testing. No independent results were public at publish time.

## What Anthropic shipped

Anthropic calls Sonnet 5.5 a faster, lower-cost complement to Opus 5.5. The model ID is claude-sonnet-5-5, with no date suffix, and it is available on the Claude Platform, Amazon Web Services, Google Cloud and Microsoft Azure.

List prices, per million tokens: $2 input, $10 output, $0.20 for cache reads and $2.50 for cache writes. That matches Sonnet 5. Anthropic's pricing page says Sonnet 5's launch price, first sold as introductory pricing through August 31, is now standard, and the planned September 1 increase to $3 and $15 will not occur.

Anthropic's own numbers: 70.6 percent on Terminal-Bench 4.0 against 10.3 percent for Sonnet 5, 55.5 percent on CursorBench 4.0 against 34.1, and a GDPval-AA score two points below Opus 5.5. It says output comes 30 percent or more faster and a task costs up to 30 percent less than on Sonnet 5, because the model needs fewer tokens.

Anthropic is also plain about the limit: Opus 5.5 "remains clearly stronger at complex, open-ended work."

## Settings that now return a 400 error

These are the ones most likely to bite a working Sonnet 5 integration. Each one fails loudly, which is the good news: you will see it in your logs the first time you run it.

- Forced tool use. A tool_choice of type "any" or "tool" is rejected, including on the token counting endpoint. The fix is tool_choice "auto" with the tool marked strict: true, plus a line in the prompt that says when to call it. On Amazon Bedrock, strict tools are not available for this model, so send "auto" and validate the tool input in your own code.
- Thinking turned off. thinking: {"type": "disabled"} returns a 400 invalid_request_error. The replacement is thinking: {"type": "between_tools"}, the lowest setting.
- between_tools at the top effort levels. It works at low, medium and high effort only. At xhigh or max it returns a 400 error, and it cannot be combined with display, budget_tokens or block_binding.
- Computer use on the Claude API and Google Cloud. computer_20251124 now fails there; send the computer_toolset_20260801 toolset, and drop the fine-grained-tool-streaming-2025-05-14 beta header, which errors next to a toolset.
- Edited history on newer accounts. For accounts created on or after August 31, 2026, replaying a Sonnet 5.5 thinking block after editing earlier messages returns a 400 error. Keep conversations append-only.

```
# Sonnet 5: forced call, no thinking
"tool_choice": {"type": "tool", "name": "record_ticket"},
"thinking": {"type": "disabled"}

# Sonnet 5.5: let the model choose, keep input strict
"tool_choice": {"type": "auto"},
"tools": [{"name": "record_ticket", "strict": true, ...}],
"thinking": {"type": "between_tools"}
```

## The change that fails quietly

On Sonnet 5, everything the model wrote between tool calls came back as text blocks. On Sonnet 5.5, notes longer than a sentence or two come back as progress-update thinking blocks, and those are empty at the default display setting. No request fails. The user just sees nothing during a long agent turn.

Two fixes, from Anthropic's docs. With adaptive thinking, set display to "updates" (a beta that needs the thinking-display-updates-2026-08-18 header). With between_tools, the notes come back with their summary text and need no display field. Either way, read every response by block type, because the first block may not be text.

## Effort now means something different

Effort is the setting that controls how much the model thinks, and with it cost and speed. Sonnet 5.5 has five levels: low, medium, high, xhigh and max. Anthropic says the levels are recalibrated, so high on Sonnet 5.5 does not produce the same amount of thinking as high on Sonnet 5.

The defaults also differ by surface. The API defaults to high. Claude Code and Anthropic's apps default to medium. So the same prompt can cost more through the API than it did in your Claude Code test.

Anthropic's starting advice: medium for well-specified agent and coding tasks, high for harder ones, medium or low for chat. It also warns that at low and medium the model is more likely to stop and check in before a long task is done, and at low it can skip running your tests. Changing the top-level effort between requests also throws away the prompt cache.

## The price math

At list prices, Sonnet 5.5 input costs half of Opus 5.5 ($2 against $4) and double Haiku 4.5 ($2 against $1). Output follows the same pattern: $10 against $20 and $5.

- A job that reads 50,000 tokens and writes 5,000 costs about $0.15 on Sonnet 5.5, $0.30 on Opus 5.5 and $0.075 on Haiku 4.5, before caching.
- The minimum prompt that can be cached drops to 512 tokens, from 1,024 on Sonnet 5, so shorter system prompts can now get the 90 percent cache-read discount.

List price is not the whole bill. Thinking tokens are billed as output, and the effort level decides how many you pay for. That is why Anthropic's 30 percent per-task saving depends on the effort you run, and why your own test beats any vendor number.

## More refusal categories

Sonnet 5.5 declines in more categories than Sonnet 5. A decline comes back as a normal response with stop_reason "refusal" and a category: cyber, bio, frontier_llm, reasoning_extraction or general_harms. Anthropic notes that benign work can trigger general_harms.

A beta server-side fallback on the Claude API retries cyber and frontier_llm declines on Sonnet 5, but not the other three. If your prompts ask the model to write out its reasoning in the reply, remove that line, because it invites reasoning_extraction declines.

## Who is affected

| Case | Status | 
|---|---|
| Apps that force a tool call to get structured output | Break. Move to tool_choice auto plus strict tools, or structured outputs. | 
| Integrations that run with thinking disabled | Break. Send between_tools at high effort or below. | 
| Chat UIs that render only text blocks during agent runs | Go quiet with no error. Render thinking blocks or set display to updates. | 
| Computer use on the Claude API or Google Cloud | Break on computer_20251124. Move to computer_toolset_20260801. | 
| Simple chat with no tools, default settings | Should work after the model ID change. Re-check effort and cost. | 
| Claude Managed Agents users | Anthropic says only the model name needs to change. | 

## What to do

- Search your code for tool_choice with type "any" or "tool", and for thinking type "disabled". Fix both before you switch.
- Run your five most common requests on Sonnet 5.5 at medium and at high effort. Compare quality, latency and the token count on each.
- If users watch an agent work, confirm they still see progress notes on the new model.
- Treat any response with stop_reason "max_tokens" as failed, even if the text holds valid JSON, and set max_tokens with room for thinking.
- In Claude Code, Anthropic's bundled skill can do the mechanical part: /claude-api migrate this project to claude-sonnet-5-5.

## What is still unknown

- Every benchmark and the "up to 30 percent less per task" figure come from Anthropic's own testing. No independent evaluation was public when this page went up.
- The jump on Terminal-Bench 4.0, from 10.3 to 70.6 percent, is very large. Anthropic does not explain it on the launch page.
- Anthropic does not say on the launch page which Claude app plans get Sonnet 5.5 or whether it is the default model there.
- How the recalibrated effort levels compare to Sonnet 5 in token counts is not published. Only your own test answers that.

## Sources

[AI News Report](https://theainewsreport.com/)· every headline, every morning.
