Pro $100 (5x) plan is rate-limited as `plus` on Codex Desktop — access_token has plan_type=prolite but the responses API returns X-Codex-Plan-Type=plus

Open 💬 6 comments Opened Jun 20, 2026 by he15605538002-create
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

26.616.41845 (core 0.142.0-alpha.6)

What subscription do you have?

ChatGPT Pro — $100 / 5x tier

What platform is your computer?

Darwin 25.5.0 arm64 arm (macOS 26.5.1)

What issue are you seeing?

My subscription is ChatGPT Pro ($100 "5x" tier). The ChatGPT web Codex shows the
correct Pro usage allowance for this account. But when I use Codex Desktop (ChatGPT
login, calling the /v1 responses API), the server rate-limits me as "plus" and
repeatedly returns 429 usage_limit_reached, even though the account is barely used.

The key inconsistency, on the same request:

claim: chatgpt_plan_type = "prolite" (the Pro 5x tier — correct)

  • The rate-limit response header for that same request returns:

X-Codex-Plan-Type = "plus"

Exact error (HTTP 429), PII removed:
{
"type": "error",
"error": {
"type": "usage_limit_reached",
"message": "The usage limit has been reached",
"plan_type": "plus"
},
"status_code": 429
}
Response headers:
X-Codex-Plan-Type: plus
X-Codex-Active-Limit: premium
X-Codex-Primary-Used-Percent: 100 (5-hour window, 300 min)
X-Codex-Secondary-Used-Percent: 42 (weekly window, 10080 min)
X-Codex-Credits-Balance: 0

So OpenAI's own token says "prolite" while OpenAI's own rate limiter treats the
request as "plus".

What steps can reproduce the bug?

  1. Be on the ChatGPT Pro $100 (5x) plan, i.e. plan_type "prolite" (mine activated

the day before this started).

  1. Sign in to Codex Desktop using ChatGPT login (auth_mode=Chatgpt; originator=

Codex_Desktop; wire_api=responses).

  1. Run a few turns with model gpt-5.5.
  2. Within a small number of requests the 5-hour "premium" window reports

X-Codex-Primary-Used-Percent: 100 and the API returns 429 usage_limit_reached
with X-Codex-Plan-Type: plus.

  1. At the same time, open Codex on the web for the same account — it shows the

correct Pro allowance and is not exhausted.

Context: the account had only ~30 total requests over a week, yet the 5-hour
window is pinned at 100% while the weekly window is only at 42% — consistent with
"plus"-sized 5-hour limits being applied instead of Pro 5x. (Session ID and token/
context usage can be provided privately on request.)

What is the expected behavior?

A Pro $100 (5x) account (plan_type "prolite") should receive Pro 5x Codex usage
limits (5x of Plus) on the Codex Desktop / responses-API path, and the rate-limit
header should reflect the Pro tier — not "plus". Behavior should match what the
ChatGPT web Codex already shows for the same account.

Additional information

  • This is purely on the Codex responses-API rate-limiter path. Web Codex shows the

correct Pro quota for the same account, so the subscription/entitlement itself is
correct — only the Codex rate limiter mis-maps the tier.

  • Re-authenticating does not help: a fresh access_token still correctly carries

chatgpt_plan_type=prolite, and the API still returns X-Codex-Plan-Type=plus.

  • This may be a recognition/sync gap for the newly introduced Pro $100 (5x /

"prolite") tier on the Codex rate limiter. If it is a known propagation delay for
new Pro accounts, please confirm the expected timeline.

  • Possibly related to existing "phantom usage limit" reports (capacity healthy on

web/status, but CLI/Desktop still returns usage_limit_reached).

View original on GitHub ↗

6 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #29228
  • #28242
  • #28823
  • #28198

Powered by Codex Action

sannmizu · 1 month ago

yes, I have same problem. first I update to plus, the codex desktop show free. then I update to pro, the app show pro but I can't continue use it.

chengfengfengwang · 29 days ago

I upgraded from Plus to Pro, but it still shows Plus here, and more importantly, it’s completely unusable.

<img width="1457" height="518" alt="Image" src="https://github.com/user-attachments/assets/c13cd13d-ebf9-42e1-88ea-a2b52ff9b972" />

Necmttn · 29 days ago

This needs a plan-resolution receipt on the failing request. Capture non-secret fields: account id hash, client surface/version, access-token plan claim, server-resolved X-Codex-Plan-Type, active limit window id, model, request id, and response timestamp.

Then support can tell whether Desktop sent the right identity but the quota service resolved plus, or whether the client is using stale auth/account state. Without that split, users only see contradictory "Pro token, plus limiter" evidence.

---

_Generated with ax._

duynguyenbui · 28 days ago

Why don’t they make an official announcement instead of doing this?

he15605538002-create · 28 days ago

They even banned my account
Duy Nguyen @.***>于2026年6月23日 周二10:03写道:

duynguyenbui left a comment (openai/codex#29243) <https://github.com/openai/codex/issues/29243#issuecomment-4774944223> Why don’t they make an official announcement instead of doing this? — Reply to this email directly, view it on GitHub <https://github.com/openai/codex/issues/29243?email_source=notifications&email_token=BVO2OCSH7NMGLDGPMS5WHWL5BHQNHA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZXGQ4TINBSGIZ2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4774944223>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BVO2OCX43MBMY5MFHD6BDAD5BHQNHAVCNFSNUABFKJSXA33TNF2G64TZHM4TMNJUGE2TMNBZHNEXG43VMU5TINZQG43DSMBTGAY2C5QC> . You are receiving this because you authored the thread.Message ID: @.***>