[BUG] `/model Fable 5` (the exact name shown in the startup banner) fails with a bare "Model not found" — no did-you-mean, no pointer to the picker
Description
The startup banner advertises a model by its display name ("Fable 5 is now a standard part of your Max plan ... Run /model and select Fable"), but typing that display name as a /model argument fails with an unhelpful dead-end error. The error offers no valid alternatives, even though the correct alias differs from the banner text by only a space/number.
Steps to Reproduce
- Start Claude Code v2.1.212 (macOS, Max plan). Banner shows "Fable 5 is now a standard part of your Max plan".
/model Fable 5→Model 'Fable 5' not found/model fable-5→Model 'fable-5' not found/model Fable→ succeeds ("Set model to Fable 5 and saved as your default")
Expected Behavior
Any of:
- The display name shown in the banner ("Fable 5") is accepted as an argument, or
- The error suggests near-matches:
Did you mean: fable (alias) or claude-fable-5 (full ID)?, or at minimum - The error mentions that argument-less
/modelopens an interactive picker.
Actual Behavior
A bare Model '<input>' not found with no recovery path. It took three attempts to discover that family aliases must omit the version number. Users who give up after the first failure silently stay on the old model that the banner is trying to migrate them away from.
Suggestion
Normalize the argument (case/space/hyphen-insensitive prefix match against aliases and display names) and/or add did-you-mean candidates to the error message.
Environment
- Claude Code v2.1.212 (Homebrew), macOS, Claude Max
- Also observed conceptually identical report for Opus 4.8 in #70731, which was auto-closed as a duplicate of #63654 — but #63654 is about the picker not listing models, not about the argument-matching/error-message UX reported here.
---
Filed via Claude Code on behalf of the user (hyoshiok).
🤖 Generated with Claude Code