Fable 5 safeguard flag silently reroutes sessions to Opus 4.8 for hundreds of turns with no persistent indicator

Status Open
Reported on v2.1.214
Maintainer reply None cached
Activity 1 comment · opened Jul 18, 2026

Summary

When Fable 5's dual-use safeguards flag a message, Claude Code reroutes the session to claude-opus-4-8 — and the downgrade then persists silently for hundreds of turns (in one session, ~840 assistant messages across ~23 hours) while the UI still presents the session as Fable 5. The one-time banner is easy to miss and there is no persistent indicator, no per-response model display, and no notification when the reroute continues into later turns.

Separately, the flag rate appears to have jumped sharply around 2026-07-16 (coinciding with the Fable availability incident that day), which is likely fueling the widespread "Fable is nerfed / it's Opus wearing a Fable badge" reports on r/ClaudeCode.

Environment

  • Claude Code 2.1.214, macOS 26.5.2 (darwin), Max subscription
  • Model selected: Fable 5 (claude-fable-5)
  • Workload: defensive AI-safety R&D on our own product (red-team validation of our own guardrail constitutions, jailbreak-resistance testing of our own runtime checker) — i.e., exactly the "safe and routine coding, cybersecurity" work the banner itself says may be over-flagged.

Evidence (from local transcripts in ~/.claude/projects/, which record the serving model per assistant message)

Session f934e116-fcc7-4e60-ba30-8032798517f5:

  • line 178: system event: "Fable 5's safeguards flagged this message. The safeguards are intentionally broad right now and may flag safe and routine coding, cybersecurity, or biology work…" at 2026-07-16T03:01Z
  • line 179 onward: assistant messages switch from claude-fable-5 to claude-opus-4-8
  • The session serves 319 messages as claude-opus-4-8 and only reverts to claude-fable-5 at line 1020, 2026-07-17T02:04Z — roughly 23 hours later, with no further notice.

Session c86fd4a0-8aaa-4e7c-a3c6-8030c3f1bcec: same pattern — Fable from session start 2026-07-17T02:00Z, safeguard flag, then claude-opus-4-8 from 02:12Z onward (485 of 578 assistant messages served by Opus).

Flag frequency in this one project directory (grep -l "safeguards flagged" *.jsonl): 40 sessions since 2026-06-30, of which 18 on 2026-07-16 alone — a step change coinciding with that day's incident.

Why this is a bug (or at least a severe UX gap)

  1. Silent persistent substitution. A one-line transient banner does not adequately disclose that all subsequent responses — potentially for the rest of the session — are served by a different, lower-tier model than the one selected and paid for. Users reasonably conclude the model was covertly degraded; see the current r/ClaudeCode threads alleging "quantized Fable for subscribers." The transcripts show the real mechanism, but the UX is indistinguishable from covert substitution.
  2. No recovery path. Nothing indicates when/whether the session returns to Fable, and no command surfaces the currently-serving model. (The model selector can show Fable while Opus serves — users have posted screenshots of this desync.)
  3. Over-broad classifier since ~07-16. Flagging defensive security work on one's own product 18 times in a day makes Fable effectively unusable for the security-adjacent development it is otherwise well suited to.

Suggested fixes

  • Persistent visual indicator (statusline/model chip) whenever the serving model differs from the selected model, for every affected turn — not a one-time banner.
  • Explicit notice when the reroute ends, or make it per-turn rather than sticky across hundreds of turns.
  • A way to see the serving model per response (e.g., /status showing "selected: fable-5, serving: opus-4-8 (safeguard reroute)").
  • Recalibrate the safeguard classifier for routine defensive-security workloads, or provide an org-level attestation path for authorized security R&D.

Repro

Any sustained session doing defensive security/red-team work on Fable 5 in Claude Code; watch ~/.claude/projects/<project>/<session>.jsonl for the "model" field flipping to claude-opus-4-8 after a "safeguards flagged" system event, then observe that it persists with no UI indication.

View original on GitHub ↗

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