Диагностика · месячный spend cap, HTTP 429

HTTP 429 без retry-after
error_code enforced_spend_limit_reached

Документация Anthropic на 30.08.2026: месячные потолки Start / Build / Scale — $500 / $1,000 / $200,000. После потолка запросы всё ещё дают HTTP 429 и type rate_limit_error, но без retry-after. Повторы падают до 00:00 UTC 1-го числа следующего месяца.

#enforced_spend_limit_reached#rate_limit_error#нет retry-after#месячный spend cap

Четыре факта, которые можно цитировать отдельно

429

Выглядит как обычный rate limit

Статус 429, error.type по-прежнему rate_limit_error — SDK часто ретраит это как минутный троттлинг.

Без retry-after

Граница с настоящим rate-limit 429

429 от месячного потолка тира не содержит retry-after. Авторетраи SDK будут падать до 00:00 UTC 1-го числа или до повышения тира.

$500 / $1,000 / $200,000

Потолки Start / Build / Scale

Три суммы из официальной документации. У Custom публичного потолка нет — его согласуют с account team.

enforced_spend_limit_reached

error_code Messages API

Смотрите error.details.error_code. Если строка такая — прекращайте ретраи. Собственный более низкий spend limit даёт HTTP 400 invalid_request_error.

Этот 429 — не «вы слишком часто стреляете»

У Anthropic два класса ограничений: spend limits (сколько долларов организация может потратить за календарный месяц) и rate limits (RPM / ITPM / OTPM). Оба могут вернуть HTTP 429 с error.type rate_limit_error. Различие в details: при месячном потолке тира Messages API ставит error.details.error_code = enforced_spend_limit_reached и не шлёт retry-after. Пример из документации: “You have reached your API usage limits: your organization has crossed its monthly API usage threshold… You will regain access on 2026-09-01 at 00:00 UTC.” Доступ возвращается в 00:00 UTC 1-го числа, если тир не повысили раньше. Более низкий spend limit, который вы сами поставили на Billing, — другой путь: HTTP 400, type invalid_request_error, текст начинается с “You have reached your specified API usage limits”. Лимиты Claude Code workspace проверяются отдельно и могут дать 429 уже с retry-after.

Почему это путают с weekly limit и rate-limit 429

26.06.2026 в changelog Anthropic тиры сведены к Start / Build / Scale и опубликованы потолки $500 / $1,000 / $200,000. Агентные нагрузки жгут доллары быстрее, чем минутные токены, поэтому Start/Build упираются в месяц, пока RPM/ITPM ещё свободны. На проводе по-прежнему 429 — рядом с “You've hit your weekly limit” и с rate limit, у которого есть retry-after. Существующая страница 529 vs 429 vs weekly трактует 429 в основном как троттлинг с бэкоффом. Здесь третья 429: месячный долларовый потолок, где бэкофф бесполезен.

Хронология

26.06.2026

Официальный changelog Anthropic: тиры сведены к трём — Start, Build и Scale. Лимиты Sonnet и Haiku совпали с Opus на каждом тире; большинство организаций подняли, ни одну не опустили. Месячный spend cap действует по тиру.

Актуальная документация (снимок 30.08.2026)

platform.claude.com/docs/en/api/rate-limits: после потолка тира пауза до 00:00 UTC 1-го числа; у 429 нет retry-after; error_code — enforced_spend_limit_reached.

00:00 UTC 1-го числа

Без повышения тира доступ возвращается в этот момент. 01.09.2026 00:00 UTC в примере JSON — дата-образец. Верьте телу вашей ошибки.

Подтверждено vs частые путаницы

Подтверждено

Документация на 30.08.2026: 429 месячного потолка тира оставляет type rate_limit_error, без retry-after, error.details.error_code = enforced_spend_limit_reached. Потолки $500 / $1,000 / $200,000. Собственный spend limit — HTTP 400.

Частые путаницы

«Любой 429 проходит за десятки секунд» верно для rate limit с retry-after и неверно для enforced_spend_limit_reached. Вторая путаница — отождествлять это с weekly limit Claude Code. Weekly — квота подписки; spend cap — месячный долларовый потолок Console-организации. Часы сброса разные.

Что делать: клиент или биллинг

Rate-limit 429: уважать retry-after

rate_limit_error плюс retry-after или заголовки anthropic-ratelimit-* — это RPM / ITPM / OTPM либо acceleration limit. Снизьте параллелизм, послушайте заголовок, кэшируйте промпт. Обычно хватает минут. Месячный 429 так обрабатывать нельзя.

enforced_spend_limit_reached: бэкофф не поможет

Запросите более высокий тир на странице Rate limits или ждите 00:00 UTC 1-го числа. 400 от собственного spend limit снимается, как только вы поднимете или снимете лимит в Billing. Если месяц уже выбран и задача не ждёт — нужен биллинг вне этой Console-организации.

Три шага (без смены вендора)

1) HTTP 429 или 400? 2) error.details.error_code = enforced_spend_limit_reached и нет retry-after? 3) текст указывает на 00:00 UTC 1-го числа? Это потолок тира. 400, который начинается с “You have reached your specified API usage limits”, — ваш собственный лимит. Недельная квота Claude Code обычно строка вроде “You've hit your weekly limit”, не этот API error_code. Сначала поднимите тир или Billing-лимит в той же организации. Обход аутентификации и spend-контроля Anthropic здесь не описывается.

Эта ошибка — не баланс QCode

enforced_spend_limit_reached привязан к месячному тиру организации Anthropic Console, не к балансу реселлера. QCode списывает предоплату по официальной цене × сервисный коэффициент по другому пути. Мы не утверждаем, что QCode никогда не троттлит. Если ваша организация Anthropic заморожена до 1-го, а задача не ждёт, перевод на другой уже выданный API-ключ — инженерный запасной путь, а не обход правил Anthropic.

Частые вопросы

Как отличить enforced_spend_limit_reached от обычного 429?

Два признака: нет retry-after и error.details.error_code равен enforced_spend_limit_reached. Тогда это месячный потолок, не минутный троттлинг.

Какие месячные потолки у Start / Build / Scale?

Документация на 30.08.2026: Start $500, Build $1,000, Scale $200,000 USD за календарный месяц. У Custom публичной цифры нет. Истина — числа на Billing / Rate limits в Console.

Мой собственный spend limit тоже даёт этот error_code?

Нет. Лимит, который вы поставили организации или workspace, возвращает HTTP 400, invalid_request_error, текст с “You have reached your specified API usage limits”. Перерасход Claude Code workspace может быть 429 с retry-after. Три случая — три политики ретраев.

Поможет ли смена модели Claude обойти месячный потолок?

Нет. Потолок — доллары организации за календарный месяц, не модель. Другой SKU Claude идёт в тот же счёт. Дальше только повышение тира, ожидание 1-го числа или трафик вне этой Console-организации.

Что сделает авторетрай SDK?

Официальные SDK ретраят rate limit с retry-after. У spend-cap 429 заголовка нет, ретраи падают до момента восстановления. Увидев enforced_spend_limit_reached, остановите ретраи и откройте Billing / Rate limits.

Это то же самое, что weekly limit Claude Code?

Нет. Weekly limit — квота периода подписки. enforced_spend_limit_reached — месячный долларовый потолок API-организации. Разные поверхности и разные часы сброса.

Источники

Суммы потолков, отсутствие retry-after, error_code enforced_spend_limit_reached и HTTP 400 для собственного spend limit — страница Anthropic platform.claude.com/docs/en/api/rate-limits, снимок 30.08.2026. Фраза “You have reached your API usage limits: your organization has crossed its monthly API usage threshold” — пример JSON с той же страницы. Дата сведения к Start / Build / Scale — запись 26.06.2026 на platform.claude.com/docs/en/release-notes/overview (снимок 30.08.2026). Внутренние неопубликованные настройки не цитируются.

Потолок Console-организации не обязан останавливать поставку до 1-го числа

Это биллинг организации Anthropic, не «сломанный ключ». Если нужен второй путь оплаты — предоплата по официальной цене × сервисный коэффициент.

Связанные материалы

Техническое чтение публичных документов Anthropic, не позиция Anthropic. Тир, потолок и время восстановления — то, что показывает Claude Console и тело ошибки. QCode не обходит аутентификацию, антиабьюз и spend cap Anthropic.