Ошибка Rate Limit Reached в Claude Code: причины 429 и 6 решений (2026)
429 в Claude Code? Tier 1 режет Sonnet 4.x до 30k ITPM / 50 RPM. Читай retry-after, добавь backoff, режь ITPM кэшем или пуль ёмкость. 6 решений.
Если Claude Code пишет «Rate limit reached», то API сообщает, что вы потратили свой поминутный бюджет токенов или запросов, а не что Anthropic лежит. Решение — прочитать один заголовок и замедлить нужное измерение.
Вы запустили несколько параллельных субагентов или длинный цикл агента, и Claude Code останавливается красной строкой про rate limit или «Request rejected (429)». Ничего не сломано. Вы упёрлись в поминутный потолок, который задаёт уровень вашего аккаунта, и API просит подождать конкретное число секунд перед повтором.
Эта статья — про API-шный 429, который вы получаете как пользователь Console / API-ключа с тарификацией за токен. Если вы на подписке Pro или Max и упёрлись в недельный или сессионный потолок вместо 429, то это другой механизм с другим решением — он разобран в статье Лимит Claude Code исчерпан слишком быстро.
Диагностика за 30 секунд
Первое, что нужно понять: какую ошибку вы вообще видите, потому что решения расходятся резко.
| Что вы видите в терминале | HTTP-статус | Что это значит | Первый ход |
|---|---|---|---|
API Error: Request rejected (429) | 429 | Ваш аккаунт превысил собственный поминутный лимит (RPM/ITPM/OTPM) | Прочитать retry-after, затем срезать конкуренцию или кэшировать |
API Error: Server is temporarily limiting requests (not your usage limit) | 429 (acceleration limit) | Короткоживущий троттлинг после резкого всплеска трафика | Подождать чуть-чуть, наращивать трафик постепенно |
API Error: Repeated 529 Overloaded errors | 529 | Серверы Anthropic перегружены для всех | Подождать или /model на менее загруженную модель. См. руководство по 529 |
You've hit your weekly limit · resets Mon | — (подписка) | Лимит плана Pro/Max, а не API-шный 429 | См. руководство по лимиту использования |
Пройдите этот чек-лист по порядку:
- Убедитесь, что это 429, а не 529. Claude Code использует разные формулировки для каждого. «Request rejected (429)» или «Rate limited» — это ваш аккаунт. «529 Overloaded» — это сервер. Относитесь к ним по-разному.
- Проверьте, какой credential активен. Запустите
/status. СлучайныйANTHROPIC_API_KEYв вашем шелле может направить вас через ключ низкого уровня вместо аккаунта, на котором вы думаете, что находитесь. - Посмотрите на свой уровень. Откройте страницу Limits в Console. Tier 1 тесный: 50 RPM и 30 000 ITPM для Sonnet 4.x. Один ход с большим контекстом плюс один субагент могут это превысить.
Когда чинить 429 (а когда просто подождать)
Решите до того, как начнёте рефакторить, потому что некоторые 429 проходят сами, а некоторым нужны реальные изменения.
Когда просто повторить и подождать. Если вы видите случайный 429 во время всплеска, а retry-after маленький (несколько секунд), не делайте ничего структурного. Claude Code уже повторяет временные 429 и 529 ошибки ёмкости до 10 раз с экспоненциальным backoff, прежде чем выдать ошибку, показывая обратный отсчёт Retrying in Ns · attempt x/y. Если частота ошибок ниже примерно 5% запросов, повтор — это и есть всё решение.
Когда реально что-то менять. Если 429 постоянны, если они убивают субагентов посреди задачи или если retry-after всё растёт, вы структурно превышаете поминутный бюджет своего уровня. Понизьте конкуренцию, добавьте кэширование или поднимите уровень. Накидывать больше повторов на насыщенный лимит — это просто ставить в очередь больше провалов.
Правило остановки. Если вы на Tier 1 гоняете параллельных субагентов по большому репозиторию, никакой backoff не удержит. Либо переходите на более высокий уровень, либо пуляйте ёмкость через шлюз. Backoff сглаживает всплески; он не поднимает потолок.
Что на самом деле значат «Rate Limit Reached» и HTTP 429
429 — это HTTP-статус, который Claude API возвращает, когда ваша организация превышает один из своих поминутных rate limit. Это сигнал на уровне аккаунта, привязанный к вашей организации, и он применяется отдельно для каждой модели. Тело ошибки — это rate_limit_error, а сообщение называет, в какой лимит вы упёрлись, например «This request would exceed your organization’s rate limit of x0,000 input tokens per minute». API также прикрепляет заголовок retry-after.
Есть три поминутных измерения, которые применяет Messages API, согласно документации Anthropic по rate limits:
- RPM (запросы в минуту): сколько API-вызовов вы можете сделать.
- ITPM (входные токены в минуту): сколько входных токенов вы можете отправить. Именно это кусает рабочие нагрузки агентов, потому что каждый ход отгружает полный контекст разговора как ввод.
- OTPM (выходные токены в минуту): сколько токенов модели могут сгенерировать вам в минуту. Заметьте:
max_tokensне входит в OTPM; считаются только реально произведённые токены, так что высокийmax_tokensне имеет минуса для rate limit.
Вы получаете 429 в момент, когда пересекаете любое из трёх. Лимит использует алгоритм токен-бакета, так что ваша ёмкость пополняется непрерывно, а не сбрасывается в начале каждой минуты. Это также значит, что короткие всплески могут зацепить лимит, даже когда ваш усреднённый за минуту расход выглядит нормально: 60 RPM применяется ближе к 1 запросу в секунду, а не к 60 запросам, выпущенным разом.
Три числа управляют каждым 429: запросы, входные токены и выходные токены в минуту. Найдите, какое из них вы пробиваете, и решение выберется само.
Ответ 429 и заголовки, которые говорят всё
Когда вы упираетесь в лимит, ответ несёт заголовки, которые сообщают лимит, ваш остаток бюджета и когда он пополнится. Их стоит выводить на поверхность в любом цикле агента, который вы строите:
HTTP/1.1 429 Too Many Requests
retry-after: 12
anthropic-ratelimit-input-tokens-limit: 30000
anthropic-ratelimit-input-tokens-remaining: 0
anthropic-ratelimit-input-tokens-reset: 2026-06-24T18:42:30Z
retry-after — это число секунд, которое нужно подождать перед повтором; более ранние повторы провалятся. Заголовки anthropic-ratelimit-*-limit, -remaining и -reset существуют отдельно для запросов, входных токенов и выходных токенов, так что вы можете следить за запасом по каждому измерению и отступать до того, как зацепите, а не после.
Одна оговорка, которую сфера выучила трудным путём: retry-after — это подсказка сервера, и на границе скользящего окна она может читаться чуть короче. Уважайте её как нижнюю границу, затем добавляйте сверху положительный джиттер, чтобы флот рабочих не проснулся и не повторил все в одну и ту же миллисекунду.
Ошибка и симптом → причина → решение
| Симптом | Вероятная причина | Решение |
|---|---|---|
| 429 в секунды после запуска субагентов | Конкуренция разворачивает RPM и ITPM разом | Понизить CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY; запускать меньше субагентов |
| 429 на одном большом ходу, без параллелизма | Контекст одного хода превышает ITPM (Tier 1 Sonnet = 30k) | Подрезать контекст через /compact или /clear; включить кэширование промптов |
| 429 сразу после тихого периода, затем всплеск | Acceleration limit на резком росте использования | Наращивать трафик постепенно; держать ровную частоту запросов |
| 429 появляются, дашборд показывает остаток квоты | Смотрите на лимит расхода, а не на поминутный rate limit | Поминутные потолки и месячные потолки расхода — разные; смотрите график rate-limit |
retry-after растёт от повтора к повтору | Вы структурно за лимитом, повторы накапливаются | Перестать повторять упорнее; поднять уровень или пулять ёмкость |
| 429 в CI, который должен быть на высоком уровне | Случайный ANTHROPIC_API_KEY маршрутизирует на ключ низкого уровня | Запустить /status; сбросить неправильный ключ |
Почему срабатывает: конкуренция, всплески токенов и отсутствие backoff
Три паттерна вызывают почти каждый 429 в Claude Code.
Параллельные субагенты и параллельные сессии. Это главный. Когда Claude Code разворачивает субагентов через инструмент Task, каждый субагент — это отдельный поток запросов, и каждый несёт собственную копию контекста как входные токены. Запустите шесть субагентов по большому репозиторию, и ваши ITPM и RPM подскакивают разом. Известная проблема Claude Code документирует 5–10 параллельных сессий, запускающих веера субагентов и жёстко падающих под ошибками ёмкости. Сократите веер — и 429 прекратятся.
Всплески контекста на тесном уровне. На Tier 1 Sonnet 4.x получает 30 000 ITPM. Если ваш контекст разговора вырос до 25 000 токенов, одно новое сообщение потребляет бо́льшую часть вашего поминутного бюджета ввода, а второе сообщение в ту же минуту зацепляет 429. Это «раздувание промпта»: сессия стала больше, чем нужно задаче. Запустите /context, чтобы увидеть, что заполняет окно, затем /compact или /clear.
Отсутствие backoff в ваших собственных скриптах. Сам Claude Code повторяет с экспоненциальным backoff. Но если вы бьёте по API напрямую вокруг Claude Code (CI-обёртка, кастомный цикл агента) и повторяете с фиксированным интервалом без джиттера, каждый рабочий повторяет в ногу и заново зацепляет лимит вместе со всеми. Синхронизированные повторы — это то, как короткий троттлинг становится затяжным сбоем.
Как это починить: решения для каждого уровня
Решение Free / Tier 1: читай заголовок, режь всплеск
Если вы на самом нижнем уровне, у вас меньше всего запаса, так что ведите себя соответственно.
- Уважайте
retry-after. Подождите число секунд, которое говорит заголовок, затем добавьте джиттер. Не повторяйте рано. - Сожмите контекст. Запускайте
/compactв естественных точках разрыва или/clear, чтобы начать заново. Меньше контекста на ход — меньше ITPM на запрос. - Снизьте конкуренцию почти до последовательной. Установите потолок конкуренции низким, чтобы не разворачивать запросы, которые не можете себе позволить.
# Lower tool-use concurrency before a heavy session
export CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=2
# Surface failures faster in scripts instead of retrying 10x
export CLAUDE_CODE_MAX_RETRIES=3
claude
Решение Paid / Tier 2-3: кэширование и экспоненциальный backoff
Как только у вас появился запас, рычаг — это кэширование плюс дисциплинированные повторы.
Кэширование промптов режет ITPM, а не только стоимость. На большинстве текущих моделей Claude cache_read_input_tokens не засчитываются в ваш лимит ITPM. Собственный пример Anthropic: при лимите 2 000 000 ITPM и доле попаданий в кэш 80% вы можете эффективно обрабатывать около 10 000 000 суммарных входных токенов в минуту, потому что кэшированные 8M бесплатны против rate limit. Кэшируйте свой системный промпт, описания инструментов и большие документы контекста. О механике сквозного подрезания расхода токенов смотрите Оптимизацию токенов в Claude Code.
Экспоненциальный backoff с джиттером — правильная форма повтора, когда циклом управляете вы:
import random, time
def backoff_sleep(attempt, retry_after=None):
if retry_after is not None: # honor the server hint as a floor
base = float(retry_after)
else:
base = min(2 ** attempt, 60) # 1, 2, 4, 8 ... capped at 60s
time.sleep(base + random.uniform(0, base * 0.25)) # add jitter
Для прогонов без присмотра вроде CI можно также задать CLAUDE_CODE_RETRY_WATCHDOG=1, чтобы Claude Code повторял ошибки ёмкости 429 и 529 бесконечно, а не сдавался после CLAUDE_CODE_MAX_RETRIES попыток.
Решение Enterprise / Tier 4: поднять потолок или пулять его
Когда backoff и кэширования мало, вам нужно больше лимита.
- Повышайте свой уровень. Уровни поднимаются автоматически, когда совокупные покупки кредитов достигают каждого порога. Tier 4 даёт Sonnet 4.x 4 000 RPM и 2 000 000 ITPM против 50 RPM / 30 000 ITPM у Tier 1. Для лимитов выше Tier 4 обращайтесь в отдел продаж Anthropic за кастомными лимитами или лимитами Priority Tier.
- Задайте потолки на воркспейс, чтобы один проект не мог уморить голодом остальную организацию. Лимиты воркспейса нарезают поминутный бюджет организации по каждому типу лимитера.
- Распределите нагрузку по провайдерам или пуляйте ёмкость. Если ваша нагрузка рваная, а узким местом служат поминутные потолки одной организации, маршрутизирующий слой перед несколькими провайдерами расширяет эффективный потолок. Подробнее о паттерне в руководстве по гибридной маршрутизации Claude Code.
Rate limit Anthropic по уровням (Sonnet 4.x и Opus 4.x)
Поминутные потолки, которые решают, как быстро вы зацепите 429, из официальной документации по rate limits:
| Уровень | Кредит для достижения | Sonnet 4.x RPM / ITPM / OTPM | Opus 4.x RPM / ITPM / OTPM |
|---|---|---|---|
| Tier 1 | $5 | 50 / 30,000 / 8,000 | 50 / 500,000 / 80,000 |
| Tier 2 | $40 | 1,000 / 450,000 / 90,000 | 1,000 / 2,000,000 / 200,000 |
| Tier 3 | $200 | 2,000 / 800,000 / 160,000 | 2,000 / 5,000,000 / 400,000 |
| Tier 4 | $400 | 4,000 / 2,000,000 / 400,000 | 4,000 / 10,000,000 / 800,000 |
Лимит Opus 4.x — это единый общий потолок на Opus 4.8, 4.7, 4.6, 4.5 и 4.1. Лимит Sonnet 4.x — общий на Sonnet 4.6 и 4.5. Переключение между версиями в одном семействе не даёт свежего бакета. Одна деталь помогает: лимиты применяются отдельно на каждую модель, так что задача на Opus и задача на Sonnet берут из своих пулов и доходят каждая до своего потолка одновременно. Маршрутизация дешёвой высокообъёмной работы на Haiku 4.5 держит её вообще вне бакетов Opus и Sonnet.
Acceleration limit: 429, не имеющий ничего общего с вашим уровнем
Есть второй вид 429, о котором стоит знать, потому что он удивляет тех, кто и близко не у потолка своего уровня. Если использование вашей организации резко скачет, API может применить acceleration limit и вернуть 429, даже когда у ваших поминутных потолков есть запас. Цель — остановить разбежавшиеся всплески, а не наказать ровное использование. Решение не «поднимите мой уровень», а «наращивайте постепенно». Прогревайте новую нагрузку в течение минуты-двух, а не палите пиковый трафик с холодного старта, и держите частоту запросов примерно постоянной. В Claude Code это троттлинг за сообщением Server is temporarily limiting requests (not your usage limit), который CLI уже повторяет за вас, прежде чем вывести его на поверхность.
Распределите нагрузку, а не складывайте её
Большинство 429 у агентов происходят из попытки сделать всё в одном тесном окне. Несколько дешёвых привычек планирования укладывают ту же суммарную работу под те же потолки:
- Сериализуйте дорогие ходы. Один ход с большим контекстом может быть бо́льшей частью вашей минуты ITPM на Tier 1. Гоняйте такие по одному, а не давайте субагентам палить их параллельно.
- Пакетируйте несрочную работу. Если задаче не нужен живой ответ, у Message Batches API свои отдельные лимиты, так что перенос объёмной работы туда освобождает ваш интерактивный бюджет RPM и токенов.
- Раздвиньте CI-задачи во времени. Не назначайте десять пайплайнов на старт в одну и ту же минуту cron. Сместите их время старта, чтобы их первые всплески не столкнулись на одном бакете.
Типичные паттерны сбоев, которые мы наблюдали в 2026
Повторяющиеся формы, о которых сфера продолжает сообщать, взятые из трекера проблем Claude Code и тредов поддержки:
| Паттерн | Триггер | Что чинит |
|---|---|---|
| Жёсткое падение веера субагентов | 6+ параллельных субагентов на большом контексте | Понизить потолок конкуренции; сократить веер |
| 529, помеченный как «Rate limited» | Перегрузка сервера во время параллельных сессий | Понять, что это 529, а не ваша квота; ждать или /model-переключение |
| 429 несмотря на «доступную квоту» на дашборде | Путают месячный лимит расхода с поминутным rate limit | Читать график rate-limit, а не график расхода |
Всплеск в стиле /batch отклонён (429) | Много запросов выпущено в одном тесном окне | Раздвинуть запросы; уважать токен-бакет |
| CI-циклы заново зацепляют тот же лимит | Повторы с фиксированным интервалом без джиттера | Экспоненциальный backoff плюс случайный джиттер |
Это паттерны механизма, а не опубликованный журнал инцидентов. Лейтмотив один: найдите измерение, которое вы насыщаете, затем либо замедлите его, либо расширьте.
Когда нужен больший запас: лучшие альтернативы, работающие сейчас
Если ваше узкое место — поминутные потолки одной организации, вот реалистичные варианты, ofox первым.
Пуловая ёмкость ofox (один ключ, оплата по факту). ofox предоставляет OpenAI-совместимый эндпоинт по адресу https://api.ofox.ai/v1, который направляет один API-ключ на множество моделей на пуловой ёмкости с оплатой по факту. Поскольку запросы берут из общей ёмкости, а не из вашего единственного низкоуровневого бакета организации, рваная нагрузка агента менее склонна насытить поминутный потолок одного провайдера. Вы сохраняете ту же форму OpenAI SDK и меняете строку модели, чтобы сменить модель. Это не отменяет физику токенов-в-минуту, но даёт рваной нагрузке больше места до того, как она зацепит.
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key="YOUR_OFOX_KEY")
resp = client.chat.completions.create(
model="anthropic/claude-opus-4.8",
messages=[{"role": "user", "content": "Refactor this function for clarity."}],
)
Поднимите свой уровень Anthropic. Самое чистое решение, если хотите остаться у одного провайдера: внесите депозит до следующего уровня, и ваши RPM/ITPM/OTPM подскочат немедленно. Лучше всего, когда ваш трафик предсказуем и вы можете обязаться по расходу.
Мультипровайдерная маршрутизация на вашей стороне. Запустите собственный роутер, который распределяет запросы по провайдерам и уважает retry-after каждого. Больше всего контроля, больше всего кода для поддержки. Паттерн гибридной маршрутизации разбирает дизайн.
Как следить за rate limit и опережать 429
Вы можете увидеть 429 до того, как он приземлится. Три места для наблюдения:
- Страница Usage в Console имеет два графика rate-limit: почасовой максимум некэшированных входных токенов в минуту против вашего текущего потолка ITPM и то же для выходных токенов. Она также показывает вашу долю попаданий в кэш, которая говорит, сколько запаса ITPM покупает вам кэширование.
- Заголовки ответа (
anthropic-ratelimit-*-remainingи-reset) позволяют вашему собственному коду троттлить проактивно. Когда остаток входных токенов приближается к нулю, замедляйтесь до того, как бакет опустеет. - Статус Anthropic на status.claude.com говорит, является ли волна сообщений «rate limited» на самом деле событием перегрузки 529, затрагивающим всех, — в этом случае решение это терпение, а не конфиг.
FAQ
Что означает API Error: Rate Limit Reached в Claude Code?
Это значит, что Claude API вернул HTTP 429: ваша организация отправила больше запросов или токенов в минуту, чем позволяет ваш уровень использования. Это троттлинг на стороне аккаунта по RPM, ITPM или OTPM, а не падение сервера. В ответе есть заголовок retry-after, который говорит, сколько секунд ждать.
429 — это то же, что 529 в Claude Code?
Нет. 429 (rate_limit_error) значит, что ваш аккаунт превысил собственные поминутные лимиты. 529 (overloaded_error) значит, что серверы Anthropic временно перегружены для всех, независимо от вашего расхода. Claude Code показывает их разными сообщениями: «Request rejected (429)» против «Repeated 529 Overloaded errors».
Сколько ждать после ошибки 429 rate limit?
Читайте заголовок retry-after. Он даёт точное число секунд до повтора; повтор раньше снова провалится. Если заголовок отсутствует, переходите к экспоненциальному backoff, начиная примерно с 1–2 секунд и удваивая, со случайным джиттером, чтобы параллельные рабочие не повторяли все в один и тот же миг.
Почему Claude Code так быстро упирается в rate limit с субагентами?
Параллельные субагенты разворачивают много одновременных запросов, и каждый несёт полный контекст разговора как входные токены. Горстка субагентов на большом контексте может пробить ваш потолок ITPM за секунды. Понизьте CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY или сократите число одновременно запускаемых субагентов.
Что такое RPM, ITPM и OTPM в лимитах Anthropic? RPM — это запросы в минуту, ITPM — входные токены в минуту, OTPM — выходные токены в минуту. Messages API применяет все три на класс модели. Вы получаете 429 в тот момент, когда превышаете любой из них, и ошибка называет, в какой лимит вы упёрлись.
Как поднять свой rate limit в Claude API? Уровни использования повышаются автоматически по мере того, как ваши совокупные покупки кредитов достигают каждого порога ($5 для Tier 1, $40 для Tier 2, $200 для Tier 3, $400 для Tier 4). Более высокие уровни поднимают RPM, ITPM и OTPM. Для лимитов выше Tier 4 обращайтесь в отдел продаж Anthropic за кастомными лимитами или лимитами Priority Tier.
Помогает ли кэширование промптов при ошибках 429 rate limit?
Да. На большинстве текущих моделей Claude cache_read_input_tokens не засчитываются в ваш лимит ITPM. При доле попаданий в кэш 80% против потолка в 2 000 000 ITPM вы можете эффективно обрабатывать около 10 000 000 суммарных входных токенов в минуту, потому что кэшированная часть бесплатна против rate limit.
Можно ли избежать rate limit в Claude Code, сменив провайдеров?
Можно распределить нагрузку по провайдерам или использовать пуловый шлюз. OpenAI-совместимый шлюз вроде ofox по адресу https://api.ofox.ai/v1 направляет один ключ на множество моделей на пуловой ёмкости с оплатой по факту, так что один проект менее склонен насыщать поминутные потолки одной организации. Это не отменяет физику, но расширяет запас.
429 — это API, задающий темп, а не захлопывающий дверь. Прочитайте
retry-after, замедлите измерение, которое вы насыщаете, и работа продолжит двигаться.
Источники, проверенные для этого обновления
- Anthropic API Rate Limits reference — таблица уровней, RPM/ITPM/OTPM, retry-after и заголовки
anthropic-ratelimit-*, а также ITPM с учётом кэша (проверено 2026-06-24) - Claude Code Error reference — точные строки «Request rejected (429)» и «Server is temporarily limiting requests», плюс
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY,CLAUDE_CODE_MAX_RETRIES,CLAUDE_CODE_RETRY_WATCHDOGи поведение автоповтора (проверено 2026-06-24) - Claude Code issue #68502 о параллельных субагентах, путанице 429 и 529 и жёстком падении без backoff (проверено 2026-06-24)
- Страница моделей ofox о текущем флагмане Claude (Opus 4.8) и OpenAI-совместимом эндпоинте (проверено 2026-06-24)


