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
- Set in
~/.claude/settings.json:
``json``
{ "effortLevel": "medium" }
- Start a fresh Claude Code session on Opus 4.7
- Observed effort:
xhigh - 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.jsonin CWD ~/.claude/settings.local.jsoncontains only permissions, noeffortLevel- No relevant env vars (
CLAUDE_CODE_*,ANTHROPIC_*,EFFORT*) - No override in
~/.claude.jsonstate 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)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗