Model picker shows duplicate "Opus 4.7" and "Opus 4.7 1M" entries that map to the same model

Resolved 💬 2 comments Opened May 1, 2026 by nischal94 Closed May 2, 2026

Summary

The model picker in Claude Code shows two separate entries — "Opus 4.7" and "Opus 4.7 1M" — even though they appear to map to the same underlying 1M-context model on the Max plan. The duplicate entry creates real confusion: I selected "Opus 4.7" expecting a 200K cap and was alarmed when the status bar showed /1.0M. I assumed the bar was buggy, when in fact the menu is the misleading surface.

Repro

  1. On a Max plan account, open the model picker (/model or the menu shortcut).
  2. Observe two entries: "Opus 4.7" and "Opus 4.7 1M".
  3. Select plain "Opus 4.7" (no "1M" suffix).
  4. Look at the status bar: it shows the context denominator as 1.0M, not 200k.

Expected: the picker either shows one entry, or two entries that actually differ.
Actual: two entries that appear to behave identically — the selection has no observable effect on the context window denominator.

Why this is confusing

The two surfaces seem to read from different sources that don't cross-check:

  • The picker reflects a static list of model entries (which still contains both "Opus 4.7" and "Opus 4.7 1M").
  • The status bar reflects the runtime context_window of the loaded model.

So the picker keeps suggesting a choice between two context sizes that no longer exists in practice. Users assume picking "Opus 4.7" caps them at 200K when it doesn't.

Related (closed) issues

This is adjacent to but distinct from:

  • #49931 — /context shows 200k denominator instead of 1M on Max plan (closed COMPLETED 2026-04-17)
  • #36725 — Status line shows ~200k context remaining when using 1M context window model (closed COMPLETED 2026-03-20)
  • #50716 — Opus 4.7 1M context window unreachable in VS Code extension (closed DUPLICATE 2026-04-24)

Those issues addressed the denominator display. The picker duplication itself wasn't fixed — it persists in 2.1.123.

Suggested fix (one of)

  1. Collapse the duplicate entry — show only "Opus 4.7" if both options point to the same 1M context window on the user's plan.
  2. Label clearly — if the two entries genuinely differ on some plans/regions, indicate that inline (e.g. "(same as Opus 4.7 on Max)" or grey out the redundant one).
  3. Make selection observable — if the menu choice does affect something (cost, cache TTL, anything), surface that in the picker UI so the choice has meaning.

Environment

  • Plan: Max
  • Claude Code: 2.1.123
  • OS: macOS (Darwin 25.4.0)

View original on GitHub ↗

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