Effort/model selection ("ultracode") reverts to "extra" when switching chats
Preflight Checklist
- [x] I am using the latest version of Claude Code (v2.1.156)
- [ ] I searched existing issues and this hasn't been reported (possible duplicate: #30726 —
effortLevel: "max"silently downgraded by effort selection UI)
What's Wrong
Setting a chat's effort/model to ultracode does not persist. As soon as I switch to a different chat, the selection silently reverts to extra — it is neither retained on the chat it was set on, nor carried forward as the active default. It consistently falls back to "extra" every time.
What Should Happen
The effort/model selection should stick per-chat. After choosing "ultracode" and switching chats, returning to that chat should still show "ultracode". A newly-opened chat should ideally inherit the last-chosen level rather than resetting to "extra".
Steps to Reproduce
- Open a chat in Claude Code Desktop.
- Open the effort/model selector and choose ultracode.
- Switch to a different chat (or open a new one).
- Switch back to the original chat (or check the selector in the new chat).
- Observed: effort/model has reverted to extra.
Claude Code Version
2.1.156
Platform
macOS
OS
Darwin 25.5.0 (macOS 26 "Tahoe")
Additional Info
Config state confirmed: ~/.claude/settings.json contains no effortLevel key. The ultracode selection is never written to disk — on every chat load, the app falls back to the default ("extra"). The selection lives only in volatile per-chat UI state.
Related issue: #30726 — effortLevel: "max" is silently downgraded when the user interacts with the effort selection UI (same general area, different trigger).
This issue has 12 comments on GitHub. Read the full discussion on GitHub ↗