429 Too Many Requests on /backend-api/wham/rate-limit-reset-credits blocks reset-credits UI in both desktop app and web (Pro)
Open 💬 4 comments Opened Aug 11, 2026 by Suhaibinator
💡 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)?
Version 26.803.61601 (Released Aug 8, 2026) — "Powered by Codex & OWL"
What subscription do you have?
ChatGPT Pro
What platform is your computer?
Darwin 25.6.0 arm64 arm
What issue are you seeing?
GET https://chatgpt.com/backend-api/wham/rate-limit-reset-credits is returning 429 Too Many Requests, and this reproduces in both the desktop Codex app and the web app on the same account.
The consequences in the UI:
- The reset-credits UI never loads — the credits/usage panel fails to populate because the request that backs it is rejected.
- Reset credits cannot be redeemed/applied — the action that depends on this endpoint fails.
- 429 retry loop — the client keeps re-issuing the request rather than backing off, so the failure repeats continuously instead of surfacing once.
Failing request details:
Request URL: https://chatgpt.com/backend-api/wham/rate-limit-reset-credits
Request Method: GET
Status Code: 429 Too Many Requests
Remote Address: 172.64.155.209:443
Referrer Policy: strict-origin-when-cross-origin
x-oai-request-id: 830faf4a-fa22-4941-98f7-231bdf217d8f
Notably this is a read endpoint for reset credits, so a 429 here blocks visibility into credits rather than throttling any expensive operation.
What steps can reproduce the bug?
- Sign in to a ChatGPT Pro account.
- Open the Codex desktop app (v26.803.61601) or go to the Codex web app at chatgpt.com.
- Open the view that displays reset credits / usage limits.
- Observe in DevTools (web) or the network log that
GET /backend-api/wham/rate-limit-reset-creditsreturns429, the credits UI does not load, and the request is retried repeatedly.
Reference request id: 830faf4a-fa22-4941-98f7-231bdf217d8f
What is the expected behavior?
GET /backend-api/wham/rate-limit-reset-creditsshould return the account's reset-credit state for a Pro account rather than 429.- If the endpoint genuinely must rate limit, the client should honor
Retry-Afterand back off instead of looping, and should surface a clear, actionable error rather than an empty/stuck credits panel.
Additional information
- Reproduces on both surfaces (desktop app and web), which suggests the problem is server-side on the endpoint rather than in a single client.
- Possibly related existing reports about reset-credit/usage accounting: #37455, #37250, #30456, #30726.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional Windows reproduction on the current app build:
26.803.81509(MSIX package26.803.10989.0); ChatGPT Pro.GET /wham/rate-limit-reset-creditsattempts all returned HTTP 429 withconnector_rate_limit/Connector rate limit exceeded. NoPOST /wham/rate-limit-reset-credits/consumewas made.account/rateLimits/readcall still returned the ordinaryrateLimitspayload, whilerateLimitResetCreditswasnull.rate_limit_reset_credits?.available_count ?? 0, and the menu row is rendered only when the resulting count is greater than zero. Consequently, a missing field or fetch error becomes indistinguishable from a confirmed zero balance, so the emergency reset entry silently disappears.This has operational impact: a user cannot reliably tell whether a banked reset is available when the normal usage limit is reached.
Requested behavior:
loading, fresh value, stale last-known value, confirmed zero, and error as distinct states.Retry-Afterand avoid the current rapid retry/refetch amplification.This comment intentionally omits account identifiers, request IDs, local paths, screenshots, and raw logs.
Additional sanitized reproduction from a ChatGPT Plus account:
26.803.10989.026.803.81509After restarting the desktop app, the following read request continued to return HTTP 429:
The failure was observed repeatedly at approximately 2026-08-11 05:28, 06:02, 06:46, and 07:08 UTC. A direct read of the same endpoint reproduced the 429 response.
The main Codex rate-limit data still loaded successfully and reported:
plus10080minutes22%2026-08-18 03:00:15 UTCThis indicates that the account/rate-limit payload is available while the reset-credit subresource is unavailable. The desktop UI therefore cannot distinguish between ?no reset credits?, ?data unavailable?, and ?request rate-limited?, and the reset-credit section remains unavailable/loading.
No account identifiers, authentication data, local paths, screenshots, or raw logs are included here.
Additional independent Windows reproduction:
26100.803726.803.10989.0GET /backend-api/wham/rate-limit-reset-creditsat2026-08-11 16:18:15 UTC+8returned HTTP429withconnector_rate_limit/Connector rate limit exceeded. No retry was performed and no consumePOSTwas sent.This independently confirms that the reset-credit subresource can fail while ordinary usage data remains available, and that the same account is affected on both desktop and web. Please preserve or restore resets that expire while this service-side failure is unresolved.
Account identifiers, authentication data, credit IDs, request IDs, and local paths are intentionally omitted.