/effort auto is a hard alias for /effort max (not adaptive)

Resolved 💬 2 comments Opened Apr 18, 2026 by hacksurvivor Closed May 26, 2026

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

  1. Start a fresh Claude Code session.
  2. Run /effort auto.
  3. Observe local output: Effort level set to max.
  4. Ask a trivial question in the next turn (e.g. "what time is it?").
  5. Run /effort auto again before another trivial turn. Output is always Effort 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 medium writes "effortLevel": "medium" to ~/.claude/settings.json); only auto is 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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗