[BUG] /model silently disables Ultracode in a live session

Status Open
Reported on v2.1.222
Maintainer reply None cached
Activity 1 comment · opened Aug 5, 2026

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 (dynamicWorkflowsEnabled hides the display). This report is about /model clearing 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

  1. Open a chat in Claude Code Desktop and enable Ultracode. Footer shows Opus 5 Ultracode.
  2. Run /model and select a model (reproduced selecting Opus 5, including when it is already the active model).
  3. Observed: footer shows Opus 5 with no Ultracode; subsequent turns carry no ultracode system-reminder.
  4. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗