Silent model fallback: Fable 5 -> Opus 4.8 mid-session with no notification when a usage limit is hit

Resolved 💬 2 comments Opened Jul 12, 2026 by sayphon Closed Jul 15, 2026

Problem

When a usage limit is reached (in my case the 5-hour limit hit 93% while the weekly limits still had headroom), Claude Code Desktop silently falls back from the model I selected (Fable 5) to another model (Opus 4.8) mid-session. There is no message, no toast, no chat notice telling me the switch happened or why.

The only way I discovered it was by chance: the model name in the composer footer changed from "Fable 5" to "Opus 4.8". I had explicitly run /model claude-fable-5 (it reported "Set model to claude-fable-5"), yet the next turns ran on Opus. Re-running /model claude-fable-5 sets it back, but on the next limit pressure it silently swaps again - so it oscillates Fable <-> Opus repeatedly during a working session.

Why this is bad (trust)

This is a paid product. Silently substituting the model a paying user chose, without a word, reads as the product quietly downgrading what they paid for and hoping they won't notice. It is exactly the kind of dark pattern a founder would never want to inflict on their own subscribers. It is not just a display nuisance - it is a trust problem.

Steps to reproduce

  1. Select Fable 5 via /model claude-fable-5 (footer shows Fable 5).
  2. Do heavy work until the 5-hour usage limit approaches its cap (weekly limits can still have room).
  3. Continue - the session silently falls back to Opus 4.8; the footer quietly changes; no notification is shown.
  4. Run /model claude-fable-5 again - it returns to Fable, then swaps away again under the next limit pressure.

Expected

  1. Announce the switch explicitly the moment it happens: an inline chat/system notice like "Fable 5's 5-hour limit is reached; switched to Opus 4.8 until it resets at HH:MM." Never swap the paid-for model silently.
  2. Say which limit triggered it (5-hour vs weekly vs weekly-per-model) and when it resets, so the user can decide to pause instead of continuing on a different model.
  3. Offer a setting to opt out of automatic fallback - "pause instead of switching models" - for users who would rather wait than run on a model they didn't choose.
  4. Keep the footer indicator, the /model result, and the actual runtime model in agreement at all times.

Environment

  • Claude Code Desktop (Windows 11), Max 20x subscription
  • Observed: 5-hour limit at 93% (red, ~47 min to reset), Weekly all-models 45%, Weekly Fable 88%; footer flipped Fable 5 <-> Opus 4.8 across turns

Impact

Silent model downgrades on a paid plan erode trust in the exact moments users are working hardest. A single honest sentence ("limit hit, switched, resets at X") would turn a frustrating dark-pattern experience into a transparent one.

View original on GitHub ↗

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