Three thinking display modes and an API beta id are built in, but need a server-supplied capability plus an internal gate, and the mode selector is never called.
Claude Code gains machinery to choose how a model's thinking is presented: thinking plus the short connector text that bridges to the next action, connector text only, or nothing at all. Only the connector-text-only path does anything new, asking the model for streaming thinking updates and attaching the new API beta id thinking-display-updates-2026-08-18 to the request. Reaching that path needs a model capability the server has to supply plus an internal gate, so with no server configuration the beta is never sent, and the selector helper that maps a requested mode onto a display is not called anywhere in this build.
- Resolution order is: an explicit
summarizedrequest wins and shows thinking plus connector text, thenomittedshows nothing, then non-interactive sessions show nothing, then theshowThinkingSummariessetting gives thinking plus connector text, and last the capability-plus-gate path gives connector text only. - The helper's own fallback branch shows connector text only when both the thinking-display-updates gate and the
tengu_sable_thrushgate are on, and otherwise shows nothing. - Setting the
CLAUDE_CODE_THINKING_DISPLAY_UPDATESenvironment variable short-circuits the check and is returned directly; otherwise the server-supplied model capability or the remotetengu_thinking_display_updatesgate decides, with the value compiled into the binary defaulting to off. - The outgoing request is only rewritten to carry the beta when the endpoint is first-party and streaming-capable and the
CLAUDE_CODE_SIMULATE_PROXY_USAGEenvironment variable is not set.
if (e === "summarized") return "thinking_and_connector_text";, thinking-display-updates-2026-08-18
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
tengu_sable_thrush Off by default, switched on for this accountThe shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.
This account: on · anonymous baseline: on · compiled default in v2.1.240: off
tengu_thinking_display_updates Off in both readingsThe flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.
This account: off · anonymous baseline: off · compiled default in v2.1.240: off
Read once, for one account on one subscription tier, against v2.1.240. It isn't a statement about your account. What a flag value here can and cannot tell you
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
New in this build: CLAUDE_CODE_THINKING_DISPLAY_UPDATES