effortLevel in settings.json not honored on session start
Resolved 💬 2 comments Opened Jun 8, 2026 by zhaparoff Closed Jun 12, 2026
Summary
effortLevel set in ~/.claude/settings.json (user settings) does not appear to be honored when a new session starts. The active effort level seems to vary between sessions even though the persisted effortLevel value is unchanged by the user.
Environment
- Claude Code via VS Code extension
- Model: Opus 4.8 (1M context)
- Platform: Windows 11
Expected behavior
A new session reads effortLevel from ~/.claude/settings.json and starts the session at that effort level.
Actual behavior
New sessions start at an effort level that does not match the persisted effortLevel in user settings, and the effective level appears to change from session to session without the user editing the file.
Repro
- Set
"effortLevel": "max"in user~/.claude/settings.json. - Start a new session.
- Observe the active effort level — it does not match the persisted value.
Notes
- No project-level override is present: neither
.claude/settings.jsonnor.claude/settings.local.jsonin the workspace setseffortLevel, so settings-layer precedence does not explain it. - Understood that editing settings.json mid-session does not retroactively apply to the running session; the report is specifically about a fresh session not picking up the persisted value at startup.
- Possible interaction with the fast-mode toggle, which appears to persist independently and may influence effective output behavior separately from
effortLevel.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗