Client or integration
Codex App
Area
Authentication and account pool
Summary
OpenCodex advertises the account-gated gpt-daybreak-blue-latest model to every ChatGPT/Codex account after #1814, even when the authenticated account's upstream model catalog does not contain that slug. In Pool mode this lets a bare Daybreak request bind to an unentitled account and relay the upstream 400:
{"detail":"The 'gpt-daybreak-blue-latest' model is not supported when using Codex with a ChatGPT account."}
The catalog and runtime should use authenticated per-account /models evidence for account-gated native models. A gated row should be visible only when at least one eligible account reports it, selector-qualified rows should exist only for selectors whose account reports it, and Pool routing should exclude accounts that do not report it.
Reproduction
- Configure the canonical
openai Codex-forward provider in Pool mode with two valid ChatGPT accounts.
- Use one account whose authenticated
GET /backend-api/codex/models?client_version=0.0.0 response includes gpt-daybreak-blue-latest, and one whose response does not.
- Run catalog sync. Observe that the bare Daybreak row and every account-selector clone are generated from the static native set instead of the per-account model rosters.
- Allow an unqualified Daybreak request to select the unentitled account, or select that account's qualified row.
- Observe the upstream 400 quoted above.
This is distinct from #1747. That draft proposes a broad user-configurable custom-model account binding across GUI, CLI, API, docs, and routing. This bug is the narrower built-in native entitlement boundary: discovery and automatic Pool routing should never offer an account-gated native model through an account that upstream says cannot use it.
Version
2.25.0 / current dev at a5ec64172
Operating system
Ubuntu 22.04 Linux
Provider and model
OpenAI ChatGPT/Codex forward provider / gpt-daybreak-blue-latest
Logs or error output
{"detail":"The 'gpt-daybreak-blue-latest' model is not supported when using Codex with a ChatGPT account."}
Screenshots and supporting files
Authenticated, redacted model-discovery comparison on the same host:
main account: gpt-5.6-sol, gpt-daybreak-blue-latest
secondary account: gpt-5.6-sol
The local usage ledger also shows successful Daybreak requests resolving to gpt-5.6-sol on the entitled account and exact unsupported-model 400s when the gated route is rejected. No tokens, account ids, emails, or request bodies are included.
Redacted configuration
{
"providers": {
"openai": {
"adapter": "openai-responses",
"baseUrl": "https://chatgpt.com/backend-api/codex",
"authMode": "forward",
"codexAccountMode": "pool"
}
},
"codexAccounts": [
{ "id": "<redacted-secondary>", "plan": "plus" }
]
}
Checks
Client or integration
Codex App
Area
Authentication and account pool
Summary
OpenCodex advertises the account-gated
gpt-daybreak-blue-latestmodel to every ChatGPT/Codex account after #1814, even when the authenticated account's upstream model catalog does not contain that slug. In Pool mode this lets a bare Daybreak request bind to an unentitled account and relay the upstream 400:{"detail":"The 'gpt-daybreak-blue-latest' model is not supported when using Codex with a ChatGPT account."}The catalog and runtime should use authenticated per-account
/modelsevidence for account-gated native models. A gated row should be visible only when at least one eligible account reports it, selector-qualified rows should exist only for selectors whose account reports it, and Pool routing should exclude accounts that do not report it.Reproduction
openaiCodex-forward provider in Pool mode with two valid ChatGPT accounts.GET /backend-api/codex/models?client_version=0.0.0response includesgpt-daybreak-blue-latest, and one whose response does not.This is distinct from #1747. That draft proposes a broad user-configurable custom-model account binding across GUI, CLI, API, docs, and routing. This bug is the narrower built-in native entitlement boundary: discovery and automatic Pool routing should never offer an account-gated native model through an account that upstream says cannot use it.
Version
2.25.0 / current
devata5ec64172Operating system
Ubuntu 22.04 Linux
Provider and model
OpenAI ChatGPT/Codex forward provider /
gpt-daybreak-blue-latestLogs or error output
{"detail":"The 'gpt-daybreak-blue-latest' model is not supported when using Codex with a ChatGPT account."}Screenshots and supporting files
Authenticated, redacted model-discovery comparison on the same host:
The local usage ledger also shows successful Daybreak requests resolving to
gpt-5.6-solon the entitled account and exact unsupported-model 400s when the gated route is rejected. No tokens, account ids, emails, or request bodies are included.Redacted configuration
{ "providers": { "openai": { "adapter": "openai-responses", "baseUrl": "https://chatgpt.com/backend-api/codex", "authMode": "forward", "codexAccountMode": "pool" } }, "codexAccounts": [ { "id": "<redacted-secondary>", "plan": "plus" } ] }Checks