effortLevel "medium" in settings.json not respected on Opus 4.7 session start (falls back to xhigh)

Resolved 💬 3 comments Opened Apr 17, 2026 by DrWaKu Closed Apr 17, 2026

Description

Persisted effortLevel: "medium" in ~/.claude/settings.json is not applied on new Opus 4.7 sessions — they start at xhigh instead.

Repro

  1. Set in ~/.claude/settings.json:

``json
{ "effortLevel": "medium" }
``

  1. Start a fresh Claude Code session on Opus 4.7
  2. Observed effort: xhigh
  3. Expected effort: medium

Investigation

Ruled out all override sources:

  • No managed-settings.json (checked /Library/Application Support/ClaudeCode/, /etc/claude-code/, ~/.claude/)
  • No project-level .claude/settings.json in CWD
  • ~/.claude/settings.local.json contains only permissions, no effortLevel
  • No relevant env vars (CLAUDE_CODE_*, ANTHROPIC_*, EFFORT*)
  • No override in ~/.claude.json state file

Potentially related flag found in ~/.claude.json:

"unpinOpus47LaunchEffort": true

This suggests Opus 4.7 may have launch-effort logic that bypasses the persisted effortLevel.

Environment

  • CLI version: 2.1.112 (native install)
  • Platform: macOS (Darwin 25.5.0)
  • Model: Opus 4.7 (claude-opus-4-7)

View original on GitHub ↗

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