[BUG] Desktop app: effort menu shows the old settings.json level until the session's next turn
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In the Code tab, a session with no effort picked in its menu follows the level in ~/.claude/settings.json. When that setting changes, the session's menu keeps showing the old level, while its next turn already runs at the new one. Opening the session doesn't update the menu, only a turn does.
This morning I lowered Opus 5.5's effort (modelSettings.claude-opus-5-5.effortLevel) from xhigh to high. Two sessions I hadn't used since showed "Extra" when I opened them. After I sent a message in one of them, its menu switched to "High", and the transcript shows what the turns really ran at: "effort":"xhigh" on every assistant row before, "effort":"high" on the new turn's.
So until a session runs a turn, its menu can promise more effort than the turn gets. #89080 reports the same symptom in the VS Code extension, where the author also suspected a settings.json change.
What Should Happen?
The menu shows the level the next turn will run at.
Error Messages/Logs
2026-10-05T20:17:42Z last assistant row before the change version 2.1.286 effort xhigh
2026-10-07T09:34:35Z first assistant row after it version 2.1.289 effort high
Steps to Reproduce
- Set
"modelSettings": {"claude-opus-5-5": {"effortLevel": "xhigh"}}in~/.claude/settings.json - In the Code tab, send a message in an Opus 5.5 session that follows the setting (
"effortInherited": truein its record under~/Library/Application Support/Claude/claude-code-sessions/). Its menu shows "Extra" - Change the setting to
"effortLevel": "high" - Without relaunching the app, open the session again. Its menu still shows "Extra"
- Send a message. The menu switches to "High", and the new assistant rows in
~/.claude/projects/<project>/<session>.jsonlcarry"effort":"high"
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.289 (bundled with Claude Desktop 2.26454.0)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Claude Desktop 2.26454.0, macOS 26.5.1.
The record keeps the level a session inherited, and only a turn updates it. After its turn, the session above has "effort": "high", "effortInherited": true. Here 42 Opus 5.5 sessions that haven't run since the change still have "effort": "xhigh", and the five that have run since have high.
Picking a level in a session's menu fixes that session, since it then has its own level.