Claude Code работает одинаково и по подписке, и по ключу от API — меняется только то, как считаются деньги. Подписка: фиксированная сумма в месяц и лимиты, в которые вы упираетесь. API: постоплата за каждый обработанный токен, без верхней границы, пока вы не поставите её сами. Ниже — как получить ключ, из чего складывается счёт, почему кэширование промпта меняет цену длинной сессии в разы и в каких сценариях API действительно выходит дешевле. Все цены, команды и названия переменных ниже — из документации Anthropic по состоянию на 24 августа 2026 года.

Подписка и API: за что вы платите

Claude Code требует платного аккаунта: Pro, Max, Team, Enterprise или аккаунта Claude Console. Бесплатный план claude.ai доступа к Claude Code не даёт. Это два разных типа учётной записи, и путаница между ними — самая частая причина вопроса «почему мой аккаунт не подходит»: claude.ai — это подписка, Claude Console (platform.claude.com) — это API-биллинг с оплатой по факту.

Разница по сути одна:

  • Подписка — вы платите за месяц вперёд и получаете объём работы, ограниченный окнами использования (пятичасовым и недельным). Перерасход упирается в лимит, а не в счёт. Как устроены эти окна — отдельно в статье про лимиты Claude Code.
  • API-ключ — вы платите за токены, которые фактически обработаны, и счёт приходит по факту. Лимита сверху нет, пока вы не зададите его в консоли.

Второй практический вопрос — кто хранит ключ. Здесь три разных случая:

  • Вход по подписке — Claude Code хранит OAuth-учётные данные сам: на macOS в связке ключей, на Linux в ~/.claude/.credentials.json с правами 0600, на Windows в %USERPROFILE%\.claude\.credentials.json.
  • Вход аккаунтом Claude Console — при первом входе сотрудника организации Anthropic автоматически создаёт рабочее пространство с названием Claude Code и выпускает в нём персональный ключ на этого пользователя. Вручную создавать ключи в этом пространстве нельзя, и ключ перестаёт работать, если владельца удалили из пространства или организации.
  • Своя переменная окружения — ключ храните вы, со всеми вытекающими обязанностями.
Про доступ из России. Россия не входит в список стран, поддерживаемых Anthropic, и оплата российскими картами не проходит — ни за подписку, ни за пополнение баланса в Console. Обходные схемы мы не разбираем и не советуем. Подробности — в статье Claude Code в России.

Как получить ключ и подключить его к Claude Code

Ключ создаётся в Claude Console: Settings → API keys (platform.claude.com/settings/keys). При создании вы сразу выбираете срок жизни ключа. Ключ выглядит как строка вида sk-ant-api... и передаётся в заголовке x-api-key; клиентские SDK и CLI подхватывают его из переменной окружения ANTHROPIC_API_KEY.

В организации Console роли различаются: роль Claude Code позволяет создавать только ключи для Claude Code, роль Developer — любые ключи.

Дальше есть два пути подключения, и ручной ключ нужен только во втором.

Путь первый: вход аккаунтом Console. Запускаете claude, выбираете вход по учётным данным Console — ключ Claude Code выпустит себе сам, в том самом автоматическом рабочем пространстве. Отдельно копировать и хранить строку не нужно.

Путь второй: своя переменная окружения. Если ANTHROPIC_API_KEY уже задана в окружении, Claude Code не открывает браузер, а один раз просит подтвердить использование этого ключа и запоминает ваш выбор. Переключить решение потом можно тумблером «Use custom API key» в /config — он появляется, только пока переменная задана. В неинтерактивном режиме (-p) ключ используется всегда, без вопросов.

export ANTHROPIC_API_KEY="sk-ant-api03-..."
claude

На Windows переменная задаётся средствами системы (переменные среды пользователя или профиль PowerShell) — важно только то, что процесс claude должен её видеть.

Порядок приоритетов стоит запомнить: заданный ANTHROPIC_API_KEY перебивает сохранённый вход по подписке. Если вы платите за Pro или Max, а работа неожиданно идёт по API-счёту — почти наверняка в окружении осталась эта переменная. Команда /status показывает, какой способ активен сейчас; чтобы вернуться на подписку, достаточно unset ANTHROPIC_API_KEY.

Рядом живут ещё две переменные, которые часто путают с API-ключом:

  • ANTHROPIC_AUTH_TOKEN — значение уходит в заголовок Authorization с префиксом Bearer. Это про корпоративные шлюзы, а не про обычный ключ Anthropic.
  • CLAUDE_CODE_OAUTH_TOKEN — годовой токен, который выдаёт команда claude setup-token. Он аутентифицирует вашу подписку в CI, где браузерный вход невозможен, и API-ключом не является.

Для окружений, где статический секрет держать нельзя, документация предлагает настройку apiKeyHelper: скрипт, который возвращает ключ по запросу. По умолчанию он вызывается раз в 5 минут или при ответе 401.

Из чего складывается счёт

Тарифицируются токены, и отдельно — входные, выходные и операции с кэшем. Цены указаны за миллион токенов (MTok).

МодельВходЗапись в кэш (5 мин)Запись в кэш (1 час)Чтение из кэшаВыход
Claude Opus 5$5$6.25$10$0.50$25
Claude Sonnet 5$2$2.50$4$0.20$10
Claude Haiku 4.5$1$1.25$2$0.10$5

Ключевая особенность агента в терминале: модель ничего не помнит между запросами, поэтому Claude Code на каждом шаге отправляет заново весь контекст — системный промпт, файл CLAUDE.md, всю переписку и все результаты вызовов инструментов. Новое дописывается в конец. Поэтому входных токенов набегает на порядок больше, чем выходных, и именно входная часть определяет цену длинной сессии.

Что ещё добавляется к счёту:

  • Рассуждения модели. Расширенное мышление включено по умолчанию, а токены мышления тарифицируются как выходные. Бюджет по умолчанию может достигать десятков тысяч токенов на запрос в зависимости от модели; уровень регулируется командой /effort.
  • Описания инструментов. Сам блок tools и системная вставка под работу с инструментами — это входные токены, они присутствуют в каждом запросе.
  • Результаты инструментов. Вывод команд, содержимое прочитанных файлов, ответы MCP-серверов — всё это входные токены следующего запроса.
  • Веб-поиск — отдельная строка: $10 за 1000 поисков, плюс обычная стоимость токенов найденного. Загрузка страницы (web fetch) доплаты не требует.

Порядок величин Anthropic называет прямо: в корпоративных внедрениях средний расход составляет около $13 на разработчика за активный день и $150–250 в месяц, причём у 90% пользователей выходит меньше $30 за активный день. Это средние по чужим командам, а не обещание — ваш профиль работы может отличаться в разы. Способы сократить расход подробно разобраны в статье про цену Claude Code.

Кэш промпта: почему он решает цену длинной сессии

Если бы каждый запрос считался целиком по входной цене, работа с большим проектом была бы неподъёмной. Спасает кэширование промпта: API сопоставляет начало нового запроса (префикс) с тем, что уже обрабатывал недавно, и берёт совпавшую часть из кэша.

Цены на кэш заданы множителями от входной ставки: запись с пятиминутным сроком жизни — 1,25× от входной цены, запись с часовым сроком — 2×, а чтение из кэша — 0,1×, то есть десятая часть обычного входа. Из этого следует простая арифметика окупаемости: пятиминутный кэш окупается уже после одного чтения, часовой — после двух.

Грубая прикидка, чтобы почувствовать масштаб. Сессия на Sonnet 5, контекст держится около 100 000 токенов, вы делаете 30 обменов подряд. Без кэша это 3 млн входных токенов по $2 за миллион — около $6 только за перечитывание истории. С кэшем те же токены читаются по $0.20 за миллион — около $0.60 плюс разовые записи новых кусков. Разница почти в десять раз, и она возникает сама, без каких-либо настроек.

Один нюанс, который стоит знать владельцу ключа. Срок жизни кэша Claude Code выбирает по способу входа: на подписке он автоматически запрашивает часовой кэш, а на API-ключе и у облачных провайдеров остаётся более дешёвая пятиминутка. Включить час на ключе можно переменной ENABLE_PROMPT_CACHING_1H=1, вернуть пятиминутку принудительно — FORCE_PROMPT_CACHING_5M=1. Практический вывод: на ключе перерыв дольше пяти минут означает, что следующий запрос перечитает всю историю как обычный вход.

Кэш сбрасывается не только временем. Полное перечитывание истории вызывают:

  • смена модели через /model — у каждой модели свой кэш;
  • смена уровня усилий через /effort — он тоже входит в ключ кэша;
  • включение fast mode;
  • подключение или отключение MCP-сервера, когда его описания инструментов лежат в префиксе;
  • /compact — сжатие заменяет историю пересказом, у которого нет общего начала со старой;
  • обновление самого Claude Code: новая версия обычно меняет системный промпт.

А вот правка файлов в репозитории, вызов навыков и команд, /rewind и смена режима разрешений кэш сохраняют. Отсюда практика: выбирайте модель и уровень усилий в начале сессии, а /compact запускайте на естественных стыках между задачами, а не посреди работы. Проверить, что кэш работает, можно по двум числам, которые API возвращает на каждый ответ: cache_read_input_tokens должно заметно превышать cache_creation_input_tokens.

Где смотреть расход и как поставить потолок

В самом CLI расход показывает команда /usage: блок Session выводит токены и сумму по текущей сессии. Важная оговорка из документации: сумму Claude Code считает локально, по стандартному прайс-листу, поэтому она не учитывает скидки и контрактные условия и может расходиться с реальным счётом. Авторитетный источник — страница расходов в Claude Console (platform.claude.com/usage).

Для организации на Console есть ещё две точки: дашборд Claude Code (platform.claude.com/claude-code) со списком трат по участникам и Claude Code Analytics API, который отдаёт те же ежедневные метрики программно.

Потолок ставится в рабочих пространствах. В Console зайдите в Settings → Workspaces, выберите пространство и откройте вкладку Spend limits: там задаётся месячный лимит расхода и оповещения при достижении порогов. Соседняя вкладка Rate limits ограничивает запросы и токены в минуту. Три оговорки:

  • на Default Workspace лимиты не ставятся вообще;
  • лимит пространства можно задать только ниже организационного, не выше;
  • автоматически созданное пространство Claude Code — единственное, которое поддерживает помесячные лимиты расхода на каждого пользователя.

Если нужен расход по людям в собственном мониторинге, а не в консоли Anthropic, работает экспорт OpenTelemetry: переменная CLAUDE_CODE_ENABLE_TELEMETRY=1 включает метрики, из которых по деньгам отвечает claude_code.cost.usage, а по токенам — claude_code.token.usage с разбивкой на вход, выход, чтение и запись кэша.

Сторонние провайдеры и совместимые эндпоинты

Помимо прямого доступа к Claude API, документация перечисляет четыре официальных способа получать инференс: Amazon Bedrock, Google Cloud Agent Platform (бывшая Vertex AI), Microsoft Foundry и Claude Platform on AWS. Переключение делается переменными CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX и CLAUDE_CODE_USE_FOUNDRY, а для Bedrock и Vertex есть интерактивный мастер: запустите claude и выберите на экране входа пункт «3rd-party platform». Счёт в этом случае выставляет облако по своим тарифам, а не Anthropic, и контролировать расход нужно средствами облака.

Отдельная категория — шлюзы (LLM gateway), которые организация ставит перед провайдером. Claude Code направляется на шлюз переменной ANTHROPIC_BASE_URL, а аутентифицируется выданным вам токеном в ANTHROPIC_AUTH_TOKEN. Смысл в том, что ключ провайдера остаётся на сервере шлюза, а у разработчиков на руках только отзываемые токены. Важная деталь: пока активен токен шлюза, подписка разработчика не используется вовсе — трафик тарифицируется владельцу того ключа, который шлюз подставляет дальше.

И самый частый вопрос этого раздела — можно ли подключить через «совместимый эндпоинт» чужую модель. Ответ в документации прямой: Anthropic не одобряет, не сопровождает и не проверяет сторонние продукты-шлюзы и не поддерживает маршрутизацию Claude Code на не-Claude-модели ни через какой шлюз. Технически такие связки существуют, но это не поддерживаемый сценарий: ломается он молча, при очередном обновлении CLI, а разбираться придётся вам.

Ещё один довод против самодельного прокси в связке с ключом: при заданном ANTHROPIC_BASE_URL часть системного контекста, которую Claude Code дописывает по ходу разговора, перестаёт помечаться как кэшируемая и оплачивается как обычный вход на каждом запросе. Экономия на маршрутизации легко съедается ростом входных токенов.

Ключ — это деньги

Утёкший API-ключ — это не «утечка данных», а прямой расход по вашему счёту, без верхнего предела до тех пор, пока вы не поставили лимит. Минимальная гигиена, которую документация формулирует явно: хранить ключи в менеджере секретов, периодически ротировать и отзывать любой ключ, который вы подозреваете в утечке.

Самая полезная настройка — срок жизни. Он выбирается в момент создания ключа: пресеты на 3 часа, 1 день, 7 или 30 дней, произвольная длительность либо «Never» для ключей, которые вы храните в менеджере секретов и ротируете сами. Изменить срок у уже созданного ключа нельзя. После истечения запросы отвечают ошибкой 401 authentication_error, и реактивировать ключ невозможно — нужен новый. О приближении срока Anthropic присылает письмо создателю ключа: за 7 дней для ключей с жизнью от 14 дней и за сутки для ключей с жизнью от 7 дней.

Отдельные рабочие пространства под проекты помогают ограничить ущерб: ключ живёт внутри одного пространства и у этого пространства свой месячный лимит. Общие правила обращения с секретами в проекте — не класть в репозиторий, не показывать агенту лишнего, держать возможность отката — разобраны в статье про безопасность вайбкодинга.

Когда API дешевле подписки, а когда дороже

Считать удобнее не в токенах, а в активных днях. Возьмите средний расход из документации Anthropic — около $13 на разработчика за активный день — и сравните с ценой подписки: Pro стоит $20 в месяц ($17 при годовой оплате), Max начинается от $100 в месяц. Получается, что Pro отбивается примерно за полтора активных дня такой нагрузки, а 20 активных дней по API — около $260, что дороже Max начального уровня. Цифра средняя и грубая, но развилку показывает верно.

Как вы работаетеЧто выходит дешевлеПочему
Пара вечеров в месяц, мелкие правки API Платите только за отработанные токены; месяц без работы стоит ноль
Каждый день по несколько часов Подписка 15–20 активных дней по средней ставке уже дороже Pro и подбираются к Max
Разово разобрать большой незнакомый репозиторий Зависит от модели Один длинный день на Opus 5 с большим контекстом может стоить дороже месяца Pro
Скрипты, ночные прогоны, CI API Ключ не привязан к живому человеку, а расход изолируется отдельным пространством с лимитом
Команда, нужен отчёт по людям и жёсткий потолок API через Console Месячные лимиты расхода, оповещения и дашборд трат по участникам
Хочется не думать о деньгах во время работы Подписка Фиксированный платёж; вместо растущего счёта вы упираетесь в лимит окна

Если после этого API всё-таки выглядит разумнее, минимальный порядок действий перед первым запросом по ключу такой:

  1. Создать ключ в Console с конечным сроком жизни, а не с «Never».
  2. Поставить месячный лимит расхода и оповещение на рабочем пространстве.
  3. Начать на Sonnet 5, а Opus 5 включать под конкретные задачи, а не по умолчанию.
  4. Не менять модель и уровень усилий посреди сессии, /clear делать между несвязанными задачами.
  5. Через неделю сверить /usage с реальными числами в Console и пересчитать выбор.

Главное, что стоит унести из этой статьи: по API вы платите не за «доступ к Claude Code», а за объём контекста, который гоняете туда-обратно. Длинная неубранная сессия на дорогой модели стоит в разы больше той же работы, разбитой на короткие сессии с очищенным контекстом, — и это единственный рычаг, который целиком в ваших руках.