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

  1. Set "effortLevel": "max" in user ~/.claude/settings.json.
  2. Start a new session.
  3. Observe the active effort level — it does not match the persisted value.

Notes

  • No project-level override is present: neither .claude/settings.json nor .claude/settings.local.json in the workspace sets effortLevel, 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.

View original on GitHub ↗

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