Конфигурация API: авторизация по подписке или API key, что выбрать и как переключать
📚 Навигация по серии: В предыдущей статье 03 · Как он работает мы разобрали цикл работы агента — как Claude Code проходит путь «Думать → Делать → Проверять». Эта статья решает ключевой вопрос для его запуска: с какими учетными данными он подключается к модели. В следующей статье мы поговорим о подключении сторонних / отечественных моделей.
В июне 2026 года в официальной документации Claude Code было перечислено целых 6 способов аутентификации, от авторизации по подписке до учетных данных облачных провайдеров, с иерархией приоритетов.
Здесь кроется очень частая ловушка, в которую попался и я сам. Когда-то давно для удобства я экспортировал ANTHROPIC_API_KEY в ~/.zshrc. Позже я купил подписку Max, успешно авторизовался через /login, но в какой-то момент, заглянув в счета Console, обнаружил, что с меня продолжают снимать деньги за API — хотя я был уверен, что использую лимит подписки. Промучившись полдня, я понял: если в окружении есть API key, его приоритет выше подписки.
Проще говоря, «авторизовался» не означает «используешь правильные учетные данные». В этой статье мы проясним этот вопрос от и до.
Прочитав эту статью, вы получите:
- Таблицу сценариев применения для авторизации по подписке и API key, чтобы знать, какой путь выбрать
- Три способа применения настроек (вход через командную строку / переменные окружения / settings.json) и различия между Mac / Windows / Linux
- Набор команд для самопроверки: использование
/statusдля понимания «с какими учетными данными и моделью я сейчас работаю», чтобы больше не терять деньги вслепую
01 Два типа идентификации: Авторизация по подписке vs API key
Сразу к выводу: для личного использования выбирайте авторизацию по подписке; API key нужен только для встраивания в скрипты / CI / или для команд с оплатой за использование.
Подключение Claude Code к модели сводится к одному вопросу: «На каком основании мне это разрешено?» Это и есть аутентификация (authentication) — вам нужно доказать, кто вы и чьи лимиты используете. Официально поддерживается несколько способов, но новичкам достаточно усвоить два основных.
Аналогия: Вход в фитнес-клуб. Авторизация по подписке похожа на месячный абонемент — сканируешь лицо и заходишь, тренируешься сколько угодно в течение месяца без оплаты за посещение. API key похож на разовые билеты — за каждый вход снимается один билет, платишь ровно за то, сколько использовал. Абонемент подходит тем, кто ходит каждый день, а билеты — тем, кто заглядывает изредка, или когда нужно провести друга (для скриптов, автоматизации).
Разницу между этими путями наглядно показывает таблица:
| Параметр | Авторизация по подписке (Аккаунт Claude.ai) | API key (Console / Переменные окружения) |
|---|---|---|
| Как подключить | Запустить claude в терминале, авторизоваться в браузере | Настроить переменную ANTHROPIC_API_KEY |
| Как тарифицируется | Ежемесячная подписка (Pro / Max / Team) | По использованию токенов, списывается с баланса Console |
| Лимиты | Есть верхний предел, нужно ждать обновления | Сколько пополнил — столько используешь, без фиксированного лимита |
| Для кого подходит | Личная повседневная интерактивная разработка | Скрипты / CI / командная работа с оплатой по факту |
| Откуда взять учетные данные | Авторизация через /login в браузере | Создать ключ в Claude Console |
| Можно ли без браузера? | По умолчанию нужен браузер (в CI используется setup-token) | Да, достаточно переменной окружения |
Подписку можно разделить еще на несколько категорий, так как это влияет на выбор модели:
- Claude Pro / Max: Личные подписки, вход через аккаунт Claude.ai. Pro — более легкий вариант, Max дает большие лимиты и доступ к самым мощным моделям.
- Claude for Teams / Enterprise: Командные тарифы, администратор приглашает вас, единый счет. В Enterprise также доступна настройка SSO и управляемых политик.
Для личных проектов всегда используйте авторизацию по подписке Max — это удобно, не нужно следить за балансом. Создавать API key нужно только если вы интегрируете задачи автоматизации в GitHub Actions (подробно об использовании в CI мы поговорим в статье 44). В повседневной разработке не используйте API key, это только добавит вам стресса из-за списаний средств.
💡 Краткий итог: Подписка = Абонемент (личное использование), API key = Разовые билеты (скрипты/команды). Сначала поймите, к какой категории вы относитесь, а затем переходите к настройке.
02 Авторизация по подписке: Самый простой путь
Если вы обычный пользователь с подпиской Pro или Max, то настройка сводится к отсутствию настроек — просто запустите и авторизуйтесь.
Всего один шаг. После установки Claude Code (см. статью 02), введите в терминале:
claudeПри первом запуске Claude Code автоматически откроет браузер, чтобы вы вошли в аккаунт Claude.ai. После авторизации браузер перенаправит вас обратно в терминал, и всё готово.
Несколько реальных ситуаций, с которыми вы можете столкнуться:
- Браузер не открылся автоматически? В интерфейсе Claude Code нажмите
c, ссылка для входа скопируется в буфер обмена. Вставьте ее в браузер вручную. - После входа браузер выдал «код авторизации», но не перенаправил обратно? Скопируйте этот код и вставьте его в терминале, где написано
Paste code here if prompted. Это часто случается в WSL2, SSH-сессиях, контейнерах — когда браузер не может подключиться к порту обратного вызова на вашей машине. - Хотите сменить аккаунт / выйти? Введите
/logoutв Claude Code, при следующем запуске потребуется повторный вход.
Где хранятся учетные данные после входа? Это зависит от платформы. Знание этого поможет при решении проблем:
| Платформа | Место хранения учетных данных |
|---|---|
| macOS | Зашифрованная системная Связка ключей (Keychain) |
| Linux | ~/.claude/.credentials.json (права 0600) |
| Windows | %USERPROFILE%\.claude\.credentials.json (наследует права пользовательского каталога) |
Всеми этими данными управляет сам Claude Code через команды /login и /logout. Вам не нужно трогать их вручную. Когда я сам искал проблему со входом на Mac, я пошел по пути Linux и искал ~/.claude/.credentials.json, не мог его найти и думал, что вход не удался. Оказалось, что на macOS он не создает файл, а прячет данные в Keychain.
💡 Краткий итог: Для пользователей с подпиской всё сводится к «запуск
claude→ авторизация в браузере». Учетные данные сохраняются автоматически, не ищите их вручную.
03 API key: Путь для скриптов и команд
Сценариев применения для API key на самом деле немного — если вы не занимаетесь автоматизацией или не работаете в команде с оплатой по факту, он вам вряд ли понадобится. Но чтобы понимать, как работает переключение, нужно знать, как это устроено.
Шаг первый: Получить ключ. Зайдите в Claude Console и создайте API ключ (это официальная консоль для разработчиков Anthropic, тарификация идет по токенам, и это отдельный счет от подписки Claude.ai).
Шаг второй: Настроить переменную окружения. Команды зависят от платформы:
macOS / Linux:
export ANTHROPIC_API_KEY=sk-ant-ваш_ключWindows (PowerShell, постоянная запись в переменные пользователя):
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-ваш_ключ", [EnvironmentVariableTarget]::User)⚠️ Ключ — это деньги, не оставляйте его где попало. Не прописывайте ключ в коде, не коммитьте в Git, не вставляйте в файлы для совместного использования. Временное использование через
exportв текущем терминале — самый безопасный способ (закрыли окно — ключ исчез). Для постоянного использования добавьте его в системные переменные окружения, но не вшивайте в код.
Шаг третий: Подтверждение при запуске. После настройки запустите claude. В интерактивном режиме система попросит вас один раз подтвердить использование этого ключа (выбор будет сохранен). После одобрения он начнет работать.
Здесь есть важный момент, о котором прямо говорит документация, и это корень ловушки, описанной в начале:
Если у вас есть активная подписка Claude, но в окружении также задан
ANTHROPIC_API_KEY, после подтверждения приоритет будет отдан API key. Если этот ключ принадлежит отключенной или просроченной организации, авторизация не удастся.
Иными словами, API key «перекроет» вашу подписку. Именно поэтому возникает проблема переключения, о которой мы поговорим в следующем разделе.
💡 Краткий итог: API key требует трех шагов: Получение ключа в Console → Настройка переменной окружения → Подтверждение при запуске; помните, что его наличие перекрывает подписку, отсюда все проблемы с переключением.
04 Как переключаться: Иерархия приоритетов
Главный вывод: не важно, какие учетные данные вы «думаете», что используете, всё решает приоритет Claude Code. Если хотите переключиться, нужно изменить этот приоритет.
Аналогия: порядок подключения в розетку. У вас на стене несколько розеток (подписка, API key, облачные учетные данные...). Прибор берет энергию не от той розетки, о которой вы подумали, а от той, к которой физически подключен, причем с наивысшим приоритетом. Чтобы сменить источник питания, нужно «выдернуть вилку» с более высоким приоритетом.
Официальная документация устанавливает 6 уровней приоритета аутентификации (от высокого к низкому, высокие перекрывают низкие):
| Приоритет | Источник учетных данных | Типичный сценарий |
|---|---|---|
| 1 (Самый высокий) | Облачные провайдеры (Bedrock / Vertex / Foundry) | Корпоративное использование через облако |
| 2 | Переменная окружения ANTHROPIC_AUTH_TOKEN | Использование LLM-шлюзов / прокси |
| 3 | Переменная окружения ANTHROPIC_API_KEY | Прямое подключение к API Anthropic |
| 4 | Вывод скрипта apiKeyHelper | Динамические / ротируемые ключи |
| 5 | CLAUDE_CODE_OAUTH_TOKEN | Долгосрочные токены для CI |
| 6 (Самый низкий) | Авторизация по подписке через /login | Стандарт для личной подписки |

На изображении выше показано, как выглядит эта таблица в виде стека: 6 уровней расположены сверху вниз. Claude Code проверяет стек сверху вниз, пропуская все «пустые» уровни, и останавливается на первом «содержащем значение». Для личной подписки верхние 5 уровней обычно пусты, поэтому используется самый нижний — авторизация по подписке.
Понятно? Подписка находится на самом нижнем уровне. Поэтому если на любом из верхних уровней есть значение, оно перекроет подписку. Это объясняет ситуацию в начале статьи — хотя был выполнен вход по подписке Max, деньги списывались за API, потому что ANTHROPIC_API_KEY (уровень 3) перекрывал подписку (уровень 6).
Как вернуться к подписке? Официальный ответ очень прост — удалите значения с более высоких уровней:
unset ANTHROPIC_API_KEYЗатем запустите /status для проверки. Если вы просто временно не хотите использовать какой-то ключ в интерактивном режиме, вы можете отключить его переключателем «Use custom API key» (Использовать пользовательский API-ключ) через /config.
И наоборот, переход с подписки на API key — это просто настройка ключа через export и однократное подтверждение (см. раздел 03).
Несколько важных деталей, которые легко упустить:
ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKENработают только для сессий CLI в терминале. Десктопное приложение Claude Desktop и удаленные сессии распознают только OAuth-авторизацию и не читают эти переменные окружения.- Claude Code в браузере (Web) всегда использует учетные данные подписки, переменные окружения с API key в песочнице не могут их перекрыть.
ANTHROPIC_AUTH_TOKEN(уровень 2) иANTHROPIC_API_KEY(уровень 3) — это разные вещи. Первый отправляется как заголовокAuthorization: Bearer(для шлюзов/прокси), а второй — какX-Api-Key(для прямого API Anthropic). Не путайте их.
💡 Краткий итог: Переключение = изменение приоритета. Подписка находится на дне, наличие значений выше перекроет ее; чтобы вернуться к подписке, используйте
unsetдля верхних уровней и проверяйте через/status.
05 Основы выбора модели: opus, sonnet или default
Учетные данные настроены, теперь нужно решить еще один вопрос: какую модель использовать для работы.
Аналогия: распределение задач в команде. Opus — это самый сильный senior-разработчик (глубокое понимание, но дорогой и медленный); Sonnet — это основная рабочая лошадка (быстрый, стабильный, отличное соотношение цена/качество); Haiku — это младший помощник (выполняет простые задачи мгновенно и дешево). Сложные проблемы — Opus, повседневные задачи — Sonnet, рутина — Haiku.
В Claude Code используются псевдонимы моделей, чтобы вам не приходилось запоминать длинные номера версий. Наиболее часто используемые:
| Псевдоним | Назначение |
|---|---|
default | Специальное значение: очищает ручные переопределения, возвращает рекомендуемую модель для вашего уровня аккаунта |
opus | Последний Opus, для сложных рассуждений и архитектурных решений |
sonnet | Последний Sonnet, для повседневного программирования |
haiku | Быстрый и эффективный, для простых задач |
best | В данный момент равнозначен opus, использует самую мощную доступную модель |
opusplan | Смешанный режим: использует Opus для планирования (Plan Mode) и Sonnet для выполнения |
opus[1m] / sonnet[1m] | Контекстное окно в 1 миллион токенов, для работы с огромными кодовыми базами или длинных сессий |
Примечание: псевдонимы указывают на «рекомендуемую версию для вашего уровня» и обновляются со временем. Чтобы узнать, к какой именно версии привязан псевдоним, смотрите официальную документацию. Например, сейчас в Anthropic API opus указывает на Opus 4.8, а sonnet — на Sonnet 4.6. У других провайдеров (Bedrock / Vertex) версии могут отличаться (всё зависит от официальной документации и может меняться).
Ваш уровень подписки определяет, какая модель дается по умолчанию:
| Тип аккаунта | Во что преобразуется default |
|---|---|
| Max / Team Premium / Enterprise по мере использования / Anthropic API | Opus 4.8 |
| Pro / Team Standard / Места по подписке Enterprise | Sonnet 4.6 |
Это значит, что пользователи Pro по умолчанию получают Sonnet, а пользователи Max — Opus. Это одна из причин, почему активным пользователям рекомендуется переходить на Max. Кроме того, когда достигается лимит использования Opus, Claude Code может автоматически откатиться до Sonnet. Это нормальное поведение, а не баг.
Как установить модель? Официально предусмотрено четыре способа по убыванию приоритета:
# 1. Временное переключение в сессии (выполнение /model без аргументов откроет окно выбора) — высший приоритет
/model sonnet
# 2. Указание при запуске
claude --model opus
# 3. Переменная окружения (действует на текущую сессию)
ANTHROPIC_MODEL=opus// 4. Запись в settings.json, работает как настройка по умолчанию для новых сессий — низший приоритет
{
"model": "opus"
}Уровни приоритета сверху вниз: /model в сессии > --model при запуске > переменная ANTHROPIC_MODEL > файл settings. Практичный совет: в settings.json для повседневной работы пропишите sonnet, а если столкнетесь со сложной архитектурной задачей — временно переключитесь через /model opus прямо в чате. Это сэкономит лимиты.
Подробности об уровне усилий (
/effort, контролирует глубину размышлений) и режимеopusplanмы пока пропустим — правильного выбора модели новичкам вполне достаточно. За деталями можно обратиться к официальной документации по конфигурации моделей.
💡 Краткий итог: Сложные задачи —
opus, повседневные —sonnet, рутина —haiku;defaultзависит от уровня подписки (Pro по умолчанию Sonnet, Max — Opus).
06 Практика: за 3 минуты узнайте, «кого я использую»
Чтение без практики бесполезно. Выполнив этот набор команд, вы четко поймете свой текущий статус аутентификации и модель. Всё выполняется в терминале, а затем в интерфейсе Claude Code, без сложных настроек окружения.
Шаг первый: Войдите в Claude Code. Зайдите в любую директорию и выполните:
claudeШаг второй: Проверьте текущий статус. В поле ввода Claude Code напечатайте:
/statusПоявится информация о вашем аккаунте, используемом способе аутентификации и модели. Вы должны увидеть что-то вроде этого (поля могут меняться в зависимости от версии, ориентируйтесь на фактический вывод):
Account: your@email.com (Max)
Auth: Claude subscription (OAuth)
Model: opus (Opus 4.8)Если поле Auth показывает API key, а вы думали, что используете подписку — поздравляю, вы только что обнаружили ту самую ловушку из начала статьи.
Шаг третий: Просмотрите доступные модели / переключитесь. Введите:
/modelПоявится окно выбора с доступными опциями: opus, sonnet, haiku. Выбирайте стрелками и жмите Enter. Если хотите переключиться сразу командой:
/model sonnetШаг четвертый (Опционально): Проверка приоритетов «Подписка vs API key». Этот шаг позволит вам своими глазами увидеть правило, описанное в разделе 04. Сначала выйдите из Claude Code, а в терминале введите:
# Посмотрим, не перекрывает ли API key вашу подписку втайне
echo $ANTHROPIC_API_KEY- Если выводится строка
sk-ant-...: значит, она перекрывает подписку. Чтобы вернуться к подписке, выполнитеunset ANTHROPIC_API_KEY, затем снова зайдите вclaudeи проверьте через/status. ПолеAuthдолжно измениться на подписку (subscription). - Если вывод пустой: вы уже используете подписку (или другие учетные данные с более высоким приоритетом). Всё в порядке.
В Windows (PowerShell) для проверки переменной окружения используйте:
echo $env:ANTHROPIC_API_KEYКритерий успешности: Вы должны с одного взгляда на /status понимать: «Я сейчас использую подписку или API key, и какая модель работает», а также уметь вручную переключаться обратно на подписку с помощью unset и проверки. Если получилось, то главная цель этой статьи достигнута.
07 Заключение
В этой статье мы разобрали самое главное: с какими учетными данными Claude Code подключается к модели, как их выбирать и переключать.
Краткий список:
| Ваша ситуация | Как настроить | Модель по умолчанию |
|---|---|---|
| Личный Pro / Max | Выполнить claude → в браузере /login | Pro→Sonnet, Max→Opus |
| Скрипты / CI / Командная по факту | Получить ключ в Console → Настроить ANTHROPIC_API_KEY | Зависит от настроек |
| Хочу вернуться к подписке | unset ANTHROPIC_API_KEY + проверить через /status | — |
Три главных правила, которые нужно запомнить:
- Подписка находится на самом нижнем уровне приоритета, любой API key / token в окружении её перекроет — при странных списаниях первым делом проверяйте это.
/status— ваше зеркало истины: если не знаете, что используете, вводите эту команду.- Модели выбирайте по задаче: сложная —
opus, повседневная —sonnet.defaultзависит от уровня подписки.
Теперь вы умеете: правильно авторизоваться после установки, понимать, какие учетные данные и модели сейчас активны, переключаться между подпиской и API key, и больше не попадать в ситуацию, когда «вроде вошел по подписке, а плачу за API».
Анонс следующей статьи
До сих пор вы подключались к официальным моделям Claude. Но официальный API в некоторых странах может быть недоступен или работать нестабильно. Можно ли заставить Claude Code работать с отечественными или сторонними моделями, такими как DeepSeek, Qwen или GLM?
Можно. Секрет кроется в переменной окружения, которая несколько раз мелькала в этой статье, но мы её не обсуждали детально — ANTHROPIC_BASE_URL. Она не меняет «какую модель использовать», она меняет «куда отправлять запрос». В следующей статье 05 · Подключение сторонних / отечественных моделей мы будем использовать её, чтобы переключить Claude Code на другие модели, сэкономив деньги и избавившись от необходимости использовать VPN.
Пища для размышлений: раз API key перекрывает подписку, что будет, если направить ANTHROPIC_BASE_URL на платформу отечественной модели и добавить соответствующий ключ? Получит ли Claude Code новое «сердце»? Узнаете в следующей статье.
Мы проложили «главную дорогу» к официальной модели, а в следующей статье свернем на «развилку» сторонних моделей.