Claude Code blank thinking blocks: meter your own tokens
Claude Code has been returning empty thinking blocks since mid-July while reasoning tokens still bill as output. The lesson is about vendor observability, not one bug.
Since mid-July, Claude Code and the Anthropic API have been returning thinking blocks with an empty thinking field — a signature present, the summary gone — on Claude Opus 4.8 and Sonnet 5, even when callers explicitly ask for summarized display. The reasoning still runs. The reasoning still bills. You just can't read it. That combination is worth more attention than the bug itself.
What actually happened
The Register reported on August 14 that developers began seeing empty thinking summaries around July 16, with reports piling into the tracker. GitHub issue anthropics/claude-code#63358 describes Opus 4.8 returning thinking blocks whose content field is blank, so the UI renders nothing; issue #56356 logs the same behavior on Opus 4.7 with --thinking adaptive --thinking-display summarized set.
An Anthropic spokesperson told The Register the reports are being investigated, noting that Claude Code "ships updates nearly every day" and attributing some of the behavior to tuning network handling around long-running requests.
The billing side is not in dispute and does not require a bug report. Anthropic's own thinking documentation tells you to watch usage.output_tokens_details.thinking_tokens, which it describes as reporting how many of the billed output tokens were internal reasoning. Thinking is output. It is metered whether or not anything renders on your screen.
Why blank thinking blocks matter for your business
Treat this as a preview, not an incident. The trend across every frontier vendor is toward reasoning that is summarized, encrypted, or hidden — for competitive and safety reasons that are entirely defensible. The consequence for anyone paying the bill is the same either way: the most expensive part of a request is becoming the least inspectable part.
If your only view of agent spend is a dashboard the vendor renders, you are auditing with their instrument. Read the usage object yourself. Every response carries the token breakdown; log thinking_tokens per request alongside a job identifier, and you get a cost-per-task series that survives any UI change, any display regression, and any pricing page rewrite. That is a few hours of work and it is the difference between "our AI bill went up" and "the invoice-parsing agent's reasoning tripled after Tuesday's prompt change."
Second, stop treating the thinking summary as your debugging surface. It was never a faithful trace of the model's reasoning — it was a rendered summary, which is exactly why it can vanish without anything else breaking. If you need to know why an agent did something, the durable answer is your own logs: inputs, tool calls, outputs, and the diff it produced. Build those and a blank thinking block is an annoyance instead of an outage.
Third, put the boring line in your vendor notes. Daily-shipping tools are a real advantage — we wrote about Claude Code shipping eight permission fixes in a day — but the same cadence means display behavior is not a contract. Pin what you can, instrument what you can't.
Key takeaways
- Since roughly July 16, Claude Opus 4.8 and Sonnet 5 have returned thinking blocks with empty content even when summarized display is requested
- Tracked in anthropics/claude-code issues #63358 and #56356; Anthropic says it is investigating and cites long-running-request network tuning
- Thinking tokens bill as output tokens regardless of display — Anthropic's docs point you at usage.output_tokens_details.thinking_tokens
- Log that field per request with a job ID. It gives you cost-per-task that survives any UI or pricing change
- Thinking summaries were never an audit trail. Your own input/tool-call/output logs are the durable one
- On daily-shipping tools, display behavior is not a contract. Instrument what the vendor doesn't guarantee
You can't manage an AI bill you only see monthly. We wire per-task token accounting and real trace logging into the agent workflows we build, so cost and behavior are both yours to inspect. See what we've shipped, or tell us what your agents cost per job.
Sources: The Register, August 14, 2026, anthropics/claude-code issue #63358, Anthropic extended thinking docs.
- #claude-code
- #anthropic
- #ai-costs
- #observability
- #coding-agents
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Intelligent Terminal 0.2 runs agents on a local model
Microsoft's Intelligent Terminal 0.2 adds bring-your-own-model support, per-tab agent selection and WSL-native execution. A coding agent that never calls a cloud API.
Read itChatGPT's Computer History logs what you do on your Mac
ChatGPT Computer History records clicks, typing, and app switches on macOS for Pro, Business, and Enterprise. Off by default — here's the policy to set first.
Read it