/model displays effort from settings.json, ignoring CLAUDE_CODE_EFFORT_LEVEL env var override

Resolved 💬 5 comments Opened Mar 17, 2026 by ishassan Closed Apr 22, 2026

Description

The /model command does not reflect the effort level set via the CLAUDE_CODE_EFFORT_LEVEL environment variable. It only displays the value from settings.json, which can be misleading.

Additionally, /effort and /model show contradicting values, making it unclear which effort level is actually being used.

Steps to reproduce

  1. Set export CLAUDE_CODE_EFFORT_LEVEL=medium in your shell
  2. Set "effortLevel": "high" in ~/.claude/settings.json
  3. Start Claude Code
  4. Run /model - shows high effort
  5. Run /effort - shows medium effort

Expected

Both /model and /effort should show the same resolved effort level, accounting for env var precedence.

Actual

/model shows high (from settings.json), /effort shows medium (from env var). The user has no way to know which value is actually being applied.

Environment

  • Model: Opus 4.6 (1M context)
  • Platform: Linux (EC2)

View original on GitHub ↗

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