[BUG] Settings effortLevel "max" is silently downgraded when user interacts with effort selection UI

Open 💬 10 comments Opened Mar 4, 2026 by carrotRakko

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When effortLevel is set to "max" in settings (e.g., ~/.claude/settings.json), the effort callout dialog shown on session start and the /model command only offer three options: low, medium, and high. Since max is not among the choices, selecting any option (typically high) silently overwrites the user's max setting for the remainder of the session.

This is despite the fact that:

  • The API documentation defines effort as "low" | "medium" | "high" | "max" (four values)
  • The Effort documentation explicitly describes max as "Absolute maximum capability with no constraints on token spending" (Opus 4.6 only)
  • claude --help shows --effort <level> with only (low, medium, high), omitting max
  • The Claude Code documentation also lists only three levels

So the API formally supports max, and the settings file accepts it without error, but there is no way to select or preserve it through the UI.

What Should Happen?

  1. If the user has set effortLevel: "max" in settings, the effort selection UI should either include max as an option, or not prompt the user to re-select effort at all (respecting the existing setting).
  2. claude --help and the Claude Code documentation should reflect the full set of valid values including max.
  3. At minimum, the UI should not silently downgrade a user's explicitly configured effort level.

Error Messages/Logs

_No error messages — the downgrade is silent._

Steps to Reproduce

  1. Set effortLevel to "max" in ~/.claude/settings.json:

``json
{ "effortLevel": "max" }
``

  1. Start a new session with claude
  2. Observe the effort callout dialog — only low, medium (recommended), and high are offered
  3. Select high (the closest available option to max)
  4. The session now runs at high effort instead of the configured max
  5. Similarly, running /model and adjusting effort only offers the same three options

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.68

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

iTerm2

Additional Information

Related issues:

  • #23606 — Feature request to add max effort to the UI (different angle: FR vs. this bug where existing settings are overwritten)
  • #23604 — CLAUDE_CODE_EFFORT_LEVEL environment variable not reflected in /model UI
  • #26950 — Effort level cannot be inspected or reliably controlled

Key distinction from #23606: This issue is specifically about settings being silently overwritten. Even if max is intentionally excluded from the UI, the current behavior should not force users to re-select effort and lose their configured value.

✍️ Author: Claude Code with @carrotRakko (AI-written, human-approved)

View original on GitHub ↗

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