/effort auto is a hard alias for /effort max (not adaptive)
Bug
<img width="602" height="470" alt="Image" src="https://github.com/user-attachments/assets/edda7f69-7299-4265-94f2-0c9e98ba8842" />
/effort auto behaves as a hard alias for /effort max — it never resolves to a lower level regardless of the upcoming task. This defeats the purpose of an "auto/adaptive" mode and makes it impossible to opt into per-turn adaptive reasoning.
Reproduction
- Start a fresh Claude Code session.
- Run
/effort auto. - Observe local output:
Effort level set to max. - Ask a trivial question in the next turn (e.g. "what time is it?").
- Run
/effort autoagain before another trivial turn. Output is alwaysEffort level set to max, never a lower resolved level.
Tried with simple and complex tasks; the output string is identical every time, which suggests auto isn't inspecting the turn — it's statically mapped to max.
Aside: the valid-options error message lists auto as distinct from max:
/effort maxx
Invalid argument: maxx. Valid options are: low, medium, high, xhigh, max, auto
…so auto is clearly meant to be a separate mode, not a synonym.
Expected
auto should pick an effort level per turn based on task complexity (or defer to the harness's default heuristic), not hardcode max.
Environment
- Claude Code: 2.1.114
- Install method: standalone installer (
~/.local/share/claude/versions/2.1.114, symlinked into~/.local/bin/claude) - macOS 26.3.1 (Darwin 25.3.0)
- Effort persists correctly for other levels (
/effort mediumwrites"effortLevel": "medium"to~/.claude/settings.json); onlyautois broken.
Impact
Users who want an automatic/adaptive effort cannot get one. They either sit at max (slow, expensive) or manually toggle /effort <level> every turn.
Suggested fix
Either make auto actually adaptive per turn, or rename it (e.g. drop from the valid-options list) if it's intentionally identical to max, because the current naming is misleading.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗