Когда Claude Code выдаёт сообщение о rate limit, первый импульс — подождать или перезапустить. Но действие зависит от того, какой именно слой ограничивает запросы: подписка Claude.ai (Pro, Max, Team), Anthropic API или сторонний Endpoint. Эти три случая дают похожие симптомы, но требуют разных шагов.
Что означает rate limit в Claude Code
Claude Code может работать в двух принципиально разных режимах аутентификации:
- Подписка (Pro, Max, Team, Enterprise): вход через
claude loginили claude.ai OAuth. Запросы идут через claude.ai gateway. Лимиты — это rolling-окно на 5 часов и еженедельный потолок, который делится между Claude Code, Claude chat и Cowork. - API Key (
ANTHROPIC_API_KEYв переменных окружения): запросы идут напрямую наapi.anthropic.com. Лимиты — RPM, ITPM, OTPM по tier вашего workspace в Anthropic Console.
Если в окружении выставлен ANTHROPIC_API_KEY, он имеет приоритет над подпиской. Claude Code переключится на API Key даже если вы вошли через подписку — это частый источник путаницы.
Если вы работаете через кастомный API Endpoint — например, через BetterToken как промежуточный провайдер для Claude Code, — добавляется ещё один слой диагностики: нужно понять, дошёл ли запрос до провайдера и где именно возник отказ. В BetterToken Dashboard можно проверить статус запроса, модель, input/output/cache tokens и соответствующий расход; это помогает отделить лимит вашего провайдера от ошибки Anthropic API. Для настройки Base URL и API Key откройте документацию BetterToken и сверяйте конфигурацию с текущим workflow.
Как определить: подписка, Anthropic API или другой Endpoint
Первый шаг в любом случае — запустить /status внутри Claude Code. Команда покажет текущий метод аутентификации: subscription account или API Key. Именно это определяет, в какую сторону смотреть дальше.
| Признак | Подписка (Pro/Max/Team) | Anthropic API 429 | Сторонний Endpoint |
|---|---|---|---|
| Текст ошибки | «You've hit your session limit», «You've hit your weekly limit», «Resets at [время]» | «API Error: Request rejected (429)», rate_limit_error в JSON |
429 или другой код от провайдера; может отличаться от anthropic-формата |
| Аутентификация | OAuth / login (claude.ai), /status показывает subscription |
ANTHROPIC_API_KEY в env, /status показывает API Key |
Кастомный Base URL (ANTHROPIC_BASE_URL), собственный API Key провайдера |
| Что ограничено | Compute-часы: rolling 5-часовое окно + недельный потолок | RPM, ITPM, OTPM по tier | Квота конкретного провайдера |
| Первое действие | Подождать сброс, запустить /usage, при наличии — /usage-credits |
Проверить retry-after в ответе, снизить параллелизм |
Проверить статус-страницу провайдера, уточнить квоту |
Отдельный случай — ошибка 529 overloaded_error или «Server is temporarily limiting requests». Это не ваш лимит — это Anthropic сигнализирует о перегрузке своих серверов. Правильное действие: подождать и не засыпать систему повторными запросами.
Пошаговая диагностика без утечки API Key
Шаг 1. Проверить метод аутентификации
В сессии Claude Code:
/status
Обратите внимание на поле «Login method» или «Auth token». Если присутствует ANTHROPIC_API_KEY в окружении и вы хотите работать через подписку — сначала уберите переменную:
unset ANTHROPIC_API_KEY
После этого перезапустите и снова проверьте /status.
Шаг 2. Прочитать полный текст ошибки
Точный текст ошибки — главный диагностический сигнал:
- «Resets at [время]» → подписочный лимит, ждать сброса
rate_limit_error+retry-afterв заголовке → API 429, смотреть в Anthropic Console- Ошибка со своим форматом + нестандартный Base URL → проблема на стороне провайдера
Шаг 3. Проверить текущее использование
Для подписки:
/usage
Показывает usage bars Pro/Max: сколько осталось до сброса 5-часового окна и недельного потолка. Переключение модели через /model не даст доступ к уже израсходованным compute-часам — лимит общий для всех моделей.
Для API: откройте Anthropic Console → Settings → Limits. Там видны tier, текущие лимиты RPM/ITPM/OTPM и использование.
Шаг 4. Проверить официальный статус
https://status.anthropic.com/
Если на статус-странице есть инцидент по Claude Code или API — это объясняет проблему вне зависимости от ваших лимитов.
Шаг 5. Проверить конфликт конфигураций
Ситуация, когда одновременно выставлены ANTHROPIC_API_KEY и ANTHROPIC_BASE_URL, может дать непредсказуемое поведение. Два набора переменных для разных схем аутентификации не должны существовать одновременно в одном окружении.
При запросе помощи по ошибке — никогда не включайте в логи или скриншоты значение Authorization заголовка, x-api-key или содержимое .env файла. Достаточно текста ошибки, HTTP-кода, версии claude --version и вывода /status (без значений ключей).
Что делать после определения источника лимита
Подписочный лимит (Pro/Max/Team):
- Подождать сброс окна — время показывает
/usageи текст ошибки. - Переключить модель на Sonnet или Haiku через
/model— они расходуют compute-бюджет медленнее, чем Opus. - Если есть usage credits — запустить
/usage-creditsи проверить настройки. - Между несвязанными задачами использовать
/clear— это сбрасывает контекст и снижает расход на следующих запросах.
Anthropic API 429 (rate_limit_error):
- Прочитать значение
retry-afterв ответе и подождать указанное время. - Снизить параллелизм: агентские задачи с несколькими подзадачами одновременно быстро упираются в лимиты Tier 1.
- Проверить tier в Anthropic Console → Settings → Limits. Tier 1 имеет жёсткие ограничения по RPM и ITPM — один агентный запрос с большим контекстом может их исчерпать.
- Для долгосрочного роста: контактировать Anthropic по вопросу повышения лимитов через Console.
Сторонний Endpoint:
- Открыть статус-страницу провайдера.
- Уточнить у провайдера текущую квоту и формат ошибки.
- При необходимости переключиться на прямой Anthropic API или другой провайдер.
Overloaded / 529:
- Подождать. Это перегрузка серверов Anthropic, не ваш личный лимит.
- Проверить
status.anthropic.comна наличие инцидента. - Не пытаться обойти через частые повторные запросы — это только усиливает нагрузку.
Когда ждать, менять нагрузку или обращаться в поддержку
| Ситуация | Рекомендация |
|---|---|
| Подписочный лимит с указанием времени сброса | Ждать, переключить модель, использовать /clear |
API 429 с retry-after |
Ждать указанный период, снизить параллелизм |
API 429 без retry-after, повторяется часто |
Проверить tier, рассмотреть запрос на увеличение лимитов |
| 529 Overloaded | Ждать, следить за status.anthropic.com |
| Ошибка от стороннего Endpoint | Обратиться к провайдеру |
| Лимит не понятен, подписка активна и оплачена | Написать в поддержку claude.ai |
| Лимит не понятен, API Key активен | Написать в поддержку Anthropic Console |
Подписочная поддержка и API-поддержка — разные команды. Лимит подписки Pro/Max не решит команда Anthropic API Console, и наоборот.
FAQ
Почему я вижу «rate limit», хотя только что начал сессию?
Возможные причины: (1) В окружении выставлен ANTHROPIC_API_KEY с низким tier, который имеет приоритет над подпиской. Проверьте через /status. (2) Предыдущая сессия израсходовала большой кусок rolling-окна — оно не сбрасывается при перезапуске Claude Code. (3) Если несколько устройств или агентных задач используют один аккаунт, лимиты суммируются.
Поможет ли смена модели через /model?
Для подписки — частично. «You've hit your Opus limit» означает исчерпан лимит Opus, и переключение на Sonnet даёт продолжить работу в той же сессии. Но общий недельный и 5-часовой compute-бюджет общий — переключение модели его не восстанавливает.
Нужно ли включать полные логи, когда прошу помощь по ошибке?
Нет. Для диагностики достаточно: полный текст ошибки, HTTP-код, вывод /status без значений ключей, версия claude --version, время возникновения и состояние status.anthropic.com в этот момент.
Какие динамические лимиты меняются чаще всего?
Лимиты API по tier (RPM, ITPM, OTPM) и параметры подписочных окон могут меняться. Актуальные значения — только из официальных страниц:
- Costs и usage: code.claude.com/docs/en/costs
- API errors и rate limits: platform.claude.com/docs/en/api/errors
- Статус сервисов: status.anthropic.com
Не доверяйте числам из туториалов или форумов — они быстро устаревают.