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 и ключ от него. Дальше терминал работает как обычно: агент, правки файлов, команды.

/ На kosareva.cloud

Claude Code из России: две переменные и оплата в рублях

Claude Code запускается с нашим ключом через две переменные окружения, вход в аккаунт Anthropic не нужен. Запросы идут из России без VPN.

Claude Sonnet 5
216 ₽ вход, 1 080 ₽ выход за 1 млн токенов
Claude Opus 5.5
432 ₽ вход, 2 160 ₽ выход за 1 млн токенов
Оплата
Карта РФ или СБП от 50 ₽, компаниям — по счёту
Доступ
Без VPN, запросы идут с российских IP
export ANTHROPIC_BASE_URL="https://api.kosareva.cloud"  # без /v1: путь допишет сам Claude Code
export ANTHROPIC_AUTH_TOKEN="ВАШ_API_КЛЮЧ"
export ANTHROPIC_MODEL="claude-sonnet-5"

claude
$env:ANTHROPIC_BASE_URL = "https://api.kosareva.cloud"  # без /v1: путь допишет сам Claude Code
$env:ANTHROPIC_AUTH_TOKEN = "ВАШ_API_КЛЮЧ"
$env:ANTHROPIC_MODEL = "claude-sonnet-5"

claude
/ Почему

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

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.

# без /v1: путь допишет сам Claude Code
export ANTHROPIC_BASE_URL="https://api.kosareva.cloud"
export ANTHROPIC_API_KEY="ваш-ключ"
claude
03

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

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

# без /v1: путь допишет сам Claude Code
$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.

Нужна ли подписка Claude Pro или Max?

Нет, если запускать Claude Code по ключу. Подписка нужна только для входа через аккаунт claude.ai, а с заданными ANTHROPIC_BASE_URL и ключом оплата идёт по токенам с баланса ключа. У нас это рубли: карта РФ или СБП, пополнение от 50 ₽.

Почему Claude Code так быстро тратит баланс?

Каждое сообщение уносит в модель историю сессии, прочитанные файлы и вывод команд, поэтому к концу длинной задачи запросы заметно тяжелее первых. Команда /compact сжимает историю, /clear начинает сессию с чистого листа. Рутину отдавайте модели подешевле, а самую сильную включайте под сложные задачи.

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

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

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