Repository navigation
Description
Description
Thanks @rekram1-node for #48078 and #48081: hiding the profile-only bare IDs cleaned up the V2 Bedrock picker, and the eu-west-2 note made the 4.6 exception easy to follow.
Claude Sonnet 5.5 (09-28) and Haiku 5.5 (10-07) arrived after that list, and their bare catalog IDs fail the same way. V2 sends the ID as-is (packages/ai/src/protocols/bedrock-converse.ts:552, :887), and Bedrock answers every call with on-demand throughput isn't supported. Four older Converse-routed IDs do the same: Llama 4 Maverick/Scout and Palmyra X4/X5.
Live Converse, 16-token probe:
| ID | bare | us. profile |
|---|---|---|
anthropic.claude-sonnet-5-5 |
ValidationException (us-east-1, eu-west-2, ap-northeast-2) | 200 |
anthropic.claude-haiku-5-5 |
ValidationException (us-east-1, eu-west-2, ap-southeast-1) | 200 |
meta.llama4-maverick-17b-instruct-v1:0 |
ValidationException (us-east-1) | 200 |
meta.llama4-scout-17b-instruct-v1:0 |
ValidationException (us-east-1) | 200 |
writer.palmyra-x4-v1:0 |
ValidationException (us-west-2) | 200 |
writer.palmyra-x5-v1:0 |
ValidationException (us-west-2) | 200 |
anthropic.claude-opus-5-5 (control) |
200 in eu-west-2 |
ValidationException: Invocation of model ID anthropic.claude-sonnet-5-5 with on-demand throughput isn’t supported. Retry your request with the ID or ARN of an inference profile that contains this model.
list_foundation_models in the 17 default regions agrees: these six are INFERENCE_PROFILE only wherever they are listed. Opus 5.5 is ON_DEMAND in eu-west-2 like the 4.6 pair, so it should stay visible.
The fix is six rows in BEDROCK_PROFILE_ONLY_IDS (packages/core/src/plugin/models-dev.ts). I have it on a branch with the checks below and can open the PR.
Patch and notes
-// Opus/Sonnet 4.6 support in-region calls in eu-west-2 and must remain available.
+// Opus/Sonnet 4.6 and Opus 5.5 support in-region calls in eu-west-2 and must remain available.
@@
"anthropic.claude-haiku-4-5-20251001-v1:0",
+ "anthropic.claude-haiku-5-5",
@@
"anthropic.claude-sonnet-5",
+ "anthropic.claude-sonnet-5-5",
"deepseek.r1-v1:0",
+ "meta.llama4-maverick-17b-instruct-v1:0",
+ "meta.llama4-scout-17b-instruct-v1:0",
"mistral.pixtral-large-2502-v1:0",
+ "writer.palmyra-x4-v1:0",
+ "writer.palmyra-x5-v1:0",
]- Bare IDs that models.dev routes to Mantle (GPT-5.x/6.x, Grok, gpt-oss, Gemma 4) are valid as they are and stay.
- Not changed, for your call: bare
anthropic.claude-opus-5returned 200 in ap-northeast-2 and bareanthropic.claude-sonnet-5in eu-west-2. Both areON_DEMANDthere perlist_foundation_models, so by the 4.6 rule they could come off the list. - 1.x prefixes
claudeIDs at request time, so this looks V2-only for Claude.
Plugins
None
OpenCode version
dev @ e31136b (2.0.26)
Steps to reproduce
- Call Bedrock Converse (boto3) with
modelId="anthropic.claude-sonnet-5-5"in us-east-1: ValidationException above.us.anthropic.claude-sonnet-5-5returns 200. - On
dev, run the current models.dev catalog throughModelsDevPlugin: all six bare IDs are inModel.available()foramazon-bedrock, with no Mantle override, so they go to Converse unchanged.
Screenshot and/or share link
Not a UI issue; the Bedrock error is quoted above.
Operating System
macOS 26
Terminal
Not terminal-specific
Activity
opencode-agent commentedon Oct 11, 2026
Thanks for the detailed report and the probe table. I could confirm the OpenCode side on
dev@e31136b, which is also the latestdev.I ran the current models.dev catalog through
ModelsDevPlugin(the test is below):anthropic.claude-sonnet-5-5,anthropic.claude-haiku-5-5,meta.llama4-maverick-17b-instruct-v1:0,meta.llama4-scout-17b-instruct-v1:0,writer.palmyra-x4-v1:0andwriter.palmyra-x5-v1:0are all offered foramazon-bedrock.BEDROCK_PROFILE_ONLY_IDS.us.anthropic.claude-sonnet-5-5and bareanthropic.claude-opus-5-5stay available, andanthropic.claude-sonnet-5(already on the list) is hidden.The sandbox has no AWS credentials, so I couldn't trigger the Bedrock
ValidationExceptionmyself. That part relies on your probes.Until this changes, the
us./eu.profile IDs work as a workaround.Related: #48078 added the list. #52046 deals with Sonnet 5.5 Converse request bodies, which is a separate problem.
To run the test: copy it into
packages/core/test/plugin/, downloadhttps://models.dev/api.json, then runMODELS_DEV_JSON=<path> bun test test/plugin/repro-54485.test.tsfrompackages/core.Reproduction script (repro-54485.test.ts)
Run it:
bun repro-54485.test.ts