Skip to content

Published · 5h agoProduct2 min read

Opus 5.5 returns the text between tool calls as empty thinking blocks

Claude's platform docs list four Opus 5.5 breaking changes that return errors and a fifth that changes the response shape without failing any request. A pipeline gated on whether the call succeeded ships the quiet one.

3 publishersOperator

Not a builder's beat, but builders have a standing stake in it.See today for builders

Artwork accompanying Opus 5.5 returns the text between tool calls as empty thinking blocks

What happened

  • An application that streamed that text to users as progress updates goes quiet between tool calls until it sets a display value that returns the text.
  • Early testers ran long coding tasks for hours with little oversight, according to claude.dev, which says the model's biggest gains over prior Opus versions are on multi-step work.
  • The same guide says a long run sometimes stops to report instead of going on. The report is a summary that names the next step and stops there, or a list of choices that do not block the work.

Compiled by The Product DeskSomething wrong?How this is made

Why it matters

  • constraint The SDK's limits are both quantitative. max_turns counts tool-use turns only; max_budget_usd caps spend against a threshold. Neither one can stop a run that is producing well formed output in a shape you did not expect.
  • exposure A run split across parallel subagents puts many more changed files behind one final message, and claude.dev's own example prompt puts the burden back on the operator to check each subagent's evidence.
  • decision Whoever owns design review has to write down the specific patterns to exclude, because claude.dev says a general instruction like "avoid a generic look" mostly swaps one default style for another.

A review step sits at the end of the loop, and the loop is long. The agent SDK repeats turns until Claude produces output with no tool calls, then closes the session with a ResultMessage carrying the final text, token usage, cost and session ID [9][11]. Inside a turn it runs the requested tools and feeds each result back to the model, and control never passes to your code [8]. A reviewer reads the last message.

Four of the five documented changes to code already running on Opus 5 are listed as breaking. Thinking cannot be disabled, forced tool use returns an error, thinking blocks are tied to the model and the conversation, and on the Claude API and Google Cloud the earlier computer use tool is not accepted [2]. The fifth returns a valid response. Text between tool calls comes back in thinking blocks whose text is empty at the default display setting [3], so one change in five arrives as a success [7].

Throwing the work away is cheap in tokens. Output runs $20 per million and one response caps at 128K tokens [1][5]. A discarded maxed-out reply costs $2.56 [20]. One edit needs no watching at all. claude.dev says to remove "think carefully" and similar lines from prompts and saved instructions, and reports that in its testing in a chat product, removing the line made replies start sooner with no clear drop in quality [17].

Maggie Appleton of GitHub Next [19] quotes the HCI researcher Lucy Suchman: "Plans are best viewed as a weak resource for ad hoc activity" [18]. claude.dev's suggestion is a plan of that kind, a short rule in CLAUDE.md about when to stop and ask and when to keep going [21].

The two things that matter are whether a change fails a request and whether a user sees the difference. The four breaking ones fail at the call site, where your error handling already is. The display change succeeds and reaches everyone who was reading a status line. The only check for it is a person opening the app and watching one run from the first tool call to the last.

What to watch

  • A default display value that returns the text between tool calls would close the progress-update gap, and no application would have to change.
  • Whether the output-300k-2026-03-24 beta header on the Message Batches API becomes generally available. GA would raise what a discarded run costs.
  • Whether stop-to-report behaviour on long runs becomes a documented setting rather than a rule operators write into CLAUDE.md.

Claim ledger

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

  1. [1]

    Claude Opus 5.5 is priced at $4 / $20 USD per million input / output tokens.

  2. [2]

    Four breaking changes affect code already running on Claude Opus 5: thinking can't be disabled, forced tool use returns an error, thinking blocks are tied to the model and the conversation, and, on the Claude API and Google Cloud, the earlier computer_20251124 computer use tool is not accepted.

  3. [3]

    A further change alters the response shape without failing any request: text between tool calls comes back in thinking blocks whose text is empty at the default display setting.

Sources & coverage · 3 publishers

The reporting this story was synthesized from, earliest first. Every link goes to the original.

  1. platform.claude.com
    How the agent loop works

Additional citations

  • Lucy Suchman, quoted in Maggie Appleton's talk write-up