[BUG] Bedrock: /model picker hides all models in a family when default has a [1m] suffix

Status Open
Reported on v2.1.263
Maintainer reply None cached
Activity 0 comments · opened Sep 8, 2026

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-5 and eu.anthropic.claude-opus-4-8 inference profiles are available in the account

Steps to reproduce

  1. Configure Claude Code for Bedrock as above.
  2. Run /model and select Opus 4.8 (1M context). settings.json model becomes eu.anthropic.claude-opus-4-8[1m].
  3. Exit and restart Claude Code.
  4. 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 — /model picker 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 /model picker

View original on GitHub ↗