[BUG] --effort flag is parsed but not included in API request output_config
Resolved 💬 4 comments Opened Mar 30, 2026 by Tomsabay Closed May 3, 2026
Bug Description
The --effort CLI flag is correctly parsed and validated, but the value does not appear to be included in the output_config.effort field when making API requests. As a result, the effort setting is ignored, and the server default (e.g., reasoning_effort: 85 for Opus 4.6 Pro users) is used instead.
Evidence
- CLI accepts
--effort maxwithout error - Source code shows effort values are validated:
iq6=["low","medium","high","max"] - When inspecting API responses, the returned
reasoning_effortvalue does not match the--effortflag setting - Server returns default
reasoning_effort: 85regardless of--effortsetting
Environment Variable Workaround
Setting CLAUDE_CODE_EFFORT_LEVEL=max before spawning the claude process works around this issue. This suggests the flag parsing is correct but the value is not being propagated to the API request builder.
Version
Claude Code CLI 2.1.76
Additional Context
- Observed when using Opus 4.6 model
- The effort validation logic also shows that
maxis only fully supported for Opus 4.6 models (gets downgraded tohighfor other models)
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗