Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.240 Home All releases olderv2.1.239 v2.1.241newer
Claude Code v2.1.240

Thinking display modes gated behind a server-side model capability

Not switched on
Useful2 Signal5
Thinking Display Notable not in their notes

Claude Code can present thinking as connector text only, but nothing enables it here.

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.

Feature flag
tengu_sable_thrush On for this account, and not off by default

The flag server returned on for the one account this site reads, and nothing in this release compiles it off by default. The compiled default is shown below, and says which it is when we cannot read one: a fifth of gates compile in a string or a number rather than on or off, and most published releases have no gate table behind them at all. No client can see what the server returns for your account.

This account: on · anonymous baseline: on · compiled default in v2.1.240: on

tengu_thinking_display_updates Off in both readings

The 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: on

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

CLAUDE_CODE_THINKING_DISPLAY_UPDATES
What

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.

Details
  • Resolution order is: an explicit summarized request wins and shows thinking plus connector text, then omitted shows nothing, then non-interactive sessions show nothing, then the showThinkingSummaries setting 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_thrush gate are on, and otherwise shows nothing.
  • Setting the CLAUDE_CODE_THINKING_DISPLAY_UPDATES environment variable short-circuits the check and is returned directly; otherwise the server-supplied model capability or the remote tengu_thinking_display_updates gate 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_USAGE environment variable is not set.
Evidence

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.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.240 →