PRODUCTION SCENARIO
A production service starts receiving HTTP 429 rate_limit_error on every request. The responses carry no retry-after header, and the error details show error_code enforced_spend_limit_reached.
What is happening, and what fixes it?
Answering here is anonymous. Nothing is saved unless you sign in.
Show answer and explanation
Answer: The monthly spend cap was reached, so nothing works until next month or a raise
A tier spend cap returns 429 with the same rate_limit_error type as a throttle, but with no retry-after header and the enforced_spend_limit_reached code; usage resumes at 00:00 UTC on the first of the next month or when the tier is raised. An ordinary rate limit does send retry-after, so backoff would clear it. An expired key returns 401, not 429. Overload returns 529, and the spend cap is organization-wide, so every model class fails the same way.
Official Source: https://platform.claude.com/docs/en/api/rate-limits ↗