First identify how you signed in
Codex used with a ChatGPT subscription draws on the applicable plan allowance. Codex used with an API key follows API billing and limits. The same coding task can therefore encounter a different limit depending on authentication. Switching to an API key is not free overflow and does not transfer a subscription’s remaining allowance.
For subscription usage, inspect the Codex Usage dashboard and the exact limit notice. Shorter usage windows and weekly allowances can coexist. Model choice, task size, reasoning, tools, and shared agentic usage affect consumption; a plan estimate is not a guaranteed number of messages.
API limits measure a different system
OpenAI’s API documentation describes limits such as requests per minute and tokens per minute, with other metrics for particular workloads. Limits can apply at organization and project level and vary by model. A token allowance can bind before a request allowance, or the reverse. Your API limits page and response metadata are more useful than a subscription reset announcement.
Temporary rate limiting is also different from exhausted quota or a billing problem. Inspect the response status and error details. For retryable errors, follow a valid Retry-After hint when present; otherwise use bounded exponential backoff with jitter. Repeated immediate retries can make matters worse because unsuccessful requests also contribute to per-minute limits.
Choose a remedy that matches the limit
Waiting for a Codex weekly reset does not repair an API billing issue. A promotional banked Codex reset is not API credit. Likewise, reducing API concurrency will not replenish an exhausted ChatGPT subscription allowance. Keep those systems separate when diagnosing a blocked task.
- Subscription notice: check the affected allowance, reset time, workspace, and available account options.
- Temporary API throttling: reduce concurrency and retry within a bounded policy that respects server hints.
- API quota or billing error: review the platform account; repeated retries are not a substitute for fixing it.
- Unexpected ongoing behavior: preserve the error details and timing without exposing API keys or private source code.