[UX] /model picker always shows Opus as "Default (recommended)" regardless of configured model

Resolved 💬 3 comments Opened Feb 19, 2026 by zuharz Closed Feb 23, 2026

Summary

The /model picker labels Opus as Default (recommended) even when the user has explicitly configured a different model (e.g. "model": "sonnet" in ~/.claude/settings.json). This is misleading — it implies Opus is the active/preferred default when it isn't.

Steps to Reproduce

  1. Set "model": "sonnet" in ~/.claude/settings.json
  2. Start a Claude Code session — Sonnet is correctly active (confirmed via /status)
  3. Open /model picker
  4. Observe: Opus is labeled 1. Default (recommended) with a description of "Most capable for complex work"; Sonnet is listed as option 2 with a checkmark showing it's the current model

Expected Behavior

The Default (recommended) label should either:

  • Reflect the model configured in settings.json, or
  • Be removed / renamed to something neutral like Default (Opus) so it doesn't imply it is the user's configured default

Actual Behavior

Default (recommended) always points to Opus regardless of user configuration. Users naturally interpret "recommended" as "this is your configured default" and get confused about whether their settings.json setting is being respected.

Environment

  • Claude Code version: latest
  • OS: macOS 24.6.0
  • Configured model: "model": "sonnet" in ~/.claude/settings.json
  • Active model: claude-sonnet-4-6 (correct) — but picker label is misleading

Related Issues

  • #13242 — settings.json model setting ignored on startup
  • #14919 — VS Code extension ignores model config
  • #8467 — Incorrect model names in picker
  • #12738 — Opus 4.5 missing from model picker

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗