[BUG] /config: selecting "Default (recommended)" does not persist Sonnet 5, session still runs Sonnet 4.6
Description
Running /config and selecting Default (recommended) shows a confirmation implying the session will use Sonnet 5. However, after /exit and relaunching claude, the session still runs Sonnet 4.6 (confirmed via statusline and the model-identification line in the system prompt). No model key was written to ~/.claude/settings.json after selecting Default.
Selecting Sonnet explicitly from the same /config menu (rather than Default) does persist correctly — it writes "model": "sonnet" to ~/.claude/settings.json, and the next session correctly starts on Sonnet 5.
Steps to reproduce
- Run
/config - Select "Default (recommended)" (menu indicates this resolves to Sonnet 5)
cat ~/.claude/settings.json— nomodelkey is present/exit, then runclaudeagain- Observe: session is running Sonnet 4.6, not Sonnet 5
- Run
/configagain, this time explicitly select "Sonnet" cat ~/.claude/settings.json— now shows"model": "sonnet"/exit, runclaudeagain — session correctly starts on Sonnet 5
Expected
Either:
- "Default (recommended)" should resolve to the same model it displays (Sonnet 5), or
- If "Default" intentionally means "no override, defer to CLI's built-in default," the menu should not display a specific resolved model next to it, since that's misleading users into thinking Default == that model.
Impact
Confusing/misleading UI — users who pick the recommended default option end up silently running an older model than the one shown in the picker, with no error or indication that anything is wrong. Only way to actually get the intended model is to bypass "Default" and select it explicitly.
Environment
- Platform: macOS (Darwin 25.5.0)
- Observed via CLI (
claudecommand), not VSCode/Desktop
Possibly related
- #67349 — Default Model does not respect availableModels setting
- #59853, #35789 — closed/duplicate VSCode-specific variants of "picker shows X but sets Y" (this report is CLI-specific and about persistence, not just a stale label)