Model catalog entries cannot be bound to a provider; picking a model from another provider sends it to the wrong API

Resolved 💬 1 comment Opened Aug 6, 2026 by Glenn0331 Closed Aug 6, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Environment

  • Codex Desktop (app version 26.730.61639, core codex 0.147.0-alpha.1.2)
  • Windows 11
  • Multiple providers configured: built-in openai (API key in auth.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 to
api.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

  1. Configure the built-in OpenAI provider (API key auth) and a custom DeepSeek provider.
  2. Use a merged model catalog containing both gpt-5.6-sol and deepseek-v4-flash.
  3. Keep model_provider = "openai" and select deepseek-v4-flash in the model picker.
  4. 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.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 22 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #36597

Powered by Codex Action