effortLevel setting in settings.json not applied on startup
Resolved 💬 3 comments Opened Apr 8, 2026 by khoiado Closed May 27, 2026
Description
The effortLevel setting in the global ~/.claude/settings.json is not being applied when Claude Code starts. The effort level defaults to "medium" despite the config explicitly setting it to "max".
Configuration
~/.claude/settings.json:
{
"permissions": {
"defaultMode": "bypassPermissions"
},
"effortLevel": "max",
"skipDangerousModePermissionPrompt": true
}
Expected Behavior
Claude Code should start with effort level set to max as configured.
Actual Behavior
defaultMode: "bypassPermissions"works — status bar shows "bypass permissions on" ✅effortLevel: "max"does not work — status bar shows "medium · /effort" ❌
The user has to manually cycle the effort level via /effort each session.
Environment
- Claude Code version: 2.1.97 (latest as of 2026-04-08)
- OS: macOS (Darwin 24.3.0)
- Shell: zsh
- Model: Opus 4.6 (1M context) — Claude Max
Screenshot
The status bar on startup shows "medium · /effort" instead of the configured "max":
>> bypass permissions on (shift+tab to cycle) ● medium · /effort
Notes
No project-level settings override effortLevel — the project .claude/settings.local.json only contains permission allow-lists.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗