[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 /effort entry 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):

  1. The user ran /effort high. It worked ("Set effort level to high (saved as your default for new sessions)").
  2. 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.
  3. 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.
  4. At that point ~/.claude/settings.json has "effortLevel": "xhigh" and the session's shell env has CLAUDE_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 /effort or 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.
  • /compact and a machine lock-up/resume earlier in the session.
  • /effort high run once, then the phantom /effort med about 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)

View original on GitHub ↗