[BUG] /model silently disables Ultracode in a live session
Preflight Checklist
- [x] I am using the latest version of Claude Code (v2.1.222)
- [x] I searched existing issues. Related but distinct: #66266 (reverts when switching chats), #71774 (does not persist across new sessions), #78718 (
dynamicWorkflowsEnabledhides the display). This report is about/modelclearing it within one live chat, which none of those cover.
What's Wrong
Running /model inside a session that has Ultracode enabled silently turns Ultracode off. The composer footer goes from Opus 5 Ultracode to Opus 5 alone, with no message saying the setting was dropped.
This is not only a display problem. In the affected session the assistant went on receiving no ultracode system-reminder on subsequent turns, which is what an assistant sees when the mode is genuinely off — so the session state itself appears to be cleared, not just its label. That matters because the assistant's behaviour is gated on that reminder: it will quietly stop defaulting to multi-agent workflows while the user believes Ultracode is still on.
Ultracode is session-only state with no representation in settings.json, so nothing restores it and nothing reports the loss. The user only finds out by noticing the footer changed.
What Should Happen
Changing the model should leave Ultracode alone. If there is a genuine reason it cannot survive a model change, the client should say so explicitly at the moment it happens rather than dropping it silently.
Steps to Reproduce
- Open a chat in Claude Code Desktop and enable Ultracode. Footer shows
Opus 5 Ultracode. - Run
/modeland select a model (reproduced selecting Opus 5, including when it is already the active model). - Observed: footer shows
Opus 5with noUltracode; subsequent turns carry no ultracode system-reminder. - Expected: Ultracode remains enabled, or the client states that it was cleared.
Claude Code Version
2.1.222 (native install)
Platform
Claude Code Desktop, Windows
OS
Windows 11 Pro 10.0.26200
Additional Info
grep -i ultracode across ~/.claude/settings.json and the per-config-root settings.json files returns nothing, confirming the mode is never written to disk and so cannot be recovered after it is cleared.
The common thread across this, #66266 and #71774 is that Ultracode lives only in volatile per-view state, so any state transition can drop it and none of them announce it. A single durable owner for the flag would close all three.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗