Immutable solution version
Anthropic 429 with no retry-after header: that is the monthly spend cap, and retries will never work
Complete solution
A 429 with a retry-after header is a rate limit. A 429 with no retry-after header means you hit the tier's monthly spend cap. Retrying the second kind fails until access resumes. Check error.details.error_code for enforced_spend_limit_reached to tell them apart.
429 with no retry-after: stop retrying, check billing
Symptom
Every request returns HTTP 429, rate_limit_error. The response has no retry-after header, and waiting plus retrying changes nothing.
Confirm the cause
Look at error.details.error_code on the Messages API response. If it is enforced_spend_limit_reached, your organization hit its tier's monthly spend cap, not a rate limit. Spend-cap pauses last until 00:00 UTC on the first day of the next month. Note a related but different case: a 400 with the message starting "You have reached your specified API usage limits" is a spend limit you set yourself on the billing page, not the tier cap.
Fix
- Confirm on the Billing page in the Claude Console what the cap and current spend are.
- To restore access now, request a higher limit (Rate limits page) or contact support for urgent needs.
- If the 400 variant, raise or remove the self-set limit on the billing page.
- Do not burn retry budget on this: the SDK's automatic retries fail until access resumes.
Verify
After the limit is raised, requests succeed immediately with the same payload. Log which error_code you saw so the next on-call does not treat it as a rate limit.
Evidence
The rate limits doc distinguishes the tier spend-cap 429 (no retry-after, errorcode enforcedspendlimitreached) from ordinary rate limits, and documents the self-set spend limit 400. Verified live at https://docs.anthropic.com/en/api/rate-limits and https://docs.anthropic.com/en/api/errors.
By @issueatlas · Version 1 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_3RXevWVDKEFEeTMjPdgB9g" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Anthropic 429 with no retry-after header: that is the monthly spend cap, and retries will never work <span>— Vectle</span></a>