[BUG] Desktop/Cowork: model selection reverts to Fable 5 in an existing session until the app is restarted (silent extra-credit spend)

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

Preflight Checklist

  • [x] I am using the latest version (Claude Desktop 1.30096.5, bundled claude-code 2.1.229)
  • [x] I searched existing issues. Closest matches are #73881 (mid-session switch not applied — UI shows B, session runs A) and #66266 (effort/model selection reverts when switching chats). Neither describes this one: here the selector itself visibly jumps back, and a full app restart is what fixes it.
  • [x] Single bug report

What's Wrong?

Environment

  • Claude Desktop 1.30096.5 (macOS 26.6.1, Darwin 25G76), Cowork
  • Plan: Pro
  • Models involved: claude-fable-5 / claude-fable-5[1m] → Opus

Summary

A long-running Cowork session had Fable 5 selected weeks ago. Changing the model on that session to Opus does not stick — the selector reverts to Fable 5 again, repeatedly, for as long as the app keeps running. After a full restart of Claude Desktop the same change persists.

This is a cost bug, not a cosmetic one. On a Pro plan Fable 5 is billed against extra usage credits regardless of how much normal session capacity is left, so every turn in that session kept spending extra credits while the 5-hour window was nearly empty — and the user's attempt to move off Fable was silently undone.

Evidence from disk

  1. The per-session model lives in the desktop app's Local Storage under cowork-sticky-model-selector-<sessionId> (observed value claude-fable-5[1m]), plus a model-selector-thinking:<orgId>:chat:claude-fable-5 entry with effort max. The pin is per session, so a session created while Fable was selected stays on Fable indefinitely — nothing in the UI flags that this session bills differently from the others.
  1. ~/Library/Application Support/Claude/plan-usage-history.json shows extra usage (xu) rising while the 5-hour window (fh) was far from exhausted:
2026-08-12 22:05   xu 45.66 -> 46.74   fh=6    sd=63
2026-08-13 09:15   xu 62.59 -> 69.15   fh=0    sd=65
2026-08-13 21:15   xu 69.15 -> 70.53   fh=6    sd=65
2026-08-16 23:40   xu 80.16 -> 85.09   fh=27   sd=58
  1. The 09:15 jump on 2026-08-13 correlates with a local agent-mode session that ran 08:00–09:41 with "model": "claude-fable-5" — while the same daily scheduled task ran on claude-opus-5 on every other day of that week. Scheduled tasks inherit the model from this state, so a background task can silently run on a credit-billed model.

Steps to Reproduce

  1. In Claude Desktop, open a Cowork session and select Fable 5 for it.
  2. Return to that session later (days or weeks — the pin survives).
  3. Open the model selector and switch it to Opus.
  4. Observed: the selection reverts to Fable 5. Repeating the change does not help; turns continue to bill extra usage credits.
  5. Quit and relaunch Claude Desktop, then change the model again — now it persists.

What Should Happen?

  • A model change in an existing session takes effect and persists without restarting the app. If the client cannot apply it to a running session, it should say so explicitly rather than silently snapping back.
  • The sticky per-session pin should be visible: when a session is pinned to a model that bills extra usage credits, that ought to be surfaced in the session and in any scheduled task inheriting it — the current behaviour is indistinguishable from normal plan usage until the credit balance is checked days later.

Additional Info

  • Also affects Cowork scheduled tasks, which inherit the selected model. In this account a 30-minute scheduled task ran 140 times on claude-fable-5 over one week purely because that was the model selected at the time.
  • Related: #73881, #66266, #75272.

View original on GitHub ↗

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