Skip to content

Direct mode relays transient Daybreak Blue account-model 400 without a bounded retry #2183

Description

@0disoft

Client or integration

Codex App

Area

Authentication and account pool

Summary

In codexAccountMode: direct, a transient upstream Daybreak Blue account-model rejection is relayed immediately and terminates the active Codex turn/thread.

The same conversation completed 162 requests with HTTP 200 using the same bare native model, provider, adapter, and route. The next request returned the exact HTTP 400 below once, after which the conversation stopped. Other conversations continued to receive successful responses.

Expected: OpenCodex should apply one bounded same-account retry for this exact pre-stream rejection in direct mode, or otherwise prevent a single transient entitlement response from stranding a healthy long-running task.

Reproduction

  1. Configure the native OpenAI provider with authMode: forward and codexAccountMode: direct.
  2. Select the bare native gpt-daybreak-blue-latest model in Codex Desktop.
  3. Run a long-lived task that performs many continuation turns.
  4. Observe successful requests through openai-responses on the native route.
  5. When the exact account-model HTTP 400 occurs once, observe that the active turn stops without a bounded same-account retry.

This is intermittent. In the affected conversation, 162 requests succeeded before one request failed. In the nearby usage-ledger sample, Daybreak Blue produced 1,373 HTTP 200 responses and one occurrence of this exact HTTP 400.

The removed legacy custom row openai/gpt-daybreak-blue-latest was not involved. Both the successful and failing requests in the affected conversation used the bare native gpt-daybreak-blue-latest route.

The existing shouldRetryCodexPoolAccountModel400() path recognizes this response, but the retry is guarded by usesCodexForwardPoolAuth(...); direct mode relays it immediately.

Version

2.27.0

Operating system

Windows 11

Provider and model

openai / gpt-daybreak-blue-latest

Logs or error output

Provider: openai
Adapter: openai-responses
Account mode: direct
Auth mode: forward
Route kind: native
Admission kind: loopback
Inbound protocol: responses
Requested effort: medium
Status: 400

{"detail":"The 'gpt-daybreak-blue-latest' model is not supported when using Codex with a ChatGPT account."}

Redacted configuration

{
  "providers": {
    "openai": {
      "adapter": "openai-responses",
      "baseUrl": "https://chatgpt.com/backend-api/codex",
      "authMode": "forward",
      "codexAccountMode": "direct"
    }
  }
}

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    account-poolOAuth, credentials, Codex pool, quota, failover, plansbugSomething isn't workingneeds-infoWaiting on reporter for a concrete spec or reproduction

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions