Model catalog entries cannot be bound to a provider; picking a model from another provider sends it to the wrong API
Environment
- Codex Desktop (app version 26.730.61639, core
codex0.147.0-alpha.1.2) - Windows 11
- Multiple providers configured: built-in
openai(API key inauth.json) and custom
[model_providers.deepseek] (base_url https://api.deepseek.com/, wire_api = "responses")
Summary
model_catalog_json replaces the whole model catalog, and catalog entries have no provider
field. All requests go to the global model_provider. With both OpenAI and DeepSeek configured,
selecting a DeepSeek model while model_provider = "openai" sends deepseek-v4-flash toapi.openai.com, which returns:
{
"error": {
"message": "The requested model 'deepseek-v4-flash' does not exist.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}
The reverse also holds: GPT models cannot be used while model_provider = "deepseek".
Steps to reproduce
- Configure the built-in OpenAI provider (API key auth) and a custom DeepSeek provider.
- Use a merged model catalog containing both
gpt-5.6-solanddeepseek-v4-flash. - Keep
model_provider = "openai"and selectdeepseek-v4-flashin the model picker. - The request is sent to OpenAI and fails with
model_not_found.
Expected behavior
Either:
- catalog entries support a provider field so requests are routed to the provider that actually
serves the selected model, or
- the model picker switches the active provider when the selected model belongs to another
configured provider.
Impact
Multi-provider setups are unusable from the picker: from a user's perspective, "the DeepSeek
models disappeared" even though the provider itself works. Switching models does not equal
switching services, and there is no supported way to bind a model to a provider.
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action