You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Combo models expose owned_by combo which breaks clients routing by owned_by #2400
Combo (failover-group) models returned by OpenCodex's GET /v1/models carry "owned_by": "combo". The string "combo" is not a real provider, which breaks downstream clients that select their dispatch adapter by the owned_by field (e.g. DeepSeek Harness crashes with registration.adapter.prepareCall is not a function).
Environment
OpenCodex 2.31.0 (GUI bundle), gateway at 127.0.0.1:10100
Affected: any client that routes by owned_by (observed: @deepseek-ai/dsh@0.1.1-rc.2)
What happens
Combos configured in the dashboard (#models/combos) such as combo/fallback-free, combo/fallback-think, combo/image are listed by GET /v1/models with:
Clients trust owned_by as the provider identity. Because "combo" is unknown, adapter lookup fails.
Important: failover itself is fine
The chat path is correct — POST /v1/chat/completions with model: combo/fallback-free reaches the gateway, which resolves the failover group server-side. Only the metadata (owned_by) is the problem; the actual routing/failover works. The combo works in OpenAI Codex desktop and via direct calls.
Suggested fix
One or more of:
Set owned_by for combo models to a neutral/standard value (e.g. "opencodex") or to the actual underlying provider of the combo's primary target, instead of the literal string "combo".
Add an explicit capability flag, e.g. "is_combo": true, and document that owned_by for combos is non-standard so clients route by the configured connection, not by owned_by.
This would let OpenAI-compatible clients that key off owned_by interoperate with combos without crashing.
Related
Companion issue filed on the DeepSeek Harness side requesting a fallback to the configured route's provider when owned_by is unrecognized.
Thanks for taking the time to submit this issue. It was closed automatically because it was not opened with a recognized issue template (Bug report, Feature request, Documentation, or Provider compatibility). Freeform and API-opened issues cannot skip this check.
This issue does not use a recognized issue template.
Please edit the issue to add:
Open a new issue with the Bug report, Feature request, Documentation, or Provider compatibility template.
Or edit this issue so the body uses the template section headings for the kind of report you are filing.
Activity
github-actions commentedon Aug 22, 2026
Issue closed: use an issue template
Thanks for taking the time to submit this issue. It was closed automatically because it was not opened with a recognized issue template (Bug report, Feature request, Documentation, or Provider compatibility). Freeform and API-opened issues cannot skip this check.
Please edit the issue to add:
See the Contributing guide for details.
Once the report passes the automated checks, it will be reopened automatically unless a maintainer has changed its state.
ncepuee commentedon Aug 22, 2026
Duplicate of #2401 (kept open with the proper Bug report template). Closing this copy to avoid splitting discussion.
docs+ci: record contributor work landed without a co-author trailer, …
docs+ci: record contributor work landed without a co-author trailer, …
docs+ci: record contributor work landed without a co-author trailer, …