[BUG] Bedrock: /model picker hides all models in a family when default has a [1m] suffix
Summary
On AWS Bedrock, selecting a "(1M context)" entry from the /model picker persists a model ID with a [1m] suffix (e.g. eu.anthropic.claude-opus-4-8[1m]). On the next session start the picker no longer recognises that ID as a catalog entry — it renders it as "Custom Opus model" and every other model in that family disappears from the list.
Because the list is built at session startup, you cannot select a different Opus variant from the picker to recover. You have to either switch to a different model family and restart, or hand-edit settings.json. The picker writes an ID it cannot read back.
Environment
- Claude Code 2.1.263 (native install), macOS (Darwin 24.6.0)
CLAUDE_CODE_USE_BEDROCK=1,AWS_REGION=eu-west-1- Both
eu.anthropic.claude-opus-5andeu.anthropic.claude-opus-4-8inference profiles are available in the account
Steps to reproduce
- Configure Claude Code for Bedrock as above.
- Run
/modeland select Opus 4.8 (1M context).settings.jsonmodelbecomeseu.anthropic.claude-opus-4-8[1m]. - Exit and restart Claude Code.
- Run
/model.
Actual
The Opus family collapses to two identical custom entries, and Opus 5 / the Opus alias / Opus 4.1 are all absent:
1. Default Use the default model (currently Opus 4.8 (1M context))
2. Fable Fable 5.1 · Most capable for your hardest and longest-running tasks
3. Sonnet Sonnet 5 · Efficient for routine tasks
4. Sonnet 4.6 Sonnet 4.6 · Previous Sonnet version
5. Sonnet 4.6 (1M context) Sonnet 4.6 for long sessions
6. Opus 4.8 (1M context) Custom Opus model (eu.anthropic.claude-opus-4-8[1m])
7. Haiku Haiku 4.5 · Fastest for quick answers
8. Opus 4.8 (1M context) ✓ Best for everyday, complex tasks (eu.anthropic.claude-opus-4-8[1m])
Note there is no +N models indicator — the list is genuinely truncated, not scrolled. Other families (Fable / Sonnet / Haiku) still show their normal alias rows.
Expected
All Opus variants stay listed and selectable, as they do when model holds a non-suffixed ID:
6. Opus 4.1 Opus 4.1 · Legacy
7. Opus Opus 5 · Best for everyday, complex tasks
8. Opus (1M context) Opus 5 for long sessions
9. Opus 4.8 Opus 4.8 · Previous Opus version
10. Opus 4.8 (1M context) Opus 4.8 for long sessions
… +5 models
Confirmed trigger
The [1m] suffix is the cause, not any particular model version:
| Persisted model at startup | /model list |
|---|---|
| eu.anthropic.claude-opus-5 | full Opus list ✅ |
| eu.anthropic.claude-opus-4-8 | full Opus list ✅ |
| eu.anthropic.claude-opus-4-8[1m] | collapsed to "Custom Opus model" ❌ |
| eu.anthropic.claude-opus-5[1m] | collapsed to "Custom Opus model" ❌ |
Also confirmed: the model list is computed once at startup. Switching models mid-session does not rebuild it, so the degraded list persists for the whole session.
Workaround
Set model in ~/.claude/settings.json to a non-suffixed ID (e.g. eu.anthropic.claude-opus-5) and restart. Avoid saving any "(1M context)" variant as the default on Bedrock.
Possibly related
- #89501 —
/modelpicker persists an invalid Bedrock identifier for Haiku 4.5 (same round-trip class of bug, surfaces as a 400 instead) - #10169 — custom Bedrock models not discoverable in the
/modelpicker