CLAUDE_CODE_EFFORT_LEVEL environment variable not reflected in /model UI
Description
The CLAUDE_CODE_EFFORT_LEVEL environment variable, documented at code.claude.com/docs/en/model-config, does not appear to take effect in the /model UI effort slider.
Steps to Reproduce
- Launch Claude Code with the environment variable set:
``bash``
CLAUDE_CODE_EFFORT_LEVEL=low claude --model opus --dangerously-skip-permissions
- Verify the environment variable is present in the process:
``bash``
cat /proc/<claude_pid>/environ | tr '\0' '\n' | grep EFFORT
# Output: CLAUDE_CODE_EFFORT_LEVEL=low
- Open
/modelmenu in Claude Code - Observe the effort slider at the bottom
Expected Behavior
The effort slider should display Low effort (matching the environment variable).
Actual Behavior
The effort slider always displays High effort (default) regardless of the environment variable value.
Tested Values
| CLAUDE_CODE_EFFORT_LEVEL | /model UI display |
|---|---|
| low | High effort (default) |
| medium | High effort (default) |
| high | High effort (default) |
| max | High effort (default) |
All four values were tested. None affected the UI.
Note: The /model UI left/right arrow key adjustment works correctly — this issue is specific to the environment variable path.
Environment
- Claude Code: v2.1.33 / v2.1.34
- Model: Opus 4.6 (via
--model opus) - Platform: WSL2 (Ubuntu on Windows)
- Node: v20.20.0
Source Code Reference
In the minified cli.js, the environment variable is read by a function that calls process.env.CLAUDE_CODE_EFFORT_LEVEL and validates against ["low", "medium", "high", "max"]. The validated value appears to be used in the API request priority chain (envVar ?? sessionValue ?? modelDefault), but is not reflected in the /model UI state.
Questions
- Is the environment variable intended to affect the
/modelUI display, or only the actual API requests? - If it only affects API requests, is there a way to verify it is actually being applied?
- The documentation at code.claude.com/docs/en/model-config lists only
low|medium|highas valid values, but the API docs at platform.claude.com/docs/en/build-with-claude/effort also listmax(Opus 4.6 only). Shouldmaxbe supported via the environment variable as well?
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗