What
Claude Code can now tell when usage is paused for your whole organization because of a daily cap. It treats this differently from an ordinary rate limit, which is a limit on how much you can use in a period.
- The rate-limit reader checks a new response header,
anthropic-ratelimit-unified-overage-daily-cap-paused. When it istrue, it setsdailyCapPausedon the limit status, including on refused requests. - When an API
rate_limiterror carriesquotaLimits.dailyCapPausedset to true, the pause gets the causedaily_capinstead ofusage_limitorrate_limited. Which parts of Claude Code act on the new cause was not traced. - A paused
/goalnow reads "Goal paused · usage is paused for your organization". A message "Usage is paused for your organization. For help, please contact support." also appears. - The usual rate-limit message is skipped when
dailyCapPausedis true. - While the cap is paused, the offer to buy extra usage does not appear and the automatic arming for rate limits stops. The extra-usage flow also stops early when
daily_cap_noticeis set. - A plan or limit check now also requires
dailyCapPausednot to be true. - In the
api_errordescription,rate_limit_infoforusage_limit_reachednow includesdailyCapPaused, which is true when usage is paused for the organization. Programs built on the SDK (the kit for driving Claude Code from your own code) can read it. - A quota error is now ignored when the caller passes
onlyLimiterRefusalsand the status is notrejected. - The client defines a new header name, and how it is used was not traced.
Separately, the spend-limit proxy now tries a second read when the caps come back empty. Its 429 (too many requests) message now says "spend limit reached" with a reset date.
Why
If your organization hits a daily cap, you get a clear reason, and you are not offered extra usage that would not help. Programs on the SDK can tell this pause apart from other limits.
Names in the bundledailyCapPaused