/effort should override CLAUDE_CODE_EFFORT_LEVEL env var

Resolved 💬 2 comments Opened Mar 27, 2026 by nicksonnenberg Closed Apr 27, 2026

Summary

When CLAUDE_CODE_EFFORT_LEVEL is set as an environment variable, the /effort session command refuses to override it:

/effort max
Not applied: CLAUDE_CODE_EFFORT_LEVEL=high overrides effort this session, and max is session-only (nothing saved)

Expected Behavior

The precedence should be: session /effort > env var > built-in default

Users naturally set the env var as a default in their shell profile, expecting to override it per-session when needed. The current behavior treats the env var as a hard ceiling that can't be overridden, which is counterintuitive.

Current Behavior

The env var acts as an immutable override: env var > session /effort (session command is blocked entirely).

Suggested Fix

Allow /effort to override CLAUDE_CODE_EFFORT_LEVEL for the current session. The env var should function as the default, not a lock.

Reproduction

  1. export CLAUDE_CODE_EFFORT_LEVEL=high
  2. Start Claude Code
  3. Run /effort max
  4. Observe: override is rejected

View original on GitHub ↗

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