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).
12 Comments
+1 it's really frustrating
+1, same issue. Highly annoying.
+1 same here! really annoying
+1
+1, super annoying.
+1
+1 and opus 4.8 is definitely super dumb on Extra, and it deleted bunch of files. So it s a dangerous bug.
I have noticed this as well: Ultra switches to Extra as soon as I send a message.
+1
+1
+1
+1