Проверьте ключ одной командой
Если curl отвечает JSON с текстом модели, ключ и адрес верные, и проблема в самом Claude Code. Если 401 или 403, дальше настраивать бессмысленно.
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 и ключ от него. Дальше терминал работает как обычно: агент, правки файлов, команды.
Claude Code запускается с нашим ключом через две переменные окружения, вход в аккаунт Anthropic не нужен. Запросы идут из России без VPN.
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
Аккаунт Anthropic или его регион не обслуживается. Помогает только другой способ авторизации, переустановка не поможет.
Ключ другого сервиса, обрезанный или с лишним пробелом. Ключ OpenAI сюда не подходит, даже если он рабочий.
Ключ отозван, закончился баланс или ключу закрыт доступ к модели.
Экспортировали в одном терминале, запустили в другом или в VS 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 на момент написания; формулировки могут меняться от версии к версии.
Если curl отвечает JSON с текстом модели, ключ и адрес верные, и проблема в самом Claude Code. Если 401 или 403, дальше настраивать бессмысленно.
Обе переменные в той же оболочке, из которой запускаете claude. Чтобы не вводить каждый раз, добавьте строки в ~/.zshrc или ~/.bashrc.
Переменные живут до закрытия окна. Для постоянных используйте setx или профиль PowerShell.
Если Claude Code всё равно предлагает логин, значит переменные не подхватились: проверьте echo $ANTHROPIC_BASE_URL в том же терминале. При заданных переменных экран входа не показывается.
npm i -g @anthropic-ai/claude-code. Старые сборки иногда падают на ответах, которые новые понимают.
Переменные окружения — единственное место настройки. Файла конфигурации с адресом API у Claude Code нет.
Расширение запускает тот же терминал; переменные должны быть видны VS Code, иначе он покажет экран входа. Проще всего запускать VS Code из терминала, где они заданы.
Кладёт нужные значения ANTHROPIC_BASE_URL и ключа в буфер обмена, вставлять всё равно в терминал самим.
Передавайте обе переменные через -e или секреты пайплайна, вход через браузер там невозможен в принципе.
Технически да, но 403 при этом часто остаётся: Anthropic смотрит на регион аккаунта и способ оплаты, а не только на IP. Плюс это нарушает условия использования.
Нет. Claude Code говорит по протоколу Anthropic, нужен ключ от Anthropic-совместимого API. С ключом OpenAI вы получите invalid API key.
Имя модели в Claude Code задаётся отдельно, переменной ANTHROPIC_MODEL или флагом --model. У нас имя без точек: claude-sonnet-5, claude-opus-5.
Нет, если запускать Claude Code по ключу. Подписка нужна только для входа через аккаунт claude.ai, а с заданными ANTHROPIC_BASE_URL и ключом оплата идёт по токенам с баланса ключа. У нас это рубли: карта РФ или СБП, пополнение от 50 ₽.
Каждое сообщение уносит в модель историю сессии, прочитанные файлы и вывод команд, поэтому к концу длинной задачи запросы заметно тяжелее первых. Команда /compact сжимает историю, /clear начинает сессию с чистого листа. Рутину отдавайте модели подешевле, а самую сильную включайте под сложные задачи.
OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.