Claude Sonnet 5.5 migration: same price, new 400s on old requests

Sonnet 5.5 keeps Sonnet 5 pricing but rejects forced tool_choice and disabled thinking, so check your requests before swapping the model ID.

Sonnet 5 to Sonnet 5.5: $2 in, $10 out per million tokens unchanged, with a request checklist before flipping the model ID

Sonnet 5.5 costs the same per token as Sonnet 5. Swapping the model ID can still get your requests rejected.

Anthropic's migration guide lists five request settings that return a 400 on Sonnet 5.5. Two of them work on Sonnet 5 today.

The first is forced tool calls. Plenty of extraction code sets tool_choice to one tool so the reply always arrives as JSON. Sonnet 5.5 refuses that request.

The documented fix is tool_choice auto plus a strict tool schema, and a prompt that says when to call it. The model can now answer without the tool, so your parser needs a path for plain text.

The second: thinking disabled becomes between_tools. And on newer accounts, replaying signed thinking after editing earlier history fails too.

Before you flip the ID:

  • Search for tool_choice and thinking type
  • Test a reply with no tool call
  • Keep history append-only

The price didn't change. The request contract did.

Watch the video on LinkedIn ↗