kosareva.cloud

Claude Code не работает: 403 при входе, invalid API key и что с этим делать

Claude Code ставится за минуту, а потом упирается в 403 на входе или в invalid API key. Разбираем, какая ошибка о чём говорит и как запустить его без входа в аккаунт.

/ Короткий ответ

Что это значит

Claude Code не работает из России чаще всего по одной причине: при входе через аккаунт Anthropic сервер отвечает 403, потому что регион не обслуживается. Это не сбой терминала и не проблема вашей сети. Такой же 403 приходит и при попытке оплатить консоль российской картой, так что «завести аккаунт и заплатить» тоже не выход.

Вторая по частоте ошибка — invalid API key. Она значит, что ключ не того формата или выдан другим сервисом: например, ключ OpenAI вставили в переменную для Anthropic, или скопировали с пробелом в конце. Claude Code проверяет ключ при первом запросе, поэтому ошибка появляется не сразу, а после первого сообщения.

Обойти вход в аккаунт можно штатно: Claude Code читает переменные окружения ANTHROPIC_BASE_URL и ANTHROPIC_API_KEY (или ANTHROPIC_AUTH_TOKEN) и при их наличии не просит логин. Достаточно указать адрес Anthropic-совместимого API и ключ от него. Дальше терминал работает как обычно: агент, правки файлов, команды.

/ Почему

Откуда берётся ошибка

  • 403 при входе. Аккаунт Anthropic или его регион не обслуживается. Помогает только другой способ авторизации, переустановка не поможет.
  • invalid API key. Ключ другого сервиса, обрезанный или с лишним пробелом. Ключ OpenAI сюда не подходит, даже если он рабочий.
  • Ключ есть, но 401 или 403 на первом сообщении. Ключ отозван, закончился баланс или ключу закрыт доступ к модели.
  • Переменные заданы не в той оболочке. Экспортировали в одном терминале, запустили в другом или в VS Code, который переменных не видит.
  • Старая версия. Claude Code обновляется часто, старые сборки могут не понимать текущих ответов сервера.
/ Таблица ошибок

Что пишет Claude Code и что это значит

Текст ошибкиПричинаЧто делать
403 при входе через аккаунтРегион аккаунта не обслуживаетсяЗапускать через ANTHROPIC_BASE_URL и ключ, без входа
invalid API keyКлюч не того формата или от другого сервисаПроверить ключ curl, скопировать заново
authentication_error (401)Ключ отозван или не совпадает с base URLВыпустить новый ключ, сверить адрес
permission_error (403)Ключу закрыт доступ к модели или регионуСменить ключ или адрес API
credit balance is too low (400)Закончился балансПополнить счёт у того, чей ключ
overloaded_error (529)Модель перегруженаПодождать и повторить, Claude Code повторяет сам

Тексты приведены как их печатает Claude Code на момент написания; формулировки могут меняться от версии к версии.

/ Что делать

Порядок действий

01

Проверьте ключ одной командой

Если curl отвечает JSON с текстом модели, ключ и адрес верные, и проблема в самом Claude Code. Если 401 или 403, дальше настраивать бессмысленно.

curl https://api.kosareva.cloud/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":50,"messages":[{"role":"user","content":"Привет"}]}'
02

Задайте переменные окружения

Обе переменные в той же оболочке, из которой запускаете claude. Чтобы не вводить каждый раз, добавьте строки в ~/.zshrc или ~/.bashrc.

export ANTHROPIC_BASE_URL="https://api.kosareva.cloud"
export ANTHROPIC_API_KEY="ваш-ключ"
claude
03

На Windows то же через PowerShell

Переменные живут до закрытия окна. Для постоянных используйте setx или профиль PowerShell.

$env:ANTHROPIC_BASE_URL = "https://api.kosareva.cloud"
$env:ANTHROPIC_API_KEY = "ваш-ключ"
claude
04

Не входите в аккаунт

Если Claude Code всё равно предлагает логин, значит переменные не подхватились: проверьте echo $ANTHROPIC_BASE_URL в том же терминале. При заданных переменных экран входа не показывается.

05

Обновите Claude Code

npm i -g @anthropic-ai/claude-code. Старые сборки иногда падают на ответах, которые новые понимают.

/ По инструментам

Где это чинится в разных инструментах

  • Терминал. Переменные окружения — единственное место настройки. Файла конфигурации с адресом API у Claude Code нет.
  • VS Code и расширение Claude Code. Расширение запускает тот же терминал; переменные должны быть видны VS Code, иначе он покажет экран входа. Проще всего запускать VS Code из терминала, где они заданы.
  • Наше расширение VS Code. Кладёт нужные значения ANTHROPIC_BASE_URL и ключа в буфер обмена, вставлять всё равно в терминал самим.
  • Docker и CI. Передавайте обе переменные через -e или секреты пайплайна, вход через браузер там невозможен в принципе.
/ FAQ

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

Можно ли войти в Claude Code через VPN?

Технически да, но 403 при этом часто остаётся: Anthropic смотрит на регион аккаунта и способ оплаты, а не только на IP. Плюс это нарушает условия использования.

Подойдёт ли ключ OpenAI?

Нет. Claude Code говорит по протоколу Anthropic, нужен ключ от Anthropic-совместимого API. С ключом OpenAI вы получите invalid API key.

Почему после смены base URL модель не та?

Имя модели в Claude Code задаётся отдельно, переменной ANTHROPIC_MODEL или флагом --model. У нас имя без точек: claude-sonnet-5, claude-opus-5.

/ На kosareva.cloud

Как это выглядит у нас

Наш шлюз Anthropic-совместимый, поэтому Claude Code запускается двумя переменными: ANTHROPIC_BASE_URL=https://api.kosareva.cloud и ключ из кабинета. Вход в аккаунт не нужен, запросы идут с российских IP без VPN. Claude Sonnet 5 стоит 216 ₽ за миллион входных токенов и 1 080 ₽ за миллион выходных, Claude Opus 5 — 540 и 2 700 ₽, списание по факту. Подробная инструкция с настройкой модели — на странице Claude Code.

Ключ, который работает из России

OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.

Получить ключ