[Bug] Fable 5.1 incorrectly blocked by usage credits despite included Max plan allowance
Bug Description
Fable 5.1 blocked behind usage credits on Max 5x plan despite included Fable allowance. [/model prompt] "Switch to Fable 5.1? Fable 5.1 runs on usage credits, purchased separately from your plan. You don't have usage credits yet. Starts with a $20 monthly limit · run /usage-credits to adjust" — only options: "No, keep my current model" / "Yes, buy usage credits". Chose No → "Kept model as Opus 5 (1M context) (default)". [/usage screen] Current session 13% used (resets 1:30pm Asia/Seoul); Current week (all models) 1% used, resets Sep 13 12pm; Current week (Fable) 2% used, resets Sep 13 12pm; Usage credits: off. [/status screen] Version 2.1.263; Login method: Claude Max account; Model: Default (Opus 5 with 1M context); Setting sources: User settings; Windows/PowerShell. [claude.ai Settings > Usage] Plan usage limit: Max (5x); Current session 9%; Weekly limit — All models 1%, Fable 2%; banner: weekly Claude Code limit raised 50% until Sep 13. Per Help Center "Claude Fable models on your plan", Fable 5.1 is included on Max up to 50% of weekly limits, so the credits prompt is wrong — the client itself shows a Fable plan bucket at 2%. Same contradiction as issues #79412 / #79337 (Fable 5 on Max, 2026-07-20, resolved server-side). Already tried: settings.json had "model":"fable[1m]" → removed line, restarted → same prompt; selected standard Fable 5.1 entry (not 1M) → same; /logout → /login → same; usage credits kept OFF. Observed 2026-09-07 (Asia/Seoul). Request: fix Fable 5.1 entitlement for Max plan in Claude Code /model picker.
Environment Info
- Platform: win32
- Terminal: vscode
- Version: 2.1.263
- Feedback ID: 1596c5b1-f916-48ab-9902-5bbae74b3071
Errors
[]
3 Comments
Same thing here on Max 20x, macOS, native install, Claude account login, usage credits off. Mine happened mid-session rather than at the picker, and a fresh session on the same machine got Fable while the stuck one was still refusing it.
What the transcript shows
The session ran on 2.1.277 with
claude-fable-5-1at 1M context, about 565k tokens in the window. Fable had served it since the previous evening. It then sat idle for 10 hours overnight. The first turn of the morning came back from Fable as normal (07:46 to 07:48 UTC). Two minutes later, on the second turn, the transcript has this (ids and paths removed):That line is the only trace. The transcript holds no API error entry anywhere.
Usage 47 seconds later
From
cachedUsageUtilizationin~/.claude.json,as_of2026-09-21T07:51:26Z, trimmed:cachedExtraUsageDisabledReasonis"org_level_disabled"andspend.can_purchase_creditsisfalse. That is the same value @mills-nick reported on #79412. The weekly window had reset the afternoon before, so the account sat at 6% of its Fable allowance when the client said Fable needed credits.Stuck session and fresh session, 28 seconds apart
/modelthen Fable. "Switch to Fable 5.1? Fable 5.1 runs on usage credits, purchased separately from your plan. You don't have usage credits yet." Result wasKept model as Opus 5 (1M context)./modelthen Fable gaveSet model to Fable 5.1 and saved as your default for new sessions, with no dialog.~/.claude/settings.jsonnow holds"model": "claude-fable-5-1[1m]".claude-fable-5-1. Credits were still off./modelagain. Same credits dialog, same result.Both sessions read the same
~/.claude.json, the same settings and the same login. There is one confound. The stuck process is 2.1.277 and the new one is 2.1.278. The 2.1.278 notes say nothing about this check, so I doubt the version explains it, but I can't rule it out from here.So the account has the entitlement and the server honours it. The refusal lives in the running process, and it was still there 16 minutes after it first fired. The idle-then-fail timing resembles the token refresh path @taehan described on #79337, with two differences. This is macOS, and the first request after the idle succeeded before the second one failed.
I haven't restarted the stuck session yet, so I can't say whether
claude --resume <id> --model 'fable[1m]'brings Fable back.Follow-up. The stuck session recovered by itself, with no restart and no re-login.
At 08:43:29 UTC I ran
/modeland picked Fable again in the same process, through the same picker path that had refused at 08:03:22 and 08:06:47. This time it answeredSet model to Fable 5.1 and saved as your default for new sessions. Replies have come fromclaude-fable-5-1since 08:44:59 UTC, 18 of them by 08:59 with no second fallback. Every transcript line through the recovery carries"version": "2.1.277", so the process never restarted, and nobody ran/logoutor/loginin between.That puts the refusal at somewhere between 16 and 53 minutes long. It fired at 07:50:39, was last seen refusing at 08:06:47, and allowed the switch at 08:43:29.
cachedExtraUsageDisabledReasonin~/.claude.jsonread"org_level_disabled"while the picker refused and still reads that now.extra_usageis unchanged too, with credits off. So that cached value can't decide the gate on its own. Whatever flipped sits in the running process and can flip back without a restart or a re-login.One thing on disk did change in that window, and I don't know whether it is related. Around 08:05 UTC the Fable entry in
additionalModelOptionsCachehad the descriptionFable 5.1 · Most capable for your hardest and longest-running tasks. After the recovery (additionalModelOptionsAnsweredAt08:44:49 UTC) it reads the same plus· $10/$50 per Mtok. Two client versions share that file here, 2.1.277 and 2.1.278, so the difference may only be which one wrote it last.Same issue here, still reproducing on 2.1.283 (newer than the 2.1.263 in this report).
Additional observations:
claude-fable-5-1[1m]there is no prompt. The session silently switches to Opus 5.5, sometimes in the middle of a single reply.claude-fable-5-1,/modelsays: "Fable 5.1 uses usage credits and needs a one-time consent · pick Fable from /model in an interactive session to set it up".~/.claude.jsonalready hasfableOverageConsentV2: truefor the org.profileFetchedAtis updated butoauthAccountstill has nosubscriptionType, whileorganizationTypeisclaude_max. This looks like the same missing-subscriptionType cause reported in #79337.