Codex error "Selected model is at capacity. Please try a different model": it is not your quota, and it is not a 429
Capacity, quota and 429 are three different things
This is a capacity signal — not an exhausted quota and not a 429. The user-filed issue #46189 in OpenAI's official Codex repo, opened 2026-09-17, records the literal error "Selected model is at capacity. Please try a different model". How to tell the three apart, plus backoff and model-switch actions, are below.
Updated 2026-09-19
Four key points
Error class
Literal text "Selected model is at capacity" — server-side load right now.
Issue opened
user-filed issue #46189 in the official Codex repo records it; unresolved that day.
Easiest mistake
Exhausted quota, insufficient balance and 429 each carry different wording.
Action that works
Move to a sibling tier, or back off with jitter.
What this is
Codex returns this line when a model is saturated. It describes server-side capacity at that moment — not your quota state, not HTTP 429 throttling. The three have different wording and different remedies: quota means check the usage page, throttling means honour Retry-After, capacity means switch model or shift your window.
What happened
The user-filed Issue #46189 in the official Codex repository was opened 2026-09-17 with the literal error "Selected model is at capacity. Please try a different model.", and reports the account oscillating between this failure and a second one.
Timeline
2026-09-17 the user-filed issue #46189 opened, recording the error and the two alternating failure shapes.
2026-09-18 re-check: the issue is still open, so this page states the issue text as-is.
2026-10-14 is an unrelated but easily confused event: GPT-5.5 retires from ChatGPT / Work / Codex (API excluded).
Confirmed vs caution
Officially confirmed
The issue body says the account oscillates between "Selected model is at capacity" and a successful request whose model behaviour is abnormal, unresolved as of 2026-09-17.
⚠️ Caution
OpenAI documented no capacity algorithm in the issue and gave no fix ETA; it was still unresolved on the day it was opened, 2026-09-17. Claims like "it always recovers in five minutes" or "some regions get priority" are not in the source.
Same vs differs
Same
All three make requests fail and all three should be treated as retryable in some way.
Differs
Capacity: switch model or shift time. Exhausted weekly quota: wait for reset or change plan — the wording points at usage. 429: rate limit, honour Retry-After. The wording separates them; don't merge them.
What to do
1) Read the error wording before blaming quota; 2) switch to a sibling tier (e.g. gpt-5.6-sol ↔ gpt-6-astra), or add exponential backoff with jitter; 3) if it persists, compare against the user-filed issue #46189 instead of guessing at config changes.
On QCode
On QCode, gpt-5.6-sol, gpt-6-astra and deepseek-v4.1-flash sit behind one key, so "switch tier on a capacity signal" costs you one field and no endpoint change. Quota and balance live on the console usage page — that is where you confirm a quota problem.
FAQ
Is this my weekly quota?
No. Quota exhaustion words itself differently and points at usage or plan. "Selected model is at capacity. Please try a different model" is about server-side capacity for that model right now.
Is it a 429?
No. Rate limiting has its own wording and retry semantics. A capacity signal is answered by switching model or shifting your window, not by waiting on a fixed header.
What helps fastest?
Switch to a sibling model and add exponential backoff with jitter. If several models share one key, the switch is a single field change.
Why does it also go weird-but-working?
The issue reports that alternating behaviour; OpenAI gives no cause in the thread, so this page draws no conclusion. Log both shapes with model id and timestamp and look for a pattern.
Same thing as the 2026-10-14 retirement?
No. The retirement removes a model from ChatGPT / ChatGPT Work / Codex and explicitly excludes the API; a capacity signal is a runtime load condition. Different wording, different remedy.
Should I open a ticket?
Reference the user-filed issue #46189 first. If you see the alternating failures too, attach timestamps, model id and the exact error text — far more useful than "it doesn't work".
Sources
user-filed issue #46189 in the official OpenAI Codex repo (2026-09-17; not an official statement) and the official release notes, captured 2026-09-18. Error text per the issue body.
Make the tier switch one line
One QCode key covers gpt-5.6-sol, gpt-6-astra and deepseek-v4.1-flash — change model to move off a saturated tier.
Related
GPT-5.5 retirement
A 2026-10-14 model removal, not a capacity signal.
What "GPT-6 Sol" actually is
A community label, not an OpenAI model.
DeepSeek model id changes
Another class of "the id is set but wrong".
Only the error text present in the user-filed issue in OpenAI's official Codex repo and in the official release notes are reproduced; no inference about internal capacity policy.