Add a setting to disable the hard-coded "Thinking" sub-line status messages during extended thinking
What I see
During extended thinking, Claude Code renders a sub-line under the Thinking spinner with timed, whimsical status strings:
Thinking
⎿ Cross-referencing seventeen theories…
I'd like to disable just these sub-line messages, globally, without turning off extended thinking.
What's already configurable (and not sufficient)
In ~/.claude/settings.json:
spinnerTipsEnabled: false— disables the helper-tip system ("Use /clear to start fresh…", "Use /btw…"). Does not affect the "Cross-referencing…" sub-line. Already set to false in my config.spinnerVerbs: { mode: "replace", verbs: ["Thinking"] }— locks the top-line verb. Does not affect the sub-line.autoDreamEnabled— controls background memory consolidation (per the binary's own schema description: "Enable background memory consolidation (auto-dream)"). Unrelated.alwaysThinkingEnabled: false— the only working "off switch" today, but it disables extended thinking entirely, which is a heavy tradeoff for users on Opus witheffortLevel: "xhigh".
Where the messages come from
In the Claude Code binary (v2.1.114), a React component renders the sub-line. The messages are a hard-coded array:
[
{ afterMs: 1000, text: "Hmm…" },
{ afterMs: 6000, text: "This one needs a moment…" },
{ afterMs: 12000, text: "Working through it…" },
{ afterMs: 20000, text: "Untangling some thoughts…" },
{ afterMs: 28000, text: "Weighing a few approaches…" },
{ afterMs: 36000, text: "Consulting the rubber duck…" },
{ afterMs: 48000, text: "Cross-referencing seventeen theories…" },
{ afterMs: 60000, text: "Double-checking the double-checks…" },
{ afterMs: 80000, text: "Almost there…" },
{ afterMs: 108000, text: "Pacing in small circles…" },
...
]
The component gates only on isLoading + a store check that the mode is "thinking". There is no settings check.
Proposal
Add a user setting, e.g.:
"thinkingStatusMessagesEnabled": false
When false, the component returns null (or renders the Thinking verb without the sub-line). Default: true to preserve current behaviour.
Why this matters
Users who keep extended thinking on (for real capability reasons — high effortLevel, complex tasks) currently have no way to suppress the whimsical sub-line. spinnerTipsEnabled: false + spinnerVerbs: replace strongly signals the user's preference for a quiet UI, but the thinking sub-line bypasses both. A dedicated toggle respects that preference.
Environment
- Claude Code v2.1.114
- Linux, terminal UI
- Relevant settings already in place:
spinnerTipsEnabled: false,spinnerVerbs: { mode: "replace", verbs: ["Thinking"] },prefersReducedMotion: true,effortLevel: "xhigh",autoDreamEnabled: true
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗