Add persistent setting to always show thinking trace

Status Fixed / completed
Maintainer reply None cached
Activity 7 comments · opened Mar 31, 2026 · closed Aug 17, 2026

Feature Request

Currently, the only way to view the thinking/reasoning trace in Claude Code is by toggling verbose mode with Ctrl+O during a session. This toggle resets every session — there is no way to make it persistent.

Requested Change

Add a setting (e.g. "alwaysShowThinking": true) in settings.json (both global ~/.claude/settings.json and project-level) that enables verbose/thinking trace display by default, so users don't have to press Ctrl+O at the start of every session.

Motivation

  • Users who work with effortLevel: "high" want to see the reasoning trace consistently — it's part of their workflow, not an occasional debug toggle.
  • Having to remember to press Ctrl+O every session is friction that a one-time config should eliminate.
  • Every other thinking-related setting (effortLevel, model) is already persistable in settings.json; the display toggle should be too.

Proposed Behavior

| Setting | Default | Effect |
|---------|---------|--------|
| "showThinking": true | false | Thinking trace is displayed by default when a session starts (equivalent to Ctrl+O being pre-toggled on) |

Ctrl+O should still work as a per-session override in either direction.

View original on GitHub ↗

3 Comments

tumlw · 3 months ago

The current request frames this as a workflow friction issue (Ctrl+O resets every session). I want to add a different motivation that I think strengthens the case: visible reasoning is a learning and alignment-monitoring tool, not just a debug toggle.
As a developer who has been using Claude across VS Code extension, Claude Code CLI, and Claude Desktop, I've found three concrete value props from reading the model's reasoning trace that are lost when only summaries are shown:

  1. Prompt engineering feedback loop. Watching how the model interprets a request teaches me how to prepare context, structure arguments, and present trade-offs more effectively. The thinking trace is the most direct signal of "what did my prompt actually communicate to the model" — much higher signal than just looking at the final output.
  2. Early detection of sycophantic alignment. This is the one I care about most. Sometimes the model produces a technically correct answer that quietly over-fits to my framing — accepting a flawed premise I introduced, or skipping a counter-argument because my prompt nudged against it. Reading the reasoning often surfaces this before the final answer locks in, so I can correct my own framing. Summary blocks ("Considering the user's request...") strip exactly the detail needed to catch this.
  3. Trust calibration on complex tasks. For architecture decisions or non-trivial debugging, seeing how a conclusion was reached is often more valuable than the conclusion itself.

A persistent showThinking setting would serve users who treat reasoning visibility as a first-class workflow primitive, not an occasional debug aid. Combined with the existing thinking summarization on Claude 4.x models, even getting consistent access to the summaries by default (no Ctrl+O dance) would be a significant UX improvement.
Strongly support this proposal.

theycallmeloki · 1 month ago

+1 to having this, reasoning is important and is stuck behind the Ctrl+O shortcut for every turn use, would be nice to have this for learning + alignment monitoring

Hope this makes it to the release!

tumlw · 1 month ago

Finally 💯
Thanks Claude :) Thanks Anthropics :)

Showing cached comments. Read the full discussion on GitHub ↗