[BUG] Fable 5 blocked in interactive sessions by "usage credits" dialog while headless --model claude-fable-5 succeeds on the same account (Max 20x, reproduced on 2.1.222 and 2.1.223)
Summary
On a Max 20x plan with Fable 5 included, any interactive Claude Code session that resolves to Fable 5 is blocked by a usage-credits dialog with no option to continue on the plan.
The same account runs Fable 5 successfully in headless mode in the same minute, billed to the plan, with usage credits switched off. The weekly Fable allowance sits at 93%, so it is not exhausted.
Environment
- Claude Code 2.1.223 (also reproduced on 2.1.222)
- Windows 11, npm-global install, VS Code extension 2.1.223
- Login method: Claude Max account (Max 20x)
- Usage credits: off, 0.00 balance, never enabled
claude doctor: no installation issues
Exact dialog
Fable 5 now uses usage credits
Fable 5 runs on usage credits, purchased separately from your plan.
You don't have usage credits yet.
1. Set up usage credits on claude.ai
> 2. Switch to Sonnet 5 and continue
There is no "continue on plan" option. Declining drops the session to Sonnet 5.
Contradiction with claude.ai and /status
claude.ai, Settings, Usage says right now:
Fable 5 is still included with your Max plan. If you see a prompt to set up usage credits for it, restart Claude Code.
/status in the affected session reports:
Login method: Claude Max account
Current week (Fable) 93% used Resets Aug 8, 5pm (Europe/Copenhagen)
Usage credits are off
The discriminator: headless works, interactive does not
Same machine, same account, minutes apart, usage credits off:
$ claude --model claude-fable-5 -p "say ok" --output-format json
...
"modelUsage":{"claude-fable-5":{"inputTokens":2,"outputTokens":29,
"contextWindow":1000000,"canonicalModel":"claude-fable-5",
"provider":"firstParty","costUSD":0.2236}}
This succeeds every time, and it also succeeds with no flag when "model": "claude-fable-5[1m]" is set in settings.json.
So the account is entitled to Fable 5 and the weekly allowance is not exhausted. Only the interactive path consults whatever returns "credits required".
Ruled out
- Version regression. Reproduced on both 2.1.222 and 2.1.223. Both binaries contain identical dialog strings and the same
isFableCreditsRequired,fableConsentDialogInteractedandfableOverageConsentV2symbols. - Stale local state. No Fable consent or credits key is persisted in
~/.claude.json. Restarting, including fresh terminals and fresh sessions, never clears it. - Client-side override. No environment variable or setting exposes a bypass.
fableConsentOverrideis internal model-resolution state, not user-settable. - Account mislabel.
/statuscorrectly reports "Claude Max account", so this differs from #84015.
Expected behaviour
The interactive model picker should recognise the Max plan Fable allowance and draw from it, matching what headless mode already does and what claude.ai reports.
Note on the suggested workaround
Turning on usage credits should not be the fix, and it is actively harmful. In #84479 a user followed that advice and was charged while still not getting Fable access.
Related
#84479, #84015, #83579, #79412, #79337
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗