Антон Ларичев

Введение
Claude Code — это CLI-агент от Anthropic, который умеет читать код, писать патчи, запускать команды в терминале и работать с git прямо из консоли. Проблема в том, что Anthropic официально не поддерживает Россию: запросы к api.anthropic.com из российских IP-адресов возвращают ошибку 403 unsupported_country_region_territory. Классический выход — постоянно держать включённым VPN на всей системе, но это неудобно: ломает другие сервисы, снижает скорость, требует ручного переключения.
В этой статье разберём, как настроить Claude Code так, чтобы прокси работал только для запросов к Anthropic API, а не для всего трафика — и почему это надёжнее, чем системный VPN. Начнём с самого быстрого пути — готового доступа через AI для кода от PurpleSchool, где ничего поднимать не нужно, а дальше разберём собственный прокси на VPS.
Почему блокировка происходит именно на уровне API
Geo-блокировка у Anthropic реализована на уровне Cloudflare перед их API-шлюзом: сервис проверяет IP-адрес входящего запроса и сравнивает его со списком поддерживаемых регионов. Сама установка claude-code через npm при этом проходит без проблем — блокируется только обращение к эндпоинту /v1/messages в момент авторизации или отправки запроса модели.
Это значит, что решение не обязано быть системным VPN — достаточно, чтобы именно HTTP-запросы к Anthropic уходили через сервер в поддерживаемом регионе.
Способ 1: AI для кода от PurpleSchool — готовый доступ без VPN и прокси
Если не хочется поднимать VPS и следить за сертификатами, есть готовое решение: AI для кода от PurpleSchool — доступ к моделям Claude (Haiku, Sonnet, Opus) и GPT по одному API-ключу, с оплатой российской картой и без VPN. Со стороны Claude Code это выглядит как обычный Anthropic-совместимый эндпоинт: меняются две переменные окружения, всё остальное работает как обычно — агентный режим, стриминг, tool use.
Настройка занимает пару минут. Получаете ключ в личном кабинете и добавляете в ~/.zshrc или ~/.bashrc:
export ANTHROPIC_API_KEY="ваш ключ"
export ANTHROPIC_BASE_URL="https://app.purpleschool.ru/api-v2/public/ai-proxy/anthropic"
# перечитать конфиг и запустить
source ~/.zshrc
claude
Тот же ключ подходит не только для CLI: есть готовые пошаговые инструкции для VS Code, JetBrains, Cursor, Cline, Windsurf, Neovim и OpenCode, а также для Codex CLI — Claude и GPT работают от общего баланса токенов. Для расширения Claude Code в VS Code переменные задаются в settings.json:
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://app.purpleschool.ru/api-v2/public/ai-proxy/anthropic" },
{ "name": "ANTHROPIC_API_KEY", "value": "ваш ключ" },
{ "name": "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY", "value": "1" }
],
"claudeCode.disableLoginPrompt": true
Что это закрывает: не нужен зарубежный банк и виртуальная карта, не нужен VPS с nginx и Let's Encrypt, расход по моделям и ключам видно в реальном времени, а тариф фиксирован в рублях — от 499 ₽ в месяц, неизрасходованные токены переносятся на следующий месяц. Если нужен максимальный контроль над маршрутизацией или собственный аккаунт в Anthropic — смотрите способы ниже.
Способ 2: собственный обратный прокси на зарубежном VPS
Если нужен прямой доступ к аккаунту Anthropic и полный контроль над маршрутом, самый предсказуемый вариант — поднять reverse proxy на дешёвом VPS в регионе, где Anthropic доступен (например, Германия, Нидерланды), и направлять туда только запросы Claude Code.
Минимальный конфиг nginx на VPS:
server {
listen 443 ssl;
server_name claude-proxy.example.com;
ssl_certificate /etc/letsencrypt/live/claude-proxy.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/claude-proxy.example.com/privkey.pem;
location / {
proxy_pass https://api.anthropic.com;
proxy_set_header Host api.anthropic.com;
proxy_ssl_server_name on;
}
}
После этого Claude Code настраивается через переменную окружения, которая переопределяет базовый URL API:
# добавить в ~/.zshrc или ~/.bashrc
export ANTHROPIC_BASE_URL="https://claude-proxy.example.com"
export ANTHROPIC_API_KEY="sk-ant-..."
Плюс такого подхода — трафик остальных приложений не затрагивается, VPN не нужен вообще. Минус — нужен сервер, домен и минимальное администрирование nginx.
Способ 3: другие API-совместимые провайдеры
Кроме сервиса PurpleSchool есть и другие агрегаторы, которые предоставляют доступ к моделям Claude по API, совместимому с форматом Anthropic, и принимают оплату локальными картами. В таком случае прокси поднимать не нужно — достаточно указать Claude Code адрес и токен агрегатора:
export ANTHROPIC_BASE_URL="https://api.provider-name.ru/anthropic"
export ANTHROPIC_AUTH_TOKEN="токен-от-провайдера"
Важно проверить два момента перед использованием такого сервиса: во-первых, полную совместимость эндпоинтов с /v1/messages, включая поддержку стриминга и tool use — без этого агентный режим Claude Code работать не будет. Во-вторых — политику хранения логов запросов, если в коде есть чувствительные данные.
Способ 4: настройка через settings.json
Переменные окружения удобны для разовой настройки, но если нужно управлять несколькими профилями (например, личный прокси и рабочий), лучше использовать файл конфигурации Claude Code.
{
"env": {
"ANTHROPIC_BASE_URL": "https://claude-proxy.example.com",
"ANTHROPIC_AUTH_TOKEN": "sk-ant-..."
},
"apiKeyHelper": "echo $ANTHROPIC_AUTH_TOKEN"
}
Файл размещается в ~/.claude/settings.json для глобальных настроек или в .claude/settings.json внутри проекта — так можно держать разные прокси для разных репозиториев, не трогая глобальный конфиг.
Проверить, что запросы действительно уходят через прокси, можно напрямую через curl перед запуском самого Claude Code:
curl https://claude-proxy.example.com/v1/messages \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
Если ответ приходит без ошибки региона — конфигурация Claude Code с теми же переменными окружения тоже заработает.
Частые ошибки
Смешивание системного VPN и прокси для CLI. Если на машине уже включён VPN на уровне ОС, а Claude Code дополнительно настроен на собственный прокси, запросы могут уходить двойным маршрутом и periodically получать разные IP — это приводит к нестабильным 403-ошибкам. Стоит выбрать один способ маршрутизации трафика для API-запросов.
Оплата картой, выпущенной в России. Даже если сетевой доступ настроен верно, привязка платёжного метода в консоли Anthropic может отклоняться из-за страны эмитента карты. Для консоли разработчика обычно нужна карта иностранного банка или виртуальная карта, поддерживающая международные платежи.
Прокси не поддерживает стриминг ответов. Некоторые дешёвые reverse-proxy решения буферизуют ответ целиком перед отправкой клиенту, из-за чего Claude Code показывает "зависший" запрос вместо потокового вывода токенов. Проверяйте, что proxy_buffering в nginx выключен для этого location, либо что агрегатор явно заявляет поддержку SSE.
Устаревший токен в settings.json. Если токен обновлён в переменной окружения, но продолжает браться из закэшированного apiKeyHelper, Claude Code будет использовать старое значение до перезапуска сессии — перезапускайте терминал после смены токена.
Заключение
Работа с Claude Code из России не требует держать VPN включённым постоянно на уровне всей системы — достаточно направить через прокси только запросы к Anthropic API, задав ANTHROPIC_BASE_URL и токен авторизации. Быстрее всего стартовать на готовом доступе вроде AI для кода от PurpleSchool: две переменные окружения, оплата в рублях и никакого сервера. Собственный VPS даёт максимальный контроль и стабильность, но требует администрирования. В обоих случаях стоит явно проверять поддержку стриминга и tool use в прокси, иначе агентные возможности Claude Code будут работать некорректно.






Комментарии
0