Skip to content

All articles

Sonnet 5.5 as the agency workhorse

Claude Sonnet 5.5 keeps Sonnet 5’s list price, cuts cost per task up to 30%, and runs 30%+ faster (Anthropic-reported). Claude Code already defaults Sonnet to 5.5. Migrate thinking, then flip traffic.

22Atlas

Product studio

4 min read

Same list dollars. Lower dollars per task. Flip the workhorse this week.
Same list dollars. Lower dollars per task. Flip the workhorse this week.
Grainy illustration of an operator and a cobalt studio agent clearing a migration checklist at a desk before flipping day-to-day workhorse traffic.

On September 28, 2026, Anthropic released Claude Sonnet 5.5 (claude-sonnet-5-5), the second model in the Claude 5.5 family. Anthropic’s line: “It’s a clear upgrade over Claude Sonnet 5, runs 30%+ faster, and costs up to 30% less for most work.” List pricing stays at $2 / $10 per million input and output tokens, with cache reads at $0.20. Anthropic says the savings come from fewer tokens per task at the same sticker.

They position Sonnet 5.5 as the faster, lower-cost complement to Opus 5.5: Opus for complex work that needs careful judgment; Sonnet for well-scoped everyday and coding work. On Anthropic’s Terminal-Bench 4.0 numbers, Sonnet 5.5 scores 70.6% against Sonnet 5’s 10.3%. Those benches are Anthropic-reported. Independent reproductions are still settling. Treat them as vendor evidence, then remeasure on your own tasks.

Same calendar day, Claude Code v2.1.284 added Sonnet 5.5 and made it the default Sonnet model on the Anthropic API (1M context, same $2 / $10 list, $0.20 cache reads). Studios already on Claude Code may pick up 5.5 on upgrade without an explicit model pin. Audit model, availableModels, and deniedModels before the next client session.

Migrate thinking before you flip traffic

The platform migration guide is the how-to that saves you from silent 400s that look like a broken model.

On Sonnet 5.5, thinking: {"type": "disabled"} is gone. The docs error is explicit: "thinking.type.disabled" is not supported for this model. The lowest thinking setting is now thinking: {"type": "between_tools"}. Adaptive thinking (omit the field, or send thinking: {"type": "adaptive"}) is the default. Several other Sonnet 5 settings also return 400: forced tool choice (any / named tool), non-default sampling parameters, assistant prefills, and thinking budgets.

Checklist before production Sonnet traffic moves:

  1. Swap the model id to claude-sonnet-5-5 (no date suffix on the Claude API).
  2. Replace thinking: {"type": "disabled"} with thinking: {"type": "between_tools"} wherever you wanted thinking off up front.
  3. Read content blocks by type. Responses can open with thinking blocks; content[0].text breaks.
  4. Pass thinking blocks back unchanged in tool-use loops.
  5. Move forced tool use to tool_choice: {"type": "auto"} plus strict: true on tools that need schema lock (Claude API / Google Cloud). On Bedrock, send auto without strict and validate in your code.
  6. Set output_config.effort deliberately. Claude Platform defaults to High; Claude apps and Claude Code default to Medium. Re-run your effort sweep. Levels are recalibrated versus Sonnet 5.
  7. Optional: in Claude Code, run /claude-api migrate this project to claude-sonnet-5-5 and verify the checklist it prints.

Do the migration on a staging route first. Then flip.

Checklist diagram for migrating to Claude Sonnet 5.5: model id, thinking settings, content blocks, tool choice, effort, then staging before flip.
Migrate thinking before production Sonnet traffic moves. Swap the model id, replace disabled thinking with between_tools, read content by type, and stage the route first. Then flip.

Route Opus for judgment, Sonnet for scoped work

Keep the two-lane map simple:

  • Opus 5.5 for architecture, open-ended judgment, and multi-hour design calls.
  • Sonnet 5.5 for scoped implementation, bug fixes, reviews, docs, slides, and everyday agent loops.

Anthropic’s own framing matches that split. Early tester quotes on the product page describe Sonnet 5.5 clearing higher-tier quality bars on well-bounded work while using fewer tokens and fewer steps. Keep the routing table in the harness. Leave the vendor quotes on the product page.

If you still pin Sonnet 5 on purpose, write that out in the harness config. A silent pin that blocks the new default becomes next week’s mystery.

Two-lane routing diagram: Opus 5.5 for judgment and architecture, Sonnet 5.5 for scoped everyday and coding work.
Keep the two-lane map simple. Opus 5.5 for architecture and open-ended judgment. Sonnet 5.5 for scoped implementation and everyday agent loops. Call out any intentional Sonnet 5 pin in the harness.

Measure dollars per task

List price did not move. Cost per task did, if Anthropic’s testing holds on your workloads. Log three tasks you already know: one migration-sized, one review-sized, one volume loop. For each route and effort level, record dollars, steps, retries, and rework minutes.

Tokens alone hide effort and cache effects. Medium effort is the default in Claude Code and the apps; High is the platform default. Sweep both before you rewrite retainer floors. Pair this with last cycle’s reprice note: Reprice your agent stack in one afternoon.

Optional short: honesty after a failed tool

Failure-Transparent Agents (FTA) is a Sep 28 arXiv preprint. The authors’ line: “Tool-using agents can fail twice: a required tool can fail, and the agent can then report success without the evidence needed to justify it.” Add a post-failure arm to client evals: when a required tool fails, the agent must not claim success without evidence. Score that check apart from pass rate. Preprint only; not a lab product release.

Also on the desk

If you want Sonnet 5.5 defaulted, thinking migrated, and cost-per-task metering wired into a governed AI development seat, Start your build or write hello@mail.22atlas.com.

Linked sources

Get our Articles and posts by email.

Up to one email a day with new Articles and posts from 22atlas.com and sean-weldon.com, plus occasional news about 22Atlas services.