[Feature Request] Add session-level effort override without persisting to default configuration
Status Fixed / completed
Reported on v2.1.170
Maintainer reply ✓ Yes — bcherny
Activity 4 comments · opened Jun 10, 2026 · closed Aug 17, 2026
💡 Likely answer: A maintainer (bcherny, collaborator)
responded on this thread — see the highlighted reply below.
Bug Description
would be nice to be able to switch effort for just a session without changing the default. I'd much rather have a default of xhigh and bump it to max or scale it down in a session without it leaking into every new session
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.1.170
- Feedback ID: 269f7a30-d756-42a8-beaa-5dbe957d4657
Errors
[]Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
Yeah, this would be super helpful. Finding myself constantly having to change the default back.
Here's a / command and script I wrote to allow you to easily change the default effort level back after changing the effort level in a session in case anyone finds it helpful:
/default-effort— change Claude Code's default effort without touching your current sessionThe problem: Claude Code's
/effort <level>changes both the current session's effort and the persisted default that every new session inherits. That coupling can't be disabled. So there's no built-in way to bump just the current session without also changing the default for all future sessions.The fix: a small slash command,
/default-effort [level], that patches only the persisted default. Running it does not affect your current session (the default is read at session start, not hot-reloaded — verified). With no argument it resets the default tomedium.It works because the default is a single key,
"effortLevel", in~/.claude/settings.json. The command just surgically rewrites that one key.Requirements
jqinstalled (which jq).Setup — 2 files
1.
~/.claude/scripts/set-default-effort.sh2.
~/.claude/commands/default-effort.mdInstall
Reload commands in Claude Code (
/reload-skills, or start a new session) and you're set.Notes
settings.jsonis missing/malformed, and writes atomically (temp file +mv) so your settings can't be corrupted mid-write.bash ~/.claude/scripts/set-default-effort.sh high.VALID=(...)line.You can do this with the
--effortflag:claude --effort max(orlow,medium,high,xhigh) applies to that session only and does not change your saved default. KeepeffortLevelin settings.json (or set it once with/effort) as your baseline, and pass--effortwhen you want a one-off bump or drop.Docs: https://code.claude.com/docs/en/cli-reference and https://code.claude.com/docs/en/model-config#adjust-effort-level
🤖 Generated with Claude Code