Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 16 min read

I read Codex's source to see what 'Selected model is at capacity' really means

Originally published at its-tahir.com. If Codex keeps telling you 'Selected model is at capacity', it isn't your usage limit. I went through the Codex 0.167.2 source and its own retry tests to see what happens before th

I read Codex's source to see what 'Selected model is at capacity' really means

Originally published at its-tahir.com.

If Codex keeps telling you 'Selected model is at capacity', it isn't your usage limit. I went through the Codex 0.167.2 source and its own retry tests to see what happens before that message appears (it has usually tried 5 times already), and why one conversation can keep failing while a new chat works. Have you hit it on one model, or on all of them at once?

"Selected model is at capacity. Please try a different model." is OpenAI's Codex coding agent (the CLI, the Codex app and the IDE extension) telling you that OpenAI's servers don't have room to run that model for you right now. Codex shows it when the server answers HTTP 503 with the error code server_is_overloaded; it is not your usage limit, which has its own message. In Codex 0.167.2 the request has usually been retried quietly up to 4 times (5 attempts) before you see it. The fix: wait a minute and resend, then switch model (/model, the model picker, or codex -m), and if only one conversation keeps failing, start a new thread with a summary of the task.

What you see What it means What to do
Selected model is at capacity. Please try a different model. OpenAI is short of capacity for this model (503, server_is_overloaded) Wait and resend, then switch model
The same error on every model you try Capacity is short across several models at once Try a different model family or size, check status.openai.com, wait
One conversation fails, a new chat works Reported, not explained by OpenAI (details below) New thread with a short summary of the task
Only your account, for days, while others work Reported by one user, who says OpenAI Support cited account restrictions (details below) Contact OpenAI support with the app's Feedback ID
Reconnecting... 1/5 before the error Codex is retrying: the server sent a Retry-After hint with the overload, or the connection dropped Let it finish; if it ends in the capacity message, switch model; behind a proxy or VPN, check it
You’ve hit your usage limit... Your plan's limit, not capacity Wait for the reset time it shows, or add credits
Policy-restricted capacity is unavailable. Please try again later. The same shortage on a policy-restricted route Try again later
Flex capacity unavailable. You asked for the flex service tier and it had no room Use the default tier
Your model vanished from the picker Your account's model catalog changed (details below) codex debug models, pick a listed model, update Codex

Last reviewed 12 November 2026, against Codex 0.167.2. The error codes and retry rules come from the 0.167.2 source code on GitHub, including Codex's own tests for overloads. I also downloaded the 0.167.2 Linux package from npm and searched it for the on-screen messages, without running it. I can't make OpenAI's servers run out of capacity on demand, so the behaviour below is what the code and its tests do, plus what users report in the issues I link, not a reproduction from my own sessions. The message text is defined in Codex's own source, so this post covers Codex only.

Where 'Selected model is at capacity' comes from in Codex 0.167.2. OpenAI answers HTTP 503 with server_is_overloaded. Codex retries the request quietly up to request_max_retries times, default 4, so up to 5 attempts. If the server sent a Retry-After header, Codex runs further rounds and shows Reconnecting... 1/5 up to stream_max_retries, default 5. If not, the turn ends with: Selected model is at capacity. Please try a different model. An overload in the middle of a streamed reply ends the turn at once with no retry. Your usage limit is a different message: You've hit your usage limit.

By the time you read the message, Codex has usually already tried several times. Waiting or switching model is what's left.

What does "Selected model is at capacity" mean?

In Codex, "Selected model is at capacity" means OpenAI's servers turned the request down because they can't serve that model for you at that moment. The server answers with HTTP status 503 and an error body whose code is server_is_overloaded, and Codex turns that into the message you see. The same code can also arrive inside a streamed reply that fails halfway, with the same result.

An OpenAI engineer on the Codex team (GitHub user etraut-openai) answered a user who was seeing it with only 10% of their plan used:

If you receive this message, it does not mean that you are being rate limited or are out of usage. It means that we are running low on capacity to serve this model in your region.

That was in openai/codex #19583 in May 2026. Two things follow from it. Capacity is per model, which is why the message tells you to try a different one. And it depends on demand at that moment, which is why the same prompt can fail one minute and work a few minutes later.

Bug reports from the Codex app often quote it as codexErrorInfo: serverOverloaded. That is the same error under its internal name.

Codex shows this fixed sentence whatever text the server sent with the error. In Codex's own tests, a server reply that carries the same code with the message "This model is disabled." still reaches you as "Selected model is at capacity." That's a test fixture, not something OpenAI is known to send, but it shows the message tells you the error code, not the server's reason.

If you saw a similar message in ChatGPT itself rather than in Codex, it's likely the same kind of shortage on OpenAI's side, but I haven't checked ChatGPT's wording.

Is "Selected model is at capacity" my usage limit?

No. With a ChatGPT sign-in, Codex's usage-limit messages start with "You've hit your usage limit" and usually give a reset time; spend and credit limits show "Quota exceeded. Check your plan and billing details." The capacity message is neither. In Codex 0.167.2 the usage-limit messages come from a separate error, UsageLimitReached:

You’ve hit your usage limit. Try again at <time>.
You’ve hit your usage limit for <limit name>. Switch to another model now, or try again at <time>.
You’ve hit your usage limit. Upgrade to Pro (https://chatgpt.com/explore/pro), visit https://chatgpt.com/settings/usage to purchase more credits...

The capacity message never mentions your plan or a reset time. In #58824, one user seeing it on most turns had used about 82% of their weekly Codex usage with no limit reached. If you want to be sure, open your usage page in Codex or at chatgpt.com: if there's room left and you still see the capacity message, the shortage is on OpenAI's side.

Codex has a few look-alike messages. This is what each one is, from the 0.167.2 source:

Message Server code Retried by Codex?
Selected model is at capacity. Please try a different model. server_is_overloaded (503) Request retries; more rounds only with Retry-After
Policy-restricted capacity is unavailable. Please try again later. policy_capacity_unavailable (503) Request retries; more rounds only with Retry-After
Flex capacity unavailable. flex_unavailable (429) No
We’re currently experiencing high demand, which may cause temporary errors. an internal server error Yes, with backoff
exceeded retry limit, last status: 503 ... a retryable error, such as a plain 503, after the retries ran out Only with Retry-After; otherwise this is the end of the retries
You’ve hit your usage limit... your plan's usage limit No
Quota exceeded. Check your plan and billing details. insufficient_quota and other spend or credit limits No

How do I fix "Selected model is at capacity"?

Work down this list in order; the first two steps cost nothing.

  1. Wait a minute, then send the message again. Capacity can change from minute to minute. The conversation isn't deleted; only the failed turn ends. Copy any long prompt you typed first, in case you need it in a new thread.
  2. Switch to another model. In the CLI, type /model and choose a different model or reasoning effort. In the Codex app (Codex Desktop) or the IDE extension, use the model picker. Any other model is worth a try: in #19583, commenters kept working by moving from GPT-5.5 to GPT-5.4, while in other reports several models failed at once.
  3. If only this conversation fails, start a new thread. Ask the old thread for nothing more; paste a short summary of the task into a new one (what you're doing, which files, what's done, what's next). See why one conversation can keep failing.
  4. Check status.openai.com. If there's an incident for Codex or the model, waiting is the fix.
  5. Update Codex. Each release can change the model catalog and how errors are handled. npm install -g @openai/codex@latest updates the CLI; update the app or IDE extension the usual way.
  6. If it's only your account, for days, contact OpenAI support. Include the Feedback ID the Codex app gives you. See the account-level report below.
  7. If you set service_tier, remove it. A non-default tier such as flex has its own capacity and its own message (Flex capacity unavailable.), and Codex doesn't retry it.

How do I switch models in Codex?

In the Codex CLI, type /model and pick another model and reasoning effort; in the Codex app and IDE extension, use the model picker. To pick a model when you start, pass it on the command line or set it in your config:

codex -m gpt-6.1-terra
# ~/.codex/config.toml
model = "gpt-6.1-terra"

Use a model your account can actually use; codex debug models lists them. If you're comparing options, the OpenAI model IDs list has the exact names, and choosing a model for coding agents covers the trade-offs between a heavier and a lighter model.

Does Codex retry "Selected model is at capacity" automatically?

Partly. Codex 0.167.2 quietly retries an HTTP 503 overload up to 4 times (request_max_retries, so up to 5 attempts) before you see the message, and keeps going with Reconnecting... 1/5 rounds only if the server sends a Retry-After header. The rules, from its source and the tests that check them:

  • A 503 overload on a request is retried up to request_max_retries times. The default is 4, so Codex makes up to 5 attempts. You see nothing while that happens.
  • More rounds happen only if the server sends a Retry-After header. Then Codex starts the whole request again, shows Reconnecting... 1/5, 2/5 and so on up to stream_max_retries (default 5), waiting as long as the server asked each time. Each round repeats the quiet attempts, so with the defaults that can add up to 30 requests. Without that header, the turn ends with the capacity message after the request retries. Reconnecting also appears for dropped connections and stream errors, so seeing it doesn't by itself mean an overload.
  • An overload that arrives in the middle of a streamed reply is never retried. Codex's tests check this explicitly: one request, then the error, even if the server sent a Retry-After hint.
  • The error ends the turn. In the CLI's source, an overload error ends the turn and then sends any message you queued while Codex was working. The CLI also has a fallback text, Codex is currently experiencing high load., for an overload that arrives with no message.

Can you raise the retry counts? request_max_retries and stream_max_retries are settings on a model provider, and Codex's docs show them on custom providers. The same docs say you can't redefine the built-in openai provider, so with a normal ChatGPT sign-in there's no documented way to make Codex retry more. More retries wouldn't create capacity anyway; waiting or switching model does more.

This is a lot less patient than Claude Code, which retries its own overload error up to 10 times; Claude Code's 529 Overloaded covers that side.

Why does only one Codex conversation say the model is at capacity?

OpenAI hasn't explained why one Codex conversation can keep failing with "Selected model is at capacity" while a new chat works; the first thing to try is a new thread. In openai/codex #59059 (opened 3 November 2026, still open), an existing conversation on Codex Desktop failed with Selected model is at capacity on every model the user tried, and forking the conversation from an earlier message failed too. A brand-new, empty conversation on the same model, GPT-6.1 Sol, answered at once.

The reporter kept testing the same day with Codex CLI 0.166.0. A text-only prompt failed inside a project folder and worked from its parent folder, which pointed at what Codex loads per project. Earlier, one CLI run had worked after they set their local proxy environment variables, but the next run failed again, so they called that "not a durable fix". Their later tests ruled that out: with project instructions turned off (-c project_doc_max_bytes=0) the project folder still failed, and the parent folder failed on a later request too. In their own words, the parent folder "is not a reliable workaround", and no single cause was established. No OpenAI reply on the issue at the time of writing.

What you can do: start a new thread and paste in a short summary of the task. It's the workaround the original report found, though later comments show new threads can fail too. If they do, treat it like the every-model case below.

Why does every model say it's at capacity?

Codex shows the capacity error on every model when OpenAI is short of capacity for several models at once. The OpenAI engineer quoted above describes capacity for a given model in your region, so a shortage can hit one model or several. #43375 reports the error across GPT-5 and GPT-6 models together, and #58824 has one commenter reporting 90% or more of turns failing on clean threads, on every model variant, from 1 November 2026. Nothing in your local setup is known to cause it; the 503 comes from OpenAI's side.

In that situation, try whichever other models you have, and if those fail too, check status.openai.com and give it some time. Reinstalling Codex won't create capacity.

The same commenter adds something worth knowing if it's only you. They say colleagues in the same office, on the same network, used GPT-6.1 Sol normally while their own account kept getting the capacity message, and they quote OpenAI Support's reply to their case: "access to certain models or features may be temporarily restricted due to account activity." They also say OpenAI cleared mistaken policy warnings on their accounts on 3 November, and that the errors continued afterwards. That's one user's report, not something OpenAI has confirmed for this error. If the message persists for days on your account only while others work, contact OpenAI support and include the Feedback ID from the Codex app.

Why did my model disappear from the Codex model picker?

Because Codex refreshes your model catalog from OpenAI, and the refreshed list can be different from the one bundled with your version. In #60676, GPT-6.1 Sol vanished from the VS Code extension's picker on 10 November 2026; the user found it in the catalog bundled with their Codex but not in the refreshed one, which had GPT-6.1 Terra instead. The issue was closed as completed the next day.

To see what's going on with your own account:

codex debug models            # the catalog Codex refreshed for your account
codex debug models --bundled  # the catalog that shipped with this version

If the model you set in config.toml isn't in the first list, pick one that is. Since 0.164.0, Codex also reloads the catalog after you switch accounts, so a model can appear or disappear when you change between a personal and a work account.

Codex "at capacity" vs Claude Code "Overloaded"

Both mean the provider is out of room, and neither is your usage limit; they differ in how hard the client tries before giving up.

Codex 0.167.2 Claude Code
Message Selected model is at capacity. Please try a different model. API Error: 529 Overloaded
HTTP status 503, code server_is_overloaded 529
Automatic retries Up to 4 request retries; more only with Retry-After Up to 10, with backoff
Your usage limit? No No
Suggested first move Switch model Switch model with /model

The Claude Code side is in Claude Code 529 Overloaded, and the 529 Overloaded error page on my tools site has the short version. If Claude Code instead says there's an issue with the selected model, that's a different problem: see There's an issue with the selected model. For Codex's other recent changes, see Codex auto compact and Codex auto mode.

What changed recently?

Nothing in 0.167.0 to 0.167.2 changes how Codex handles the capacity error; the late-October releases changed the model catalog around it.

Version Date Change
0.164.0 23 Oct 2026 The model catalog reloads after you change accounts
0.165.0 27 Oct 2026 Codex stops retrying when the provider says a model doesn't exist, and keeps the provider's message
0.166.0 29 Oct 2026 GPT-6.1 Terra added to the bundled model catalogs
0.167.0 to 0.167.2 6 to 11 Nov 2026 No capacity-related changes in the release notes

The dates are the dates on Codex's GitHub releases.

Key takeaways

  • 'Selected model is at capacity. Please try a different model.' means OpenAI answered HTTP 503 with server_is_overloaded for that model. It's a capacity shortage, not your usage limit.
  • Usage limits have their own messages, starting 'You've hit your usage limit' and usually giving a reset time.
  • Codex 0.167.2 has usually retried the request up to 4 times before you see the error; more rounds ('Reconnecting... 1/5') only happen when the server sends Retry-After.
  • Fix in order: wait and resend, switch model (/model, the model picker, codex -m), start a new thread if only one conversation fails, check status.openai.com, update Codex.
  • If a model vanished from the picker, compare codex debug models with codex debug models --bundled.

FAQ

Related

FAQ

What does 'Selected model is at capacity' mean in Codex?

OpenAI's servers rejected the request because they don't have room to serve that model right now. Codex shows this message when the server answers HTTP 503 with the error code server_is_overloaded. An OpenAI engineer on the Codex repository put it this way: it means OpenAI is 'running low on capacity to serve this model in your region'. It is not your usage limit.

Is 'Selected model is at capacity' my usage limit?

No. With a ChatGPT sign-in, Codex's usage-limit messages start with 'You've hit your usage limit' and usually give a reset time; spend and credit limits show 'Quota exceeded. Check your plan and billing details.' 'Selected model is at capacity' comes from a different server error code, server_is_overloaded, and appears even when your weekly usage is far from full.

How do I fix 'Selected model is at capacity' in Codex?

Wait a minute and send the message again. If it keeps failing, switch to another model with /model in the CLI, the model picker in the app or IDE extension, or codex -m on the command line. If one conversation fails while new chats work, start a new thread and paste in a short summary of the task. Check status.openai.com for an incident, and update Codex.

Does Codex retry 'Selected model is at capacity' automatically?

Partly. In Codex 0.167.2 an HTTP 503 overload is retried quietly up to request_max_retries times (default 4, so up to 5 attempts) before you see anything. Only if the server also sends a Retry-After header does Codex keep going with 'Reconnecting... 1/5' rounds. An overload that arrives in the middle of a streamed reply is not retried at all.

Why does only one Codex conversation say the model is at capacity?

OpenAI hasn't explained it. In openai/codex issue #59059, an existing conversation and its forks failed on every model while a new empty chat worked, but the reporter later saw new project conversations fail too and found no single cause. Starting a new thread with a summary of the task is the first thing to try.

Why does every model say it's at capacity?

According to an OpenAI engineer on the Codex repository, capacity is per model and per region. Several models can be short at once: issue #43375 reports the error across GPT-5 and GPT-6 models together. Try a different model, wait a few minutes, and check status.openai.com. If it's only your account for days, contact OpenAI support.

How do I switch models in Codex?

In the CLI, type /model and pick another model and reasoning effort. Start a session on a specific model with codex -m , or set model in ~/.codex/config.toml. In the Codex app and IDE extension, use the model picker. Run codex debug models to list the models your account can use.

What is 'Policy-restricted capacity is unavailable' in Codex?

It's the sibling of the capacity message for a policy-restricted route, from the server code policy_capacity_unavailable. Codex 0.167.2 gives it the same retry treatment as an ordinary overload, and its text says to try again later.

Sources

Originally published at its-tahir.com.

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.