[BUG] effortLevel "max" in settings.json ignored at session start (downgrades to high) — v2.1.162, regression of #43322
Bug
"effortLevel": "max" is set in ~/.claude/settings.json, but new sessions do not start at max. On the latest CLI they now start at high (previously reported as falling back to xhigh — this appears to have regressed further).
No /effort UI interaction is required to trigger it: it happens at plain session start.
This is a fresh report for the long-standing issue tracked in #43322, which was auto-closed as not planned (inactive) on 2026-06-03 with the message "Please open a new issue if this is still relevant." It is still relevant on v2.1.162.
Steps to reproduce
- Set
"effortLevel": "max"in~/.claude/settings.json(no project/local override). - Start a brand-new Claude Code session (do not touch
/effort). - Observe the active effort level — it is
high, notmax. - Run
/effortand selectmaxmanually → works for that session only (Set effort level to max (this session only)). - Start another new session → back to
high.
Expected
A new session should start at max when effortLevel: "max" is set in global settings.
Evidence / notes
/effortslider confirmsmaxis a real, valid level:low → medium → high → xhigh → max. So this is not "max is invalid" — it is a persistence/startup bug.- The settings JSON schema still rejects
maxon the typedeffortLevelfield (enum stops atxhigh) — see #35904 and #59699. This schema/runtime mismatch is likely the root cause: the value is written/accepted but silently dropped on load. - Setting
maxvia/effortmid-session always works, proving the level itself is functional. - Community workaround on #43322 (env var bypasses the schema enum and persists):
``json``
{ "env": { "CLAUDE_CODE_EFFORT_LEVEL": "max" } }
…but this is a hard override that also blocks switching effort (incl. escalating) within the session, so it is not an equivalent fix.
Environment
- Claude Code CLI:
2.1.162 - Node:
v26.0.0 - macOS:
15.7.4(Darwin 24.6.0) - Model:
claude-opus-4-8
Related (all closed or off-by-one in scenario)
- #43322 — effortLevel "max" does not persist across sessions (closed not-planned/inactive 2026-06-03 — this report supersedes it)
- #62783 — not respected on session start — falls back to xhigh (closed as duplicate of #43322)
- #35904 — effortLevel setting doesn't support "max" value (open — schema enum)
- #59699 — Effort slider fourth dot writes 'max' but schema only recognises 'xhigh' (closed)
- #30726 — silently downgraded when user interacts with effort selection UI (open — different trigger; this report is the no-interaction startup variant)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗