[Bug] Model picker fallback entry shows Opus 4.7 instead of Opus 4.8
Bug Description
Model picker's "fallback" entry offers Opus 4.7, skipping Opus 4.8
Environment
- Claude Code 2.1.220 (verified against the running session process via
lsof -p <pid> -d txt, not the version symlink; no newer build installed) - macOS (darwin 25.5.0), Max subscription, provider = firstParty (no CLAUDE_CODE_USE_* env set)
- No ANTHROPIC_DEFAULT_* overrides, no managed
availableModels, settings.json has no model keys
What happens/model shows six entries. The last one is:
- Opus 4.7 (1M context) Previous Opus — fallback
Expected: Opus 4.8, the generation immediately before Opus 5. The client's own
strings say so: "Most Claude consumer surfaces ship with built-in Opus 4.8
fallbacks" and "Cyber-category refusals route to Opus 4.8 as the recommended
fallback".
This is not about Opus 4.8 being absent from the regular option list — that
reads as intentional, since the picker header says "For other/previous model
names, specify with --model". It is only about the fallback entry being pinned
to 4.7 instead of 4.8.
Evidence that Opus 4.8 is accessible and healthy on this account
- Headless run with
--model claude-opus-4-8 --output-format jsonreturned:
modelUsage = {"claude-opus-4-8": {canonicalModel: "claude-opus-4-8",
provider: "firstParty", contextWindow: 1000000, maxOutputTokens: [REDACTED]}}
- Negative control:
--model claude-opus-4-9fails with "There's an issue with
the selected model… It may not exist or you may not have access to it", so the
id is genuinely validated and 4.8 was not a silent fallback.
Evidence the string does not come from the client binary
— fallback(em dash) and- fallback: 0 occurrences in the 2.1.220 binary.- The catalog's own descriptions for 4.7 are "Opus 4.7 · Legacy" and
"Opus 4.7 for long sessions" — neither matches what is rendered.
- The catalog entry for 4.8 is complete and current: id claude-opus-4-8,
display_name "Opus 4.8", knowledge_cutoff "January 2026", alias opus48,
plus both picker builders ("Opus 4.8 · Previous Opus version" and
"Opus 4.8 (1M context)").
Evidence it does not come from the local option cache
additionalModelOptionsCachein .claude.json was rewritten at the moment the
picker was opened and contains only the Fable entry.
modelAccessCacheis [] andorgModelDefaultCacheis null.
Conclusion
Having excluded the binary, the local caches and a stale build, the entry
appears to be served at runtime and pinned to Opus 4.7 rather than 4.8.
Workaround in use: /model claude-opus-4-8 (accepted — "or a full model ID").
Environment Info
- Platform: darwin
- Terminal: Apple_Terminal
- Version: 2.1.220
- Feedback ID: c3085fda-1e30-48f8-a2c1-c6be434a7661
Errors
[]This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗