When Should You Switch Between Claude Sonnet 5.5 and Opus 5.5 for Coding?

One-line answer: Keep Sonnet 5.5 (claude-sonnet-5-5) when the edit and the definition of done are closed. Leave Opus 5.5 (claude-opus-5-5) on open judgment and long loops. If you migrate, replace “thinking off” with between_tools.

Claude Sonnet 5.5 shipped on 28 September 2026 as the second model in the 5.5 family. Anthropic describes it as the faster, lighter complement to Opus 5.5, strongest on well-scoped everyday work and bug fixes. The same announcement says Opus 5.5 stays clearly stronger when the work is complex, open-ended, and needs sustained judgment. The models overview says to start on Opus 5.5 when you are unsure. This post is only that switch. Prices, benchmark scores, and speed ratios are company claims and do not appear here as figures.

The breaking-API essay for leaving Opus 5 is What Is Claude Opus 5.5. The overlap here is thinking and between_tools.

Which everyday coding fits Sonnet 5.5?

One-line answer: Start on Sonnet 5.5 when the failing test, the files, and the diff that counts as done are already inside the prompt.

The announcement’s seat for Sonnet 5.5 is well-scoped everyday work and bug fixing. In coding that is a closed session:

  • A reproduced failing test, undone by one change.
  • Implementation under a design someone already accepted. That matches the split where one model sets the frame and another fills it in.
  • A short loop that repeats the same tool calls. The overview only separates latency as Fast for Sonnet and Moderate for Opus. No percentage belongs in this post.

The API id is claude-sonnet-5-5. Whether a product label matches the id in the log is something you check in that product. The steps to get there are not in this post.

The announcement says Haiku 5.5 joins the 5.5 family in the coming weeks, and stops there.

Which judgment and long-running work stay on Opus?

One-line answer: Leave the session on Opus 5.5 when the right answer sits outside the prompt, or when explore, edit, and verify keep going in one sitting.

The overview describes Opus 5.5 as the model for long-running agentic coding and knowledge work. The Sonnet announcement allows that higher effort can bring Sonnet near Opus on some evals, then draws the line: in Anthropic’s testing and in external testing, Opus remains clearly stronger on open-ended judgment. Raising Sonnet’s effort is not a substitute rule you can take from that paragraph. The score tables are company material. This post does not copy the cells.

Coding that stays on Opus looks like this:

  • “Is this design sound?”, “what fails?”, or “is this hard to undo?” — a definition of done that is not one test.
  • A long loop that searches the repo, edits, and checks again. Do not split the models by context-window size. Both offer a long window. The split is how long judgment has to hold inside it.
  • A team that needs one default while the work is still mixed. The overview says to start that case on Opus 5.5, then move only the closed edits down to Sonnet.

When a Sonnet session grows back into a design question, switching the id to Opus matches the positioning above. Menus differ by product. The id this post uses is claude-opus-5-5.

What about thinking and between_tools in a migration?

One-line answer: Clients that turned thinking off on Sonnet 5 move to between_tools. Opus 5.5 cannot turn thinking off. Thinking blocks stay tied to the model that wrote them.

The Sonnet 5.5 model page names between_tools as the way to turn off up-front thinking when you leave Sonnet 5. Adaptive thinking is the default, and between_tools is the lowest setting. The page says it works at high effort or below. The API default effort is high on Sonnet 5.5 and medium on Opus 5.5, so omitting effort while you change models also changes how deep thinking starts.

On the Opus 5.5 model page, thinking is always on and cannot be disabled. Effort is the only depth control. A “thinking off” flag carried over from Sonnet is rejected. Replaying an Opus thinking block into a Sonnet conversation conflicts with the same constraint in the other direction: thinking blocks belong to that model and that conversation.

Two other contracts show up on both model pages. Forced tool use returns an error. Text between tool calls comes back inside thinking blocks, so a stream can look quiet. The documented responses are to change the display, or on Sonnet to use between_tools for up-front thinking. Both overviews also refuse computer_20251124 on the Claude API and Google Cloud. How a harness absorbs that list is the Opus 5.5 post. It is not rewritten as a procedure here.

The switch itself stays short. Closed coding uses claude-sonnet-5-5 and, when you need it, between_tools. Open long work uses claude-opus-5-5 and effort. The moment the model changes, thinking blocks start over.

Sources