/effort displays 'xhigh' instead of 'max' when CLAUDE_CODE_EFFORT_LEVEL=max is set via env var
Summary
When CLAUDE_CODE_EFFORT_LEVEL=max is configured in settings.json under the env block, running /effort at the start of a new session displays xhigh instead of max.
Steps to Reproduce
- Set
CLAUDE_CODE_EFFORT_LEVEL=maxin~/.claude/settings.json:
``json``
{
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "max"
}
}
- Start a new Claude Code session
- Run
/effort
Expected Behavior
/effort should display max as the current effort level, since the env var is active and the docs explicitly state it persists across sessions when configured this way.
Actual Behavior
/effort displays xhigh instead of max, even though the env var is set correctly.
Relevant Documentation
From https://code.claude.com/docs/en/model-config:
_low, medium, high, and xhigh persist across sessions. max provides the deepest reasoning with no constraint on token spending and applies to the current session only, except when set through the CLAUDE_CODE_EFFORT_LEVEL environment variable._
This implies max should be a recognized, persistent state when set via CLAUDE_CODE_EFFORT_LEVEL, but /effort does not reflect it.
Notes
The actual effort behavior may still be max — this appears to be a display inconsistency in the /effort command rather than a functional bug. Still, the misleading display makes it hard to verify the setting is taking effect.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗