[BUG] Effort level switched to medium without the user running /effort; later xhigh switch never applied
Status Open
Reported on v2.1.286
Maintainer reply None cached
Activity 0 comments · opened Sep 30, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet (closest: #90419, #96381; neither covers a phantom
/effortentry or a status line that disagrees with settings) - [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
The session's effort level changed to medium without the user running /effort medium. After that, the user's later switch to xhigh never took effect, even though ~/.claude/settings.json now reads xhigh.
Timeline in one long interactive session (after a /compact and a crash/resume):
- The user ran
/effort high. It worked ("Set effort level to high (saved as your default for new sessions)"). - About 20 minutes later, the transcript shows a local-command entry
/effort med, "Set effort level to medium (saved as your default for new sessions)", followed by an unrelated user message. The user says they never typed/effort med. - Later the user ran
/effort xhigh, then asked the model to redo a complex task at that level. The command never reached the model's transcript. The status line still showed medium, and the task ran at medium. - At that point
~/.claude/settings.jsonhas"effortLevel": "xhigh"and the session's shell env hasCLAUDE_EFFORT=xhigh, while the status line shows medium.
Net effect: a task the user explicitly wanted at xhigh ran at medium, and the transcript attributes a medium switch to the user that they say they never made.
What Should Happen?
- The effort level changes only when the user runs
/effortor changes it in settings. - The transcript records only commands the user actually entered.
- When settings say xhigh, the status line and the session's actual effort agree.
Error Messages/Logs
None shown. The phantom entry appears in the transcript as a local-command block <command-name>/effort</command-name><command-args>med</command-args>.
Steps to Reproduce
Not reliably reproducible yet. Conditions when it happened:
- A long session with many cross-session (UDS peer) messages arriving mid-turn.
- Background Bash tasks running.
/compactand a machine lock-up/resume earlier in the session./effort highrun once, then the phantom/effort medabout 20 minutes later.
Claude Model
Opus
Is this a regression?
I don't know
Claude Code Version
2.1.286 (Claude Code)
Platform
Anthropic API
Operating System
macOS (Darwin 25.6.0)