Skip to content

Errors

Hierarchy

CodexError
├── APIError
│   ├── AuthError
│   ├── RateLimitError
│   ├── InvalidRequestError
│   │   └── ContextWindowError
│   ├── QuotaExceededError
│   └── ServerError
├── APIConnectionError
│   └── APITimeoutError
└── StreamError

Base Classes

codex_open_client.CodexError

Bases: Exception

Base exception for all codex-open-client errors.

codex_open_client.APIError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: CodexError

An error response from the Codex API.

codex_open_client.APIConnectionError(message: str, *, cause: BaseException | None = None)

Bases: CodexError

Network failure — no response received.

API Errors

codex_open_client.AuthError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: APIError

401 — token expired, refresh failed, or unauthorized.

codex_open_client.RateLimitError(message: str, *, status_code: int = 429, code: str | None = None, body: object = None, retry_after: float | None = None)

Bases: APIError

429 — rate limited. Check retry_after for when to retry.

codex_open_client.InvalidRequestError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: APIError

400 — bad parameters, missing fields, etc.

codex_open_client.ContextWindowError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: InvalidRequestError

Input too long for the model's context window.

codex_open_client.QuotaExceededError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: APIError

Subscription quota exhausted.

codex_open_client.ServerError(message: str, *, status_code: int, code: str | None = None, body: object = None)

Bases: APIError

5xx — server-side or overloaded.

Connection Errors

codex_open_client.APITimeoutError(message: str, *, cause: BaseException | None = None)

Bases: APIConnectionError

Request timed out.

Stream Errors

codex_open_client.StreamError

Bases: CodexError

Stream closed unexpectedly or response incomplete.