[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 max without error
  • Source code shows effort values are validated: iq6=["low","medium","high","max"]
  • When inspecting API responses, the returned reasoning_effort value does not match the --effort flag setting
  • Server returns default reasoning_effort: 85 regardless of --effort setting

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 max is only fully supported for Opus 4.6 models (gets downgraded to high for other models)

View original on GitHub ↗

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