/model rejects an available model for days due to stale cached emergencyTip; error misattributes it to account entitlement

Open 💬 0 comments Opened Jul 5, 2026 by theo1985

Summary

The interactive /model command rejects a model based on a stale cached emergencyTip in ~/.claude.json, while the server actually accepts that model. The stale block persisted for 3+ days after the underlying outage ended. The error message misleadingly blames account entitlement ("not currently available for your account"), sending users down the wrong debugging path.

Environment

  • Claude Code v2.1.201 (Homebrew cask claude-code@latest), macOS (darwin 25.5.0)
  • Claude Max 20x subscription (OAuth, same account everywhere)
  • Model: Fable 5 (claude-fable-5 / claude-fable-5[1m]), entitled and under the active promo

What happened

  1. At some point a genuine availability window presumably occurred, and the client cached an emergency notice in ~/.claude.json:

``
lastShownEmergencyTip = "Claude Fable 5 is currently unavailable. Please use Opus 4.8 or another available model. Learn more: https://www.anthropic.com/news/fable-mythos-access"
``

  1. For the next 3 days, interactive /model claude-fable-5 consistently failed with:

``
Model 'claude-fable-5' is not currently available for your account. Claude Fable 5 is currently unavailable. ...
``

  1. Meanwhile, on the same binary, same account, same time, all of these succeeded (returned a normal completion from Fable 5):

``
npx -y @anthropic-ai/claude-code@2.1.197 --model 'claude-fable-5[1m]' -p "..." # OK
npx -y @anthropic-ai/claude-code@2.1.201 --model 'claude-fable-5[1m]' -p "..." # OK
npx -y @anthropic-ai/claude-code@2.1.201 --model 'claude-fable-5' -p "..." # OK
/usr/local/bin/claude --model 'claude-fable-5[1m]' -p "..." # OK (the exact binary whose /model refused)
``
So the server was serving the model fine; only the interactive picker's availability check refused.

  1. The same account could also use Fable 5 in Claude Code inside the desktop app (bundled 2.1.197) and on claude.ai throughout — which made the failure look like a per-surface entitlement problem.
  2. After the successful --model print-mode runs, the interactive /model picker began accepting Fable 5 again — consistent with the cached flag only being refreshed lazily on certain code paths.

Expected behavior

  • The /model availability check should re-validate against the server (or a TTL-bounded cache) rather than honoring a stale emergencyTip indefinitely.
  • If a model is blocked by an emergency/availability notice rather than entitlement, the error should say so — "temporarily unavailable, cached notice from <date>" — not "not currently available for your account".

Impact

  • Users locked out of a model in the interactive picker for days after an outage ends, with no indication the gate is a stale local cache.
  • The misleading error message triggers entitlement/plan debugging (support load) when the fix is just a cache refresh.
  • During a time-boxed promo (Fable 5 through July 7), days of stale lockout materially eat the promo window.

Workarounds found

  • claude --model 'claude-fable-5[1m]' at launch bypasses the interactive check entirely.
  • Successful --model runs (and/or time) eventually refresh the cached flag, after which /model works again.

🤖 Generated with Claude Code

View original on GitHub ↗