Skip to content

Build Not yet confirmed elsewhere1 publisher 3 min read Published

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

How we use AI Send a correction

Illustration accompanying Changing only the model string to Opus 5.5 or Sonnet 5.5 returns HTTP 400 on five settings
Generated illustration
Where a 5.5 model swap gets rejected What Opus 5.5 and Sonnet 5.5 reject across thinking, tool_choice, computer use, thinking-block replay and advisor pairings.

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.

Where a 5.5 model swap gets rejected
WhoHowKindClaim
Code disabling Opus 5.5 thinkingDisabled and enabled with budget_tokens are rejected at every effort levelconstraint4
Code forcing tool_choiceTypes any and tool are rejected on Opus 5.5 and Sonnet 5.5, token-counting endpoint includedconstraint12
Sonnet 5.5 computer useRejects computer_20250124 on every platform; declare computer_toolset_20260801constraint20
Thinking-block replayEdit earlier turns, resend thinking blocks: 400 on accounts created on or after August 31, 2026exposure18
Sonnet 5.5 advisor pairingsOpus 4.8 / 4.7 / 4.6, Sonnet 5, Sonnet 4.6 and Haiku 5.5 as advisor return 400constraint21

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
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Claude Opus 5.5 shipped on September 22, 2026 and Claude Sonnet 5.5 on September 28.

    Reported Supported Source: dev.to article by persimmoqView cited source
  2. [2]

    The author reproduced the first setting (thinking mode) against the live API on October 6 and pasted the exact responses.

    Reported Supported Source: dev.to article by persimmoqView cited source
  3. [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.

    Reported Supported Source: dev.to article by persimmoqView cited source

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.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 14, 2026

    Claude Opus 5.5 / Sonnet 5.5: 5 settings that return 400 when you only change the model name

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Loading related stories