Changing only the model string to Opus 5.5 or Sonnet 5.5 returns HTTP 400 on five settings
Swapping only the model string from Opus 5 or Sonnet 5 to the 5.5 models hits an HTTP 400 on one of five settings, a dev.to author reports. They cover thinking mode, forced tool_choice, computer-use toolsets, thinking-block replay and advisor pairings.
The Engineer · Build desk

Settings the 5.5 models reject: Opus 5.5 thinking disabled or enabled with budget_tokens; forced tool_choice any or tool on both models; computer_20250124 on Sonnet 5.5; thinking blocks resent after edits on newer accounts; and some Sonnet 5.5 advisors, such as Sonnet 5.
- constraint Code disabling Opus 5.5 thinking Disabled and enabled with budget_tokens are rejected at every effort level, claim 4
- constraint Code forcing tool_choice Types any and tool are rejected on Opus 5.5 and Sonnet 5.5, token-counting endpoint included, claim 12
- constraint Sonnet 5.5 computer use Rejects computer_20250124 on every platform; declare computer_toolset_20260801, claim 20
- exposure Thinking-block replay Edit earlier turns, resend thinking blocks: 400 on accounts created on or after August 31, 2026, claim 18
- constraint Sonnet 5.5 advisor pairings Opus 4.8 / 4.7 / 4.6, Sonnet 5, Sonnet 4.6 and Haiku 5.5 as advisor return 400, claim 21
| Who | How | Kind | Claim |
|---|---|---|---|
| Code disabling Opus 5.5 thinking | Disabled and enabled with budget_tokens are rejected at every effort level | constraint | 4 |
| Code forcing tool_choice | Types any and tool are rejected on Opus 5.5 and Sonnet 5.5, token-counting endpoint included | constraint | 12 |
| Sonnet 5.5 computer use | Rejects computer_20250124 on every platform; declare computer_toolset_20260801 | constraint | 20 |
| Thinking-block replay | Edit earlier turns, resend thinking blocks: 400 on accounts created on or after August 31, 2026 | exposure | 18 |
| Sonnet 5.5 advisor pairings | Opus 4.8 / 4.7 / 4.6, Sonnet 5, Sonnet 4.6 and Haiku 5.5 as advisor return 400 | constraint | 21 |
What happened
- Opus 5 accepted a disabled thinking setting at high effort or below. Opus 5.5 rejects both disabled and enabled with budget_tokens at every effort level.
- Sonnet 5.5 replaces disabled with between_tools, which allows no up-front thinking and only short notes between tool calls.
- Both 5.5 models reject tool_choice of type any and type tool, including on the token-counting endpoint.
Why it matters
- constraint Opus 5.5 has no off switch for thinking. Latency and token budgets that relied on disabled have to be re-tuned through the effort setting.
- exposure A request that omits effort changes behavior on Opus 5.5 without being rejected, so only your own evals will catch the drop from high to medium.
- decision Teams that force JSON through tool_choice must pick strict tools on auto or output_config.format. On Bedrock neither is available, so validation moves into application code.
The error text points to the fix. In the author's captured response, the API says `thinking.type.disabled` "is not supported for this model" and tells callers to use "thinking.type.adaptive" and "output_config.effort" to control thinking [5]. For Opus 5.5 the author's advice is to omit thinking, which is the same as adaptive, and to lower output_config.effort wherever the code used to disable thinking [6]. Probing is cheap. The author ran the requests with max_tokens at 64 and says a 400 is not charged [3].
Sonnet 5.5 needs two edits in one call. In the author's side-by-side, the Sonnet 5 request sends disabled with effort xhigh, and the Sonnet 5.5 request sends between_tools with effort high [11]. The reason is that between_tools returns 400 at xhigh and max, accepts no other field, and cannot be combined with per-message effort changes [9]. A port that swaps only the type string keeps xhigh and still fails [23].
"Off" on Sonnet 5.5 is not silent. The short updates the model writes between tool calls come back as thinking blocks [8]. Code that reads any thinking block as proof of reasoning will misjudge those. In a request with no tools, between_tools answers without thinking at all, so multi-step reasoning tasks go back to adaptive [10].
Forced tool calls need a different pattern. The replacement for tool_choice of type any or tool is auto, strict: true on the tool, and a prompt telling the model when to use the tool [13]. A request can carry at most 20 strict tools, and every object in them must set additionalProperties: false [14]. On Amazon Bedrock neither model has structured outputs, so callers send auto, name the tool in the prompt and validate the input themselves [15].
Replay is the quiet break. Each thinking block is tied to one model and one conversation prefix [17]. If you change the system prompt, the tools or earlier turns and then send the blocks back, the result is a 400 on accounts created on or after August 31, 2026, where the check is enforced by default, and a dropped block otherwise [18]. In our view that means an agent which rewrites its system prompt mid-history fails loudly on new accounts and loses reasoning context on old ones. The author's remedy is append-only history, with instructions changed through a mid-conversation system message [19].
Two more rejections are lookups. Computer use is declared as the computer_toolset_20260801 toolset, and Sonnet 5.5 rejects computer_20250124 on every platform [20]. A Sonnet 5.5 executor rejects Opus 4.8, 4.7, 4.6, Sonnet 5 and Haiku 5.5 as advisors [21].
This is one author's account. Opus 5.5 shipped on September 22, 2026 and Sonnet 5.5 on September 28 [1]. The author says all five settings appear in Anthropic's migration guides but reproduced only the first against the live API, on October 6 [24][2]. We would run the list as a test plan on your own account, since the replay check depends on when the account was created. The author also published an open-source scanner, claude5-migration-kit, that reports file and line for each hit [22].
What to watch
- Whether Amazon Bedrock adds structured outputs, strict tools included, for Opus 5.5 and Sonnet 5.5, which would remove the hand-written validation step.
- Whether Anthropic extends default enforcement of the preserved-thinking check to accounts created before August 31, 2026, where blocks are currently dropped.
- Whether Anthropic's migration guides match the author's list of five settings when checked against each section.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence55
- Adoption
- Insufficient
- Hype gap+10
- Incentives55
- Confidence60
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Claude Opus 5.5 shipped on September 22, 2026 and Claude Sonnet 5.5 on September 28.
- [2]
The author reproduced the first setting (thinking mode) against the live API on October 6 and pasted the exact responses.
- [3]
The responses shown were verbatim from the API with max_tokens at 64, and the author says there is no charge for a 400.
- [4]
On Opus 5 you could send thinking disabled at high effort or below. On Opus 5.5, both disabled and enabled with budget_tokens are rejected at every effort level.
- [5]
The API error reads: "thinking.type.disabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
- [6]
On Opus 5.5, omit thinking (same as adaptive) and lower output_config.effort where you used to disable thinking.
- [7]
Sonnet 5.5 replaces disabled with between_tools, the lowest thinking setting: no up-front thinking, only short notes between tool calls.
- [8]
With between_tools, the short updates the model writes between tool calls come back as thinking blocks.
- [9]
between_tools works only at high effort or below (400 with xhigh or max), takes no other field (display, budget_tokens and block_binding are 400), and cannot be combined with per-message effort changes.
- [10]
In a request without tools, between_tools answers without thinking at all, so multi-step reasoning tasks should move back to adaptive.
- [11]
The author's example for Sonnet 5 sends thinking disabled with effort xhigh; the Sonnet 5.5 example sends thinking between_tools with effort high.
- [12]
tool_choice of type any and type tool are rejected on both Opus 5.5 and Sonnet 5.5, including on the token-counting endpoint.
- [13]
Instead of forced tool_choice, use tool_choice auto, mark the tool strict: true so the input matches the schema, and say in the prompt when to call it.
- [14]
Strict tools are capped at 20 per request and need additionalProperties: false on every object.
- [15]
On Amazon Bedrock, Opus 5.5 and Sonnet 5.5 have no structured outputs (strict included): send auto, name the tool in the prompt, and validate the input yourself.
- [16]
If you only wanted JSON, use structured outputs (output_config.format) instead of a tool.
- [17]
Thinking blocks are bound to the model and to the conversation prefix; the preserved-thinking check introduced with Fable 5.1 now applies to both models.
- [18]
Editing system, tools or earlier turns and then sending the thinking blocks back is a 400 on accounts created on or after August 31, 2026 (enforced by default), or a dropped block otherwise.
- [19]
Keep history append-only and change instructions with a mid-conversation system message.
- [20]
Computer use is declared as the computer_toolset_20260801 toolset (no beta header). Sonnet 5.5 also rejects computer_20250124 on every platform.
- [21]
With a Sonnet 5.5 executor, the advisor must be Opus 5, Opus 5.5, Sonnet 5.5, Fable 5 / 5.1 or Mythos 5 / 5.1; Opus 4.8 / 4.7 / 4.6, Sonnet 5, Sonnet 4.6 and Haiku 5.5 return 400.
- [22]
A static scanner that finds these settings in your code (file:line) is open source as claude5-migration-kit.
- [23]
A Sonnet 5 call ported by changing only the thinking type to between_tools, while keeping the xhigh effort used in the Sonnet 5 example, would still return a 400.
- [24]
If you take code that runs on Opus 5 or Sonnet 5 and change only the model string, one of five settings will return an HTTP 400; the author says all five are in Anthropic's official migration guides.
- [25]
Opus 5.5 defaults to effort medium (Opus 5: high). Carry over a request without effort and it runs one level lower.
- [26]
Anthropic reports that Opus 5.5 at medium matches or beats Opus 5 at high.
- [27]
The five settings the author covers are thinking mode, forced tool_choice, computer-use toolset declaration, preserved-thinking replay and advisor pairing.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toClaude Opus 5.5 / Sonnet 5.5: 5 settings that return 400 when you only change the model name
1 article · October 14, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.