On 12 February 2026, Anthropic added a beta header called redact-thinking-2026-02-12 to Claude Code that stops the assistant’s internal reasoning from rendering in the terminal. The reasoning itself still happens. Only the on-screen display of it changed.
What is the redact-thinking-2026-02-12 header?
redact-thinking-2026-02-12 is a beta HTTP header Anthropic shipped in Claude Code on 12 February 2026 that suppresses the rendering of thinking blocks in the user interface. Boris Cherny, the creator of Claude Code, confirmed the behaviour directly: “This beta header hides thinking from the UI, since most people don’t look at it. It does not impact thinking itself, nor does it impact thinking budgets or the way extended reasoning works under the hood. It is a UI-only change.” The underlying model still generates thinking tokens; they are simply not surfaced in the terminal stream.
The header takes its name from the Anthropic convention of dating beta API features: redact-thinking-2026-02-12 is the version of the feature introduced on that date, not a rolling flag.
Why did Anthropic hide Claude Code’s thinking?
Anthropic cited two reasons for hiding Claude Code’s thinking from the UI: latency reduction and user-experience clarity.
- Latency. When thinking is rendered to the terminal, Claude Code generates additional summary text to narrate the reasoning as it streams. Removing the visible thinking skips that summarisation step and reduces time-to-useful-output.
- UX clarity. Raw reasoning streams include exploratory paths — attempted approaches that Claude later discards. Surfacing that content can mislead a reader into thinking the model is going down a dead end, when in practice the discarded branch is how extended reasoning is supposed to work. Hiding the stream shows only the conclusion, not the search.
Boris Cherny’s public clarification named both: “Most people don’t look at it. It does not impact thinking itself.” The change is optimising for the median user, not removing a capability.
Was Claude Code’s reasoning quality actually reduced?
Claude Code’s reasoning quality was not reduced by the redact-thinking-2026-02-12 header. A widely-shared GitHub issue filed in late February 2026 reported an approximately 67% drop in measured “thinking depth” across Claude Code sessions and concluded the model had been weakened. Anthropic’s response explained the measurement artifact: with redact-thinking active, Claude Code’s transcripts no longer store the raw thinking blocks, so when Claude is asked to review its own prior logs it counts only the visible output tokens and underestimates the reasoning that actually happened. The observed “67% drop” was a logging change, not a capability change.
The distinction matters for anyone reproducing the measurement. A benchmark that compares responses on identical prompts before and after 12 February 2026 will find equivalent quality. A benchmark that counts thinking tokens in transcripts will find a large drop, because the tokens are no longer transcribed.
How do you make Claude Code show thinking again?
Three independent controls restore visible thinking in Claude Code, each with a different scope.
- Settings file, persistent. Add
"showThinkingSummaries": trueto~/.claude/settings.json(or the project-local equivalent). Claude Code will render thinking summaries for every session. - Environment variable, persistent. Set
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1in your shell profile. This does two things: it restores visible thinking and pins reasoning to a fixed budget rather than Claude Code’s adaptive per-turn allocation. Users reporting inconsistent reasoning depth across similar prompts often benefit from this flag. - Per-turn trigger, ephemeral. Use the
/effort highslash command in a running session, or include one of the keyword triggersthink,think hard, orultrathinkin your prompt. These escalate reasoning for that turn only, then revert.
| Control | Scope | Effect |
|---|---|---|
showThinkingSummaries: true (settings.json) | All sessions | Shows thinking summary stream in UI |
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 (env) | All sessions | Restores visible thinking + fixes reasoning budget |
/effort high (slash command) | Current turn | Escalates reasoning depth for one response |
think / think hard / ultrathink (prompt) | Current turn | Triggers deeper reasoning on the next response |
What changes for developers using the Anthropic API directly?
API developers are not affected by the redact-thinking-2026-02-12 header. The Messages API exposes extended thinking through the thinking parameter with budget_tokens, and raw thinking blocks are returned in the response stream under normal conditions. The redaction header is a Claude Code UI choice; the underlying API continues to return thinking blocks by default for any client that does not opt into the header.
Developers building on the SDK who want the Claude Code behaviour in their own tools can opt in by sending anthropic-beta: redact-thinking-2026-02-12 on requests. Developers who want the opposite — guaranteed raw thinking regardless of UI defaults — should simply omit the header and consume the thinking blocks from the response stream.
Timeline
| Date | Event | Source |
|---|---|---|
| 12 Feb 2026 | Anthropic ships redact-thinking-2026-02-12 beta header in Claude Code | Claude Code changelog, Boris Cherny public clarification |
| Late Feb 2026 | GitHub issue filed reporting ~67% drop in observed thinking depth | Community report, Claude Code issue tracker |
| Late Feb 2026 | Anthropic clarifies the drop is a logging artifact, not a capability change | Boris Cherny |
| Ongoing | showThinkingSummaries, CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING, /effort high, and ultrathink keywords available as opt-outs | Claude Code documentation |
Sources
Primary statements are from Boris Cherny, creator of Claude Code, on the Anthropic developer channels and in community clarifications during February 2026. Configuration flags and environment variables are documented in the Claude Code settings reference (docs.anthropic.com/en/docs/agents-and-tools/claude-code). The beta header name and activation date are from the Anthropic beta headers convention (docs.anthropic.com/en/api/beta-headers). The “67% drop” measurement was a GitHub issue on the Claude Code repository, subsequently explained by Anthropic as a transcript-logging artifact.
This piece is updated if Anthropic ships follow-on changes to the thinking-display defaults. Corrections: editorial@hypogray.com.