[FEATURE] Independent display controls for thinking blocks and tool output
Independent display controls for thinking blocks and tool output
Preflight Checklist
- [x] I have searched the existing issues to confirm this feature has not already been requested
- [x] I have read the documentation (settings, model-config, fullscreen, keybindings) and confirmed no existing configuration covers this
Problem Statement
verbose is a single global toggle that binds two unrelated display concerns together:
verbose: false→ thinking collapsed and tool output truncated to summariesverbose: true→ tool output fully expanded and reasoning text shown as gray italic text
There is no way to get the combination many users want: thinking collapsed + tool output expanded. Watching full tool output (build logs, command results, file contents) is often essential, while interleaved reasoning text makes the transcript hard to scan.
Proposed Solution
Split the display controls so each concern has its own setting, for example:
{
// option A: two independent switches
"verbose": true, // expands tool output
"collapseThinking": true // keeps thinking blocks collapsed
// option B: verbose becomes a list
"verbose": ["toolOutput"]
}
Notably, the API already supports thinking.display: "summarized" as a per-request granularity — the TUI just doesn't surface it independently from verbose.
Alternative Solutions
Current workarounds, all imperfect:
verbose: false+ click-to-expand each collapsed tool result in fullscreen — works, but manual and per-item; auto-follow quickly buries results- Ctrl+O transcript mode — expands everything, including thinking
- Disabling thinking entirely (
alwaysThinkingEnabled: false) +verbose: true— sacrifices reasoning quality just to clean the display, and adaptive-reasoning models behind third-party gateways may still emit thinking blocks, which then render expanded
Priority
Medium
Feature Category
UX improvement
Use Case Example
During a long debugging session I want to scan every command's output as it streams, but the reasoning blocks between them double the scroll length and bury the information I'm actually looking for. Today I can only choose between "see both" or "see neither fully".
Additional Context
- Claude Code v2.1.232, fullscreen TUI (
tui: "fullscreen") transcript:toggleShowAll(Ctrl+E) exists but is documented as classic-renderer-only, so fullscreen users have no keyboard path either- Related adjacent issues are about summaries not rendering (#59844, #30958) or headless display control (#82896) — none covers interactive TUI display granularity