Claude Code — это агентный CLI от Anthropic: ты пишешь задачу в терминале, а инструмент сам читает файлы, правит код, гоняет тесты и коммитит. Работает он на тех же моделях Claude, что и API. Проблема для России одна: оформить подписку Claude Pro/Max или платить за API напрямую через карту иностранного банка из РФ сложно и нестабильно. Решение, которое не нарушает лицензию Anthropic: запустить Claude Code на своём оплаченном API-ключе через сторонний endpoint (base_url), который принимает оплату в рублях. По состоянию на 2026-05-28 это рабочая схема — Claude Code официально поддерживает переменную окружения для смены endpoint.
Ниже — что именно настраивать, какие переменные окружения за что отвечают (с точными именами из официальной документации Claude Code), как проверить, что всё поднялось, и как держать под контролем расход токенов. Цены приводим в рублях по курсу ЦБ. Тон — для разработчика, который хочет за десять минут получить работающий claude в терминале и не разбираться потом, почему он внезапно лёг.
Что такое Claude Code и почему в России с ним заминка
Claude Code устанавливается как npm-пакет (@anthropic-ai/claude-code) и запускается командой claude прямо в директории проекта. В отличие от чата в браузере, это агент: он видит файловую систему, выполняет shell-команды (с твоего разрешения), умеет планировать многошаговые задачи и работать с git. По сути это тот же движок Claude, обёрнутый в инструмент, который живёт в терминале и редакторе.
Запитать его можно двумя способами. Первый — подписка Claude (Pro, Max, Team, Enterprise): тогда Claude Code авторизуется через твой аккаунт, а лимиты считаются по тарифу подписки. Второй — собственный API-ключ с оплатой по факту использования (pay-as-you-go): тогда каждый запрос тарифицируется по числу токенов.
Для разработчика из России обе двери прикрыты на этапе оплаты. Подписку Anthropic не оформить российской картой — платёжный процессор отбивает карты с российским BIN. Pay-as-you-go API тоже требует привязки зарубежной карты и пополнения в долларах. Сам Claude Code при этом не заблокирован технически — нет geo-фильтра по IP на уровне CLI, как нет его и у большинства dev-инструментов. Заминка ровно в платеже: нечем легально и стабильно пополнить баланс в Anthropic из РФ.
Важно сразу разделить два разных вопроса, которые часто путают:
- Лицензия на Claude Code — сам инструмент бесплатный, его можно ставить и запускать откуда угодно.
- Доступ к моделям — за каждый токен надо платить, и вот тут нужен живой, оплаченный API-ключ.
Схема, которую разбираем дальше, решает именно второй вопрос — легально, через собственный ключ, без серых обходов лицензирования.
Подписка против собственного API-ключа: в чём разница для России
Прежде чем настраивать, стоит понять, какую именно модель оплаты ты выбираешь. Это влияет на то, как считаются деньги и насколько предсказуем счёт.
Подписка (Pro/Max) — фиксированная месячная плата с лимитами по использованию. Удобно, если гоняешь Claude Code много и каждый день. Минус для РФ — её нечем оплатить напрямую, и привязать подписку к стороннему endpoint нельзя: подписочная авторизация идёт через аккаунт Anthropic, а не через base_url.
Собственный API-ключ (pay-as-you-go) — оплата за фактические токены: ноль активности — ноль расходов. Это и есть та модель, которую можно перенаправить на сторонний endpoint, потому что Claude Code разрешает заменить адрес API и токен авторизации переменными окружения.

Для команды из России практический вывод простой: рабочий путь — собственный API-ключ через endpoint, который принимает рубли. Дальше Claude Code не отличает «настоящий» Anthropic от прокси-слоя — он шлёт стандартные запросы в формате Messages API на тот адрес, который ты ему назвал, и подставляет тот токен, который ты дал.
Как это работает: свой ключ + свой base_url
Архитектура простая. Claude Code общается с моделью по HTTP — отправляет запросы в формате Anthropic Messages API на endpoint api.anthropic.com. Этот адрес зашит не намертво: и его, и токен авторизации можно переопределить переменными окружения. Когда ты подставляешь endpoint агрегатора, происходит вот что:
- Claude Code формирует обычный запрос Messages API (
POST /v1/messages) с твоим промптом, контекстом файлов и списком инструментов. - Запрос уходит не в Anthropic напрямую, а на endpoint агрегатора, указанный в
ANTHROPIC_BASE_URL. - Агрегатор проксирует запрос в настоящий Anthropic со своего юр.лица в поддерживаемой стране, получает ответ и возвращает его обратно Claude Code.
- С точки зрения Anthropic это легальный API-клиент с зарубежным billing. С точки зрения тебя — сервис с рублёвой оплатой, договором и закрывающими документами.

Ключевой момент — Claude Code не знает и ему всё равно, что между ним и Anthropic стоит прокси. Для него это просто другой адрес и другой токен. Никаких патчей, форков или модификаций самого CLI: всё делается штатными переменными окружения, которые Anthropic документирует именно для маршрутизации через прокси и шлюзы.
Шаг 1. Установить Claude Code
Claude Code распространяется как npm-пакет. Нужен Node.js версии 18 или новее. Установка глобальная:
npm install -g @anthropic-ai/claude-codeПроверка, что бинарь встал:
claude --versionЕсли команда отдаёт номер версии — инструмент на месте. Запускать его пока не нужно: без настроенного endpoint он попытается авторизоваться через аккаунт Anthropic, а это нам не подходит. Сначала — переменные окружения.
Альтернатива для тех, кто не хочет глобальный npm-пакет: Anthropic также распространяет нативный установщик. Актуальные способы установки всегда в официальном гайде по установке Claude Code — там же системные требования и варианты под Windows/macOS/Linux.
Если ты работаешь не в терминале, а в IDE-редакторе, та же логика «свой ключ + свой base_url» применима и к Cursor — разбор настройки в гайде Cursor на своём API-ключе из России.
Шаг 2. Получить API-ключ
Тебе нужен API-ключ от endpoint, который принимает рубли и проксирует в Anthropic. У Promptra это ключ вида prm-..., который выдаётся после оформления договора-оферты на юр.лицо. Оплата проходит на юр.лицо с полным пакетом закрывающих документов через ЭДО (Диадок/СБИС) — счёт, акт, счёт-фактура, УПД. Цена за токены — 1-в-1 с официальным прайсом Anthropic по курсу ЦБ, без наценки на сами токены; сервисная комиссия 5% берётся только при пополнении баланса.
Получить ключ и обсудить подключение можно у команды напрямую в Telegram: t.me/nesterov_av. Backend-онбординга с автоматической регистрацией пока нет — это сделано осознанно: договор и реквизиты согласует живой человек, а не форма.
Что важно проверить в ключе до настройки:
- К каким моделям он даёт доступ. Для Claude Code нужны как минимум Opus и Sonnet — это рабочая пара для агентных задач (Opus для сложного reasoning, Sonnet для основной массы кода).
- Endpoint совместим с Anthropic Messages API. Claude Code шлёт запросы в формате Anthropic (
/v1/messages), а не в формате OpenAI. Это другой формат, чем для OpenAI SDK — endpoint должен принимать именно Anthropic-схему.

Шаг 3. Настроить переменные окружения
Здесь — сердце настройки. Claude Code читает несколько переменных окружения, которыми переопределяется и адрес API, и авторизация. Имена ниже — точные, из официальной документации Claude Code по переменным окружения.
| Переменная | Что делает |
|---|---|
ANTHROPIC_BASE_URL | Переопределяет endpoint API — направляет запросы через прокси или шлюз вместо api.anthropic.com |
ANTHROPIC_AUTH_TOKEN | Значение для заголовка Authorization — Claude Code сам добавит к нему префикс Bearer |
ANTHROPIC_API_KEY | Ключ, который уходит в заголовок X-Api-Key — это путь для прямого ключа Anthropic |
Для работы через сторонний endpoint нужна пара ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN. Логика такая: ANTHROPIC_BASE_URL говорит, _куда_ слать запрос, а ANTHROPIC_AUTH_TOKEN — _чем_ авторизоваться (он попадёт в заголовок Authorization: Bearer ). Это ровно тот заголовок, который ждёт прокси-слой агрегатора.
> Тонкий момент: ANTHROPIC_API_KEY и ANTHROPIC_AUTH_TOKEN — это разные заголовки. ANTHROPIC_API_KEY уходит в X-Api-Key (формат прямого Anthropic), а ANTHROPIC_AUTH_TOKEN — в Authorization: Bearer. Большинство сторонних endpoint'ов ждут именно Authorization: Bearer, поэтому для агрегатора используем ANTHROPIC_AUTH_TOKEN. Какой именно заголовок ждёт конкретный endpoint — уточни в его документации; если не уверен — спроси у команды при выдаче ключа.
Вариант A: через профиль шелла
Самый прямой способ — прописать export в профиль шелла (~/.zshrc для zsh, ~/.bashrc для bash). Так переменные подхватятся в каждой новой сессии терминала:
# ~/.zshrc или ~/.bashrc
export ANTHROPIC_BASE_URL="https://api.promptra.ru"
export ANTHROPIC_AUTH_TOKEN="prm-xxxxxxxxxxxxxxxx"После правки профиля перезапусти терминал или примени изменения в текущей сессии:
source ~/.zshrcОдин нюанс: если у тебя ранее был задан ANTHROPIC_API_KEY (например, остался от попыток с прямым Anthropic), его лучше снять — иначе он может перебить логику авторизации. В документации Anthropic прямо отмечено: при работе через подписку держать ANTHROPIC_API_KEY неустановленным, чтобы избежать неожиданных списаний. По той же причине при работе через сторонний ANTHROPIC_AUTH_TOKEN лишний ANTHROPIC_API_KEY лучше убрать:
unset ANTHROPIC_API_KEYВариант B: через settings.json
Claude Code читает конфиг из ~/.claude/settings.json (глобально) или .claude/settings.json в корне проекта. Переменные окружения можно задать в блоке env — удобно, если не хочешь засорять профиль шелла или нужна разная конфигурация под разные проекты:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.promptra.ru",
"ANTHROPIC_AUTH_TOKEN": "prm-xxxxxxxxxxxxxxxx"
}
}Проектный .claude/settings.json в корне репозитория — хороший способ зафиксировать endpoint для всей команды (но сам токен в git не коммить — выноси его в переменную окружения или в локальный .claude/settings.local.json, который добавлен в .gitignore).
> Поведение, которое экономит полчаса дебага: Claude Code читает ANTHROPIC_BASE_URL один раз при старте процесса и больше не перечитывает. Если поменять переменную, пока claude уже запущен — ничего не произойдёт, и ошибки тоже не будет. Меняешь endpoint — перезапускай сессию.
Шаг 4. Выбрать модель
Claude Code оперирует не голыми именами моделей, а алиасами. Это удобно: не надо помнить точные версии. Основные алиасы (из документации по конфигурации модели):
| Алиас | Назначение |
|---|---|
opus | Самая мощная модель — сложный reasoning, архитектура, тяжёлые агентные задачи |
sonnet | Повседневный кодинг — основная рабочая лошадка |
haiku | Быстрые и дешёвые мелкие задачи |
opusplan | Гибрид: opus в режиме планирования, sonnet на исполнении |
Переключить модель внутри сессии — команда /model:
/model opus
/model sonnetЗапустить сразу на нужной модели:
claude --model opusЕсли ты работаешь через сторонний endpoint, есть нюанс: алиасы opus/sonnet/haiku резолвятся в конкретные версии моделей на стороне Anthropic, и эти соответствия со временем обновляются. Чтобы зафиксировать точную версию (например, чтобы счёт был предсказуем по конкретной модели), задай её полным именем через переменные ANTHROPIC_DEFAULT_OPUS_MODEL и ANTHROPIC_DEFAULT_SONNET_MODEL:
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-7"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"Точные идентификаторы моделей, которые принимает endpoint, уточни в его каталоге — у разных агрегаторов набор может отличаться. Если endpoint поддерживает discovery моделей, Claude Code умеет подтягивать список из шлюза; если нет — добавляй модель явно через переменные выше.
> Историческая деталь: переменная ANTHROPIC_SMALL_FAST_MODEL (для фоновых задач) сейчас deprecated — её заменил ANTHROPIC_DEFAULT_HAIKU_MODEL. Если в старых гайдах встретишь первую — используй вторую.
Шаг 5. Проверить, что всё работает
Перед тем как кидать Claude Code на реальный проект, убедись, что endpoint отвечает. Два уровня проверки.
Уровень 1 — endpoint живой (curl). Прежде чем запускать сам CLI, проверь, что адрес и токен в принципе работают. Запрос в формате Anthropic Messages API:
curl https://api.promptra.ru/v1/messages \
-H "Authorization: Bearer prm-xxxxxxxxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Ответь одним словом: работает?"}]
}'Если в ответе пришёл JSON с полем content и текстом — endpoint и токен в порядке. Если 401 — проблема с токеном или заголовком авторизации. Если 404 по модели — этой модели нет в каталоге endpoint'а, проверь идентификатор.
Уровень 2 — Claude Code видит endpoint. Теперь запусти сам CLI в любой директории:
claudeДай простую задачу, чтобы проверить полный цикл, например: «покажи структуру текущей директории». Если Claude Code ответил, прочитал файлы и не запросил логин в аккаунт Anthropic — значит, переменные подхватились и запросы идут через твой endpoint. Проверить текущую модель и статус можно командой /status внутри сессии.

Если на втором уровне Claude Code всё-таки просит логин — почти всегда причина в том, что переменные не подхватились в той сессии терминала, откуда ты его запустил. Проверь:
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKENПусто? Значит, source ~/.zshrc не выполнен или export ушёл не в тот файл профиля. Перезапусти терминал начисто и повтори.
Шаг 6. Контролировать расход токенов
Главное отличие pay-as-you-go от подписки: ты платишь за токены, и счёт зависит от того, сколько контекста гоняешь. Claude Code — агент прожорливый: он подгружает файлы в контекст, ведёт длинные диалоги, делает много шагов. Без контроля можно за активный день сжечь заметную сумму. Разберём цены и как их держать в узде.
Актуальные цены на флагманские модели Claude (из нашего каталога, курс ЦБ 71.668 ₽/$ на 2026-05-27):
| Модель | Input ($/1M) | Output ($/1M) | Input (₽/1M) | Output (₽/1M) | Контекст |
|---|---|---|---|---|---|
| Claude Opus 4.7 | $5 | $25 | 350 ₽ | 1790 ₽ | до 1M |
| Claude Sonnet 4.6 | $3 | $15 | 210 ₽ | 1070 ₽ | до 1M |
| Claude Haiku 4.5 | — | — | по каталогу | по каталогу | до 200K |
Цены 1-в-1 с официальным прайсом Anthropic по курсу ЦБ. Output-токены дороже input-токенов примерно в 5 раз — а именно их генерация (код, объяснения, диффы) составляет основную часть счёта в агентной работе.
Один нюанс именно по Opus 4.7: у него новый токенайзер, который на одном и том же тексте может потратить до 35% больше токенов, чем предыдущие версии. То есть на бумаге цена за токен та же, но фактический расход на ту же задачу может оказаться выше. Для тяжёлых агентных сессий это ощутимо — закладывай поправку. Подробный разбор флагмана, бенчмарки и расчёт стоимости — в материале Claude Opus 4.7 API за рубли.
Практические приёмы, чтобы счёт не разлетелся:
- Держи Sonnet по умолчанию, Opus включай точечно. На 80-90% задач Sonnet 4.6 справляется не хуже, а по output стоит в 1.67 раза дешевле. Opus оставь для сложного reasoning через
/model opus, потом возвращайся. Когда Sonnet достаточно — в гайде Claude Sonnet API за рубли. - Используй
opusplan. Режим сам гоняет Opus на планировании и переключается на Sonnet на исполнении — хороший дефолт для крупных задач. - Чисти контекст между задачами. Каждый новый запрос перечитывает всю историю сессии целиком — это input-токены, за которые ты платишь. Команда
/clearсбрасывает контекст; новую несвязанную задачу начинай с чистого листа. - Не отключай prompt caching. Claude Code по умолчанию кэширует неизменные части промпта (системные инструкции, контекст) — это серьёзно режет стоимость input на длинных сессиях.
- Следи за счётчиком.
/costвнутри сессии показывает потраченное; на стороне endpoint обычно есть дашборд с балансом — заглядывай туда в первые дни.

Грубый ориентир: активная сессия на Sonnet 4.6 с подгрузкой среднего проекта и серией правок — это десятки тысяч input-токенов и тысячи output-токенов на задачу. Один насыщенный рабочий день на Sonnet чаще укладывается в несколько сотен рублей; на Opus с его токенайзером — заметно выше. Точные цифры зависят от размера кодабейза и стиля работы, поэтому первую неделю просто наблюдай за /cost и балансом.
Это легально: ты платишь за свой ключ, а не обходишь лицензию
Вокруг темы много путаницы, поэтому проговорим прямо. Схема «свой API-ключ + сторонний base_url» — это не обход лицензирования Claude Code и не взлом подписки:
- Claude Code — бесплатный инструмент. Anthropic не берёт денег за сам CLI, и установка из России ничего не нарушает.
- Ты платишь за реальные токены. Каждый запрос оплачивается настоящими деньгами в Anthropic — агрегатор проксирует его со своего юр.лица и billing в поддерживаемой стране. Никаких «бесплатных» или ворованных токенов.
ANTHROPIC_BASE_URL— штатная переменная. Anthropic сам документирует её для маршрутизации через прокси и корпоративные шлюзы. Ты используешь инструмент ровно так, как задумано — просто твой «шлюз» это российский агрегатор.
Граница, которую переходить не надо: не выдавай pay-as-you-go за подписку, не торгуй чужими credentials, не подсовывай чужой подписочный токен. Оплата же собственных токенов через легального посредника с договором — нормальная B2B-схема, как закупка любого зарубежного SaaS через российского реселлера. Юридическая сторона оплаты на компанию (договор, ЭДО, учёт расходов) — отдельная тема; разбор в материале Закрывающие документы на оплату нейросетей.
Частые ошибки при настройке
Соберём грабли, на которые наступают чаще всего.
Claude Code просит логин в аккаунт. Переменные не подхватились в текущей сессии. Проверь echo $ANTHROPIC_BASE_URL — если пусто, перезапусти терминал после правки профиля или проверь блок env в settings.json.
401 Unauthorized от endpoint. Токен невалиден или попал не в тот заголовок. Убедись, что используешь ANTHROPIC_AUTH_TOKEN (он идёт в Authorization: Bearer), а не ANTHROPIC_API_KEY (который идёт в X-Api-Key). Проверь, что в самом токене нет лишних кавычек или пробелов при копировании.
Меняю base_url — ничего не меняется. Claude Code читает endpoint один раз при старте процесса. Перезапусти сессию claude целиком после смены переменной.
404 или ошибка по модели. Алиас или полное имя модели не совпадает с тем, что есть в каталоге endpoint'а. Проверь точный идентификатор модели у своего endpoint и при необходимости задай его через ANTHROPIC_DEFAULT_OPUS_MODEL / ANTHROPIC_DEFAULT_SONNET_MODEL.
Старый ANTHROPIC_API_KEY мешает. Если когда-то экспериментировал с прямым Anthropic, переменная могла остаться в профиле и перебивать логику. Сними её через unset ANTHROPIC_API_KEY и проверь профиль шелла на дубли.
Внезапно дорого. Скорее всего работаешь на Opus и/или не чистишь контекст. Переключись на Sonnet через /model sonnet, чисти историю /clear между задачами и следи за /cost.
FAQ
Законно ли запускать Claude Code в России на стороннем API-ключе?
Да. Сам Claude Code — бесплатный инструмент без geo-блокировки, его можно ставить и запускать откуда угодно. Доступ к моделям ты оплачиваешь реальными деньгами через legального посредника, который проксирует запросы в Anthropic со своего юр.лица. Это не обход лицензии, а оплата собственного использования через российский сервис с договором — как закупка любого зарубежного SaaS через реселлера. Нарушением была бы торговля чужими credentials или выдача pay-as-you-go за подписку — этого делать не нужно.
Нужен ли VPN, чтобы Claude Code работал из России?
Нет. Запросы Claude Code уходят на endpoint агрегатора (через ANTHROPIC_BASE_URL), а уже он связывается с Anthropic со своей стороны. Тебе не нужно туннелировать трафик или маскировать IP — поэтому схема стабильнее, чем «VPN + иностранная карта», которая регулярно отваливается то по платежу, то по бану аккаунта.
Какие именно переменные окружения настраивать?
Для работы через сторонний endpoint — ANTHROPIC_BASE_URL (адрес endpoint'а) и ANTHROPIC_AUTH_TOKEN (твой токен, уходит в заголовок Authorization: Bearer). При необходимости — ANTHROPIC_DEFAULT_OPUS_MODEL и ANTHROPIC_DEFAULT_SONNET_MODEL, чтобы закрепить точные версии моделей. Если раньше был задан ANTHROPIC_API_KEY — лучше снять его через unset. Имена сверены с официальной документацией Claude Code.
В чём разница между ANTHROPIC_API_KEY и ANTHROPIC_AUTH_TOKEN?
Это разные HTTP-заголовки. ANTHROPIC_API_KEY уходит в заголовок X-Api-Key — это путь для прямого ключа Anthropic. ANTHROPIC_AUTH_TOKEN уходит в Authorization: Bearer — это путь для сторонних endpoint'ов и шлюзов. Для агрегатора используй ANTHROPIC_AUTH_TOKEN; точный заголовок, который ждёт конкретный endpoint, всегда стоит уточнить в его документации.
Сколько стоит работа в Claude Code в рублях?
Платишь за токены по официальному прайсу Anthropic, пересчитанному по курсу ЦБ, без наценки на токены. На 2026-05-28: Sonnet 4.6 — 210 ₽ за 1M input и 1070 ₽ за 1M output; Opus 4.7 — 350 ₽ за 1M input и 1790 ₽ за 1M output. Output дороже input примерно в 5 раз, и именно его в агентной работе больше. Sonnet как дефолт плюс чистка контекста между задачами держат счёт в разумных рамках. Сервисная комиссия 5% берётся только при пополнении баланса, а не с токенов.
Можно ли держать Opus и Sonnet на одном ключе и переключаться?
Да. Переключение делается командой /model opus или /model sonnet прямо внутри сессии, либо флагом claude --model при запуске. Для крупных задач удобен режим opusplan — он сам гоняет Opus на планировании и Sonnet на исполнении, балансируя качество reasoning и стоимость токенов. Главное — чтобы endpoint, на который ты направил Claude Code, давал доступ к обеим моделям.
Если хочешь подключить Claude Code на собственном ключе и посчитать примерную стоимость под свой проект — напиши команде напрямую в Telegram. Не маркетингу и не саппорту первой линии, а живому человеку: по нашему опыту, вопрос с выбором моделей и расчётом бюджета решается за один разговор.
Promptra
Готовы попробовать Promptra?
Один API-ключ ко всем флагманским LLM. Оплата на юр.лицо, цены в рублях по курсу ЦБ. Тестовые токены бесплатно.
Promptra
Готовы попробовать Promptra?
Один API-ключ ко всем флагманским LLM. Оплата на юр.лицо, цены в рублях по курсу ЦБ. Тестовые токены бесплатно.
