openai / openai/codex

gpt-6-astra is served as gpt-5.6-luna (runtime model substitution) on a Plus account, plus 47 spurious "Selected model is at capacity" errors

Open
#46,632 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug rate-limits windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

On this ChatGPT Plus account (ChatGPT auth), Codex Desktop and the Codex CLI request gpt-6-astra but the server
serves gpt-5.6-luna. The substitution is deterministic (all traced runs, all reasoning efforts), while
gpt-5.6-sol, gpt-5.6-luna, gpt-5.6-terra and gpt-5.5 are served correctly in the same minutes on the
same machine and network.

Concurrently the account received 47 Selected model is at capacity. Please try a different model. errors over
2026-09-17..2026-09-19 while quota was at 1-3% of the 5-hour window.

Environment

  • Codex Desktop: OpenAI.Codex 26.915.4065.0 (MSIX, Windows x64), bundled core codex-cli 0.155.0-alpha.9.2
  • Account: ChatGPT Plus (masked account id 2ad83b05..aca2)
  • Transport: since the 2026-09-18 update, sampling uses the websocket transport (no HTTP x-oai-request-id)

Evidence A - requested vs served model

Captured from the raw websocket frames the client receives (RUST_LOG=trace). The model field of the server
response object is the model that was actually served.

Local time (UTC+08:00) Requested Served (server response object) Response ID
2026-09-19 19:30:14 gpt-6-astra gpt-5.6-luna resp_0cf037ec2ca05ffc016aae724b73c487d0bab5f9eece9d7690
2026-09-19 19:19:01 gpt-6-astra gpt-5.6-luna resp_000cb07482a11305016aae6fa8923c87d09f63874702692059
2026-09-19 19:13:40 gpt-6-astra gpt-5.6-luna resp_0a1d2160dd2ec118016aae6e6732fc87d0a796f6b48cacf18a
2026-09-19 14:12-14:17 (low) gpt-6-astra gpt-5.6-luna resp_0ead3613c3edb4d6016aae289a922887d09932f686526a7d36
2026-09-19 14:12-14:17 (medium) gpt-6-astra gpt-5.6-luna resp_05c8daf3309878ac016aae28a9d4d487d0abae831de1db0cfd
2026-09-19 14:12-14:17 (high) gpt-6-astra gpt-5.6-luna resp_0f1abcf89c482a74016aae28c36d6487d0ba73b7646a861823
2026-09-19 14:12-14:17 (xhigh) gpt-6-astra gpt-5.6-luna resp_003936d7bea4c58c016aae28d9cccc87d0bfeadf6d38509871

Control group, same account / machine / network:

Local time (UTC+08:00) Requested Served Response ID
2026-09-19 13:30-13:34 gpt-5.6-sol gpt-5.6-sol (correct) resp_09b43d209c0af1de016aae280fc1d887d0821a41ee640be40a
2026-09-19 13:30-13:34 gpt-5.6-luna gpt-5.6-luna (correct) resp_0b8ebef5973051fe016aae281f2f8087d0bb469f1bbe3f90bc
2026-09-19 13:30-13:34 gpt-5.6-terra gpt-5.6-terra (correct) resp_011eb02907ae72d0016aae286531b087d084fff8d13b328bff
2026-09-19 13:30-13:34 gpt-5.5 gpt-5.5 (correct) resp_0e3355198b2b60fd016aae2875dfe087d09d775d24ebcbd57a

Verbatim server frame for the high run above (request made with -m gpt-6-astra):

{"type":"response.created","response":{"id":"resp_0f1abcf89c482a74016aae28c36d6487d0ba73b7646a861823",
"object":"response","created_at":1789798595,"status":"in_progress","error":null,
"model":"gpt-5.6-luna","moderation":null,"output":[],
"reasoning":{"context":"all_turns","effort":"high","mode":"standard","summary":null},
"service_tier":"auto","store":false}}

The same responses also carried these headers:

x-codex-safety-buffering-enabled: true
x-codex-safety-buffering-faster-model: gpt-5.6-luna

gpt-6-astra is still listed as selectable in the model catalog (visibility: list, supported_in_api: true,
context window 272000), so this is a runtime substitution, not a missing entitlement.

Evidence B - "Selected model is at capacity" while quota was intact

  • 47 occurrences across 23 threads: 2026-09-17 (44), 2026-09-18 (2), 2026-09-19 (1)
  • First: 2026-09-17 19:06:09 (+08:00) = 11:06:09Z; last: 2026-09-19 13:31:42 (+08:00) = 05:31:42Z
  • Models involved: gpt-5.6-sol 25, gpt-5.6-luna 13, gpt-6-astra 6, gpt-5.5 1
  • Quota headers returned during the failures: x-codex-primary-used-percent: 1-3 (5h window),
    x-codex-secondary-used-percent: 34-67 (weekly), x-codex-plan-type: plus
  • The log contains zero HTTP 429s: the rejection is delivered inside an HTTP 200 stream
  • HTTP-transport request IDs from that window (before the websocket switch):
    2237d65a-98b6-40a7-84a6-9df66a1af920 (2026-09-17 20:59:53 +08:00),
    d34cce49-59bb-45b6-be2a-d31612110785 (20:59:55),
    7d949d1b-6f13-43ab-afe2-641d1423533f (21:00:10)

Reproduction

$env:RUST_LOG='trace'
codex exec --skip-git-repo-check -s read-only -m gpt-6-astra "Say hi in one word." *>&1 | Out-File trace.log -Encoding utf8
Select-String -Path trace.log -Pattern '"model":"'   # -> "model":"gpt-5.6-luna"  (served)
Select-String -Path trace.log -Pattern 'model=gpt-'  # -> gpt-6-astra            (requested)

Already tried, issue persists

  • Password reset, authenticator-app MFA enabled, all active sessions terminated, full re-authentication
    (Codex Desktop + CLI) - the substitution was reproduced again afterwards (2026-09-19 19:30:14 +08:00).
  • No client update is available: installed OpenAI.Codex 26.915.4065.0, winget upgrade reports nothing, and this
    build has no "Check for Updates" UI item.

Expected

The server response object should report "model":"gpt-6-astra" when gpt-6-astra is requested.

Actual

The server reports "model":"gpt-5.6-luna".

Support-side handles

  • In-app feedback session ID: 01a0b824-3d99-71e3-98a8-2c9a236ea3da
  • Machine-readable export (counts, per-error list, request IDs, quota headers) available on request.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the codex exec entry point and reproduce the request using the provided PowerShell command, then inspect trace.log for the requested and served model fields. The issue provides no repository file or test to change; done would require confirming that gpt-6-astra is served as requested and that the reported capacity errors no longer occur.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.