Model-unavailable error on startup causes permanent input freeze (not recovered by /model switch)
Describe the bug
When Claude Code starts with a model that is temporarily unavailable (e.g. Fable 5 suspended by Anthropic), the session enters a permanent non-recoverable frozen state where no input is processed. The 'currently unavailable' banner appears in the pane and the session never accepts new input — even after using /model to switch to an available model.
Reproduction steps
- Launch Claude Code with
--model fable(or any model that temporarily becomes unavailable) - If the model is unavailable at startup, observe the 'Claude Fable 5 is currently unavailable' banner
- Type
/model opusand observe CC acknowledging the switch ('Set model to Opus 4.8 and saved') - Send any message — the session remains frozen with no response
Expected behavior
One of:
- CC should detect the model-unavailable error on first LLM call attempt, surface an actionable error to the user, and prompt to switch models
- OR the
/modelswitch should recover the session by resetting the stuck internal request loop
Actual behavior
The session is permanently frozen after model-unavailable at startup. The /model switch changes the config but does not reset the frozen internal dispatch loop. Only a full kill + restart with a working model recovers the session.
Evidence
- Fleet bot W0 launched with
--model fablefroze for ~18 minutes during Fable 5 suspension (2026-06-13T02:34Z) /model opuswas applied — CC acknowledged the switch — session remained frozen- inbox queue had 0 new messages during the freeze (no input was processed)
- Only
tmux kill-session+ relaunch with--model opusresolved it - Workaround implemented: fleet watchdog now detects the 'currently unavailable' banner via
tmux capture-paneand auto-kills + restarts affected sessions
Hypothesis
When CC starts with an unavailable model, the first LLM call attempt never resolves or rejects — the internal message dispatch loop enters an awaiting state that prevents any new input from being dispatched. The /model switch changes the model config but does not reset or unblock the stuck pending request.
Environment
- Platform: Linux VPS (Ubuntu), channels-plugin mode
- Subscription: Claude Max
- Session ID:
96075fd9-1fd4-4286-b78a-df79dd4091a0 - Claude Code version: current (as of 2026-06-13)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗