Model picker removes Amazon Bedrock model prefix and breaks thread
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the IDE extension are you using?
26.825.51511
What subscription do you have?
Amazon Bedrock
Which IDE are you using?
VS Code
What platform is your computer?
Linux 5.19.7-1ep.el8.x86_64 x86_64 x86_64
What issue are you seeing?
I have Codex configured to use the built-in Amazon Bedrock provider with the model ID openai.gpt-5.6-sol. The configuration works correctly while the model selector remains set to “Custom.”
If I select “GPT-5.6 Sol” from the IDE model picker, the extension changes the thread’s model to gpt-5.6-sol while keeping the provider set to amazon-bedrock. Amazon Bedrock requires the provider-specific model ID openai.gpt-5.6-sol, so the next request fails with:
unexpected status 404 Not Found: The model 'gpt-5.6-sol' does not exist, url: https://bedrock-mantle.us-east-1.api.aws/openai/v1/responses
The same problem occurs with other picker entries, such as GPT-5.6 Terra: the picker applies gpt-5.6-terra instead of the working Bedrock ID openai.gpt-5.6-terra.
After selecting one of these entries, the invalid model is retained as a thread-level override. Subsequent requests fail, and remote compaction also repeatedly fails with the same 404 error. The global configuration remains correct, and creating a new thread with “Custom” selected works again.
This appears to be a mismatch between the model picker’s standard OpenAI model IDs and the model IDs required by the active Amazon Bedrock provider. The picker currently presents options that are incompatible with the active provider and can leave an existing thread unusable.
What steps can reproduce the bug?
- Configure Codex with valid Amazon Bedrock credentials and:
model_provider = "amazon-bedrock"
model = "openai.gpt-5.6-sol"
-
Open the Codex IDE extension and start a new thread with the model selector set to Custom.
-
Send a simple prompt and confirm it succeeds.
-
In the same thread, select GPT-5.6 Sol from the model picker.
-
Send another simple prompt.
-
Observe that the request uses gpt-5.6-sol instead of openai.gpt-5.6-sol and fails with a 404 model does not exist error.
-
Attempt another request and observe that the invalid model remains applied to the thread.
What is the expected behavior?
The model picker should use model IDs compatible with the active provider. When Amazon Bedrock is configured, selecting GPT-5.6 Sol should apply openai.gpt-5.6-sol, not gpt-5.6-sol. An incompatible selection should not persist or leave the thread unusable.
Additional information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the IDE model picker and the Amazon Bedrock provider handling described in the report. Reproduce with model_provider set to "amazon-bedrock", select GPT-5.6 Sol in a thread, and trace where the thread-level model changes. Done means compatible Bedrock IDs are applied and invalid selections do not leave subsequent requests or compaction failing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, vscode
- Domain
- cloud, developer-experience
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100