Effort/model selection ("ultracode") reverts to "extra" when switching chats

Open 💬 12 comments Opened Jun 8, 2026 by janikithup

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

  1. Open a chat in Claude Code Desktop.
  2. Open the effort/model selector and choose ultracode.
  3. Switch to a different chat (or open a new one).
  4. Switch back to the original chat (or check the selector in the new chat).
  5. 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).

View original on GitHub ↗

This issue has 12 comments on GitHub. Read the full discussion on GitHub ↗