Opus 5.5 costs less and answers old agent code with 400s

Claude Opus 5.5 went live on September 22 at $4 per million input tokens and $20 per million output tokens. Opus 5 charged $5 and $25. The 1 million-token context window and the 128,000-token output ceiling stay the same. The catch is that changing the model ID isn’t the whole upgrade. Anthropic’s migration guide lists four breaking changes that make requests written for Opus 5 come back as 400 errors, plus several more that change how an agent behaves without returning any error, as The New Stack laid out.
Effort is the only dial
Opus 5 already went part of the way. It ran adaptive thinking by default, and code that set thinking: {type: "enabled"} with a token budget didn’t carry over from earlier models. Opus 5.5 removes the rest. A request that sets thinking to disabled, or to enabled with budget_tokens, gets a 400. Agents that turned thinking off on simple steps to save time and tokens now have to give those steps a lower effort level. And because thinking always runs, every response starts with thinking blocks, so any parser that treats the first content block as text breaks as well.
The default changed too. Effort is medium on Opus 5.5, down from high on Opus 5, so a request that leaves out the parameter now runs at a lower setting with nothing to tell you so. Anthropic says to set effort explicitly and re-run your effort evaluations, because the right level for each step may have moved along with cost and latency.
No forced tool calls
Setting tool_choice to any or tool returns a 400. That includes the token counting endpoint, so a cost estimate built on those settings fails along with the request it was supposed to price. Many agent loops force a tool call when a step has to query a database, run code or reach another service. Anthropic’s replacement is auto combined with strict tool use or structured outputs, with the prompt stating when the tool applies.
Thinking blocks with an owner
Thinking blocks now belong to the model and the conversation that produced them. On the Claude API, Fable 5.1 and Mythos 5.1 are the only other models that can read Opus 5.5 thinking blocks. If a router or fallback hands the conversation to any other model, nothing errors out. Those turns just run without the earlier reasoning. In the other direction, Opus 5.5 can read blocks from Opus 5 and from earlier Opus, Sonnet and Haiku models, but not from Fable or Mythos.
The conversation also has to stay append-only. Trimming old messages, changing tool definitions, summarizing earlier context on the client side or rewriting the system prompt mid-conversation all invalidate existing thinking blocks. That is the same binding that already makes Fable 5.1 reject edited history. For accounts created on or after midnight UTC on August 31, 2026, replaying a thinking block after one of those edits returns a 400 by default. Older accounts get no error, but the invalid blocks still reach the model, and Anthropic says future models will enforce the check for all accounts. Integrations that never touch earlier turns need no code change. Anthropic says Claude Code, claude.ai, Claude Managed Agents and the Claude Agent SDK already work this way. Agents that compact their own context are pointed to the preserved thinking documentation.
Computer use on a new toolset
On the Claude API and Google Cloud, Opus 5.5 rejects the computer_20251124 tool and accepts computer use only through computer_toolset_20260801. The request gets simpler: the beta header is gone, and the toolset entry takes no name or display dimensions. The agent loop needs more work. Each action now arrives as its own tool_use block, identified by the block’s name rather than input.action. A single turn can contain several of these blocks, and every result has to echo toolset_name. The older tool still works on Amazon Bedrock. For other platforms, Anthropic points to the computer use tool’s compatibility documentation.
What breaks quietly
On Opus 5, the text Claude writes between tool calls comes back as text blocks. On Opus 5.5 that narration arrives as progress-update thinking blocks, and at the default thinking.display setting of omitted those blocks are empty. An interface that streams the narration to users goes silent between tool calls. To fix it, set display to updates, a beta option that returns progress updates while keeping the reasoning hidden, or to summarized, which returns both. Then render each non-empty thinking block before the tool call it precedes. Next to this, the four 400s are the easy kind of breakage: at least they show up in the logs.
The safety classifiers are also broader. A response can stop with a stop_reason of refusal, and the stop_details categories now include bio and reasoning_extraction alongside cyber. Anthropic’s server-side fallback won’t retry requests declined under reasoning_extraction and hands the refusal straight back to the application. An agent that doesn’t handle refusals stops mid-task.
Teams on Opus 4.8 have to finish the Opus 5 migration first, before applying any of this. Teams on Opus 4.7 or earlier have more to cover. Below Opus 4.7, sampling parameters and manual extended thinking get rejected, prefill is removed, and the tokenizer is newer. Claude Managed Agents users only need to change the model name. In Claude Code, /claude-api migrate applies the model ID swap, parameter changes, prefill replacement and effort calibration across a codebase, then gives you a checklist of items to verify by hand. Anthropic recommends running it in a development environment before production traffic moves.
Up next
Amazon’s new plugin runs a seller’s store from Claude
Amazon opened its seller tools to Claude, with a plugin that checks inventory, adjusts prices and updates listings outside Seller Central. Setup takes about 60 seconds, and every action still waits for the seller’s approval.
Related stories
Comments
No comments yet. Be the first.
Join the conversation
Sign in to leave a comment. It appears after moderation.

