[FEATURE] Raise default thinking budget / auto-escalate on diagnostic prompts
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Summary
On claude-opus-4-6[1m] in the Claude Code CLI, the default thinking/effort budget is too shallow for diagnostic and debugging prompts. The model gives surface-level first answers to investigative questions ("why did X crash?", "find the bug", "why is this happening?") and only produces real root-cause analysis after the user adds a magic phrase like "use deep thinking", "think deeper", or "be thorough". Users shouldn't need to know the incantation to get an actual investigation.
Symptom
The first-pass response to a diagnostic question is frequently a plausible-sounding but unverified guess based on a cursory look at the evidence (e.g., reading only the last line of a log file, reasoning from priors about "usual causes"). The evidence needed for a correct answer is available in the session — the model just doesn't spend the thinking tokens to read it carefully. After the user escalates verbally, the same model produces a substantially different and correct answer from the same inputs.
Repro
Concrete example from a session today (2026-04-14):
- User asked: "Why did Claude Code crash three times in a row?"
- First-pass answer (default thinking): speculated about API timeouts and cache limits, based on last-line inspection of the session JSONL files. This was wrong. It also misidentified two of the three sessions as "dead" when they had actually closed cleanly.
- User replied: "use deep thinking".
- Second-pass answer: actually read the full tails of each session file, identified that only one of the three was a real crash, and pinpointed the failure mode — a silent drop after a turn that combined parallel MCP tool calls with Bash
tool_resultblocks. This became issue #47931.
Same session, same files on disk, same model. The evidence was there from the start. The shallow default pass missed it; the escalated pass found it in one additional tool call.
This is not a one-off. It is reproducible on any "why did X fail" / "find the root cause" / "why is this slow" prompt: the first answer tends to be a guess; the escalated answer tends to be grounded.
Why this matters
- Users shouldn't need to know the magic phrase. The gap between "default" and "actually useful on a hard question" is currently bridged by folk knowledge ("say 'ultrathink'", "say 'think deeper'", install a deep-think skill).
- Anthropic's own skill ecosystem ships a workaround for this gap. A distributed skill called
deep-thinkactivates on phrases like "think deeper", "be thorough", "stop being lazy", "try harder". Its own description reads: "Activate when quality feels low, model is being shallow, skipping research, bailing out..." The existence of this skill is an implicit admission that the default is shallow for a non-trivial class of prompts. - Adjacent issues reinforce this:
- #42796 (closed) quantified that reduced thinking tokens correlated with a measurable shift from research-first to edit-first behavior on complex engineering work.
- #37441 (closed) made the parallel request for the web app.
- #41028 (open) is a bug where even manually passing
--effortis silently dropped — so the workaround isn't even reliable. - Diagnostic tasks are exactly the ones where shallow answers waste the most user time. A wrong hypothesis sends the user down a fake debugging path. The cost of extra thinking tokens is trivial compared to the cost of a wrong root cause.
Request
Either (or both) of:
- Raise the default thinking budget for Claude Code CLI, at least on Opus 4.6 1M where users have explicitly opted into the deep-thinking-capable model. The current default appears calibrated for short conversational turns; it is too low for the kind of multi-file, log-reading, evidence-weighing work the CLI is actually used for.
- Add automatic effort auto-escalation on diagnostic/investigative prompts. Detect keywords/intents like "why did X crash", "why is X failing", "find the bug", "root cause", "why is this happening", "diagnose", "what's wrong with" — and silently bump the effort level for that turn. This mirrors what the
deep-thinkskill already does heuristically; native handling removes the need for folk-knowledge workarounds.
If token cost is the concern, make auto-escalation opt-out via settings.json rather than opt-in. Users who want token frugality on trivial turns can disable it; the default should favor correctness on hard questions.
Environment
- Claude Code CLI: v2.1.107
- OS: Windows 11 Home Single Language 10.0.26100
- Shell: Git Bash 5.2.37
- Model:
claude-opus-4-6[1m](Opus 4.6, 1M context) settings.json:"alwaysThinkingEnabled": false(default — no manual override)
Related
- #47931 — the Claude Code crash bug that the shallow first-pass diagnostic missed and the escalated pass found. This issue exists because #47931 was nearly missed.
- #42796 (closed) — "Claude Code is unusable for complex engineering tasks" — evidence that thinking depth is load-bearing for engineering work.
- #37441 (closed) — parallel request for the web app.
- #41028 (open) —
--effortflag silently dropped, making manual escalation unreliable.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗