/effort xhigh silently switches model from Fable 5 to Opus 4.8, and reverting effort does not restore it
What happened
Setting /effort xhigh silently switched the session model from Fable 5 to Opus 4.8, mid-session, with no notice. Lowering effort back to high did not restore Fable 5 — the session stayed on Opus 4.8 until I manually ran /model.
This is not quota-related (see "Not quota" below).
Evidence (from the session transcript)
Model per assistant message, extracted from ~/.claude/projects/<proj>/<session>.jsonl:
2026-07-18T21:42:15Z claude-fable-5 <- session start, model explicitly selected as Fable 5
... claude-fable-5 <- stays Fable 5 for ~2 days of work
2026-07-20T20:47:25Z (user runs /effort -> "Set effort level to xhigh")
2026-07-20T20:47:44Z claude-opus-4-8 <- next assistant turn, 19s later: model changed
... claude-opus-4-8
2026-07-20T20:49:42Z (user runs /effort -> "Set effort level to high")
... claude-opus-4-8 <- NOT restored; stays on Opus
2026-07-20T20:5xZ (user runs /model -> Fable 5) <- only this restored it
The /effort picker described xhigh as: Deeper reasoning than high, just below maximum (Fable 5, Opus 4.7+, Sonnet 5) — i.e. it lists Fable 5 as supporting xhigh, so a model change should not have been necessary.
Not quota
At the moment of the switch, /usage showed ample headroom:
- Current session: 7% used
- Current week (all models): 5% used
- Current week (Fable): 9% used
- Usage credits: off
So this was not credit exhaustion or a weekly-limit fallback.
Impact
The user is running Fable 5 deliberately as the orchestrator for a long-lived multi-agent session. A silent downgrade mid-session:
- changes model behaviour with no visible signal in the conversation,
- is not reverted when the triggering setting is reverted,
- led the user to conclude the model itself was underperforming, because nothing indicated the model had changed.
At minimum, an effort change that forces a model change should say so explicitly, and reverting the effort should revert the model.
Expected
/effort xhighon Fable 5 should keep Fable 5 (the picker lists Fable 5 as supported), or- if a model change is genuinely required, print an explicit notice (e.g. "xhigh is not available on Fable 5 — switching to Opus 4.8"), and restore the previous model when effort is lowered again.
Environment
- Claude Code 2.1.215, macOS (darwin 25.5.0)
- Selected model: Fable 5 (
claude-fable-5) - Observed fallback model:
claude-opus-4-8