SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Claude Code: API-ключ вместо подписки Claude

Claude Code работает с API-ключом Anthropic без подписки Claude: расходы списываются отдельно. Узнайте, что показывает `/status` и как сменить способ входа.

Какие учетные данные использует ваша сессия Claude Code?

Вход в Claude Code осуществляется одним из двух способов. Вы входите в систему с помощью подписки Claude из claude.ai или проходите аутентификацию через организацию в Anthropic Console, которая списывает плату за использование токенов с API (интерфейса прикладного программирования) этой организации, а не с вашего тарифного плана. Выполните /status во время активной сессии, чтобы узнать, какой способ используется: вкладка Status отображает строку Login method для учетной записи, с помощью которой вы вошли, а при использовании API-ключа дополнительно появляется строка API key.

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

Описанное ниже поведение основано на документации по аутентификации Claude Code от Anthropic, прочитанной 10 октября 2026 года. Claude Code выпускается часто, и для многих из этих функций указана минимальная версия, поэтому выполните claude --version, прежде чем делать вывод о неисправности вашей машины.

Две учетные записи, использующие один адрес электронной почты

Учетная запись claude.ai и учетная запись Claude Console на платформе platform.claude.com — это разные учетные записи. Они могут быть зарегистрированы на один и тот же адрес электронной почты, но при этом оставаться независимыми данными для входа с разными балансами и принадлежать к разным организациям. Создание одной учетной записи не приводит к созданию другой. Пополнение баланса организации в Console никак не влияет на ваш тарифный план.

Обратная ситуация имеет одно исключение, проверенное 10 октября 2026 года. Тарифные планы Max 5x и Max 20x теперь включают ежемесячные API-кредиты в размере 100 и 200 долларов соответственно, а планы Team получают общую сумму кредитов. Эти кредиты поступают в организацию Console только после того, как вы привяжете её в настройках биллинга на claude.ai, при этом они не покрывают расходы на Claude Code. В документации платформы Anthropic указано, что Claude Code не входит в покрытие, а в справочном центре сделана оговорка только для claude -p запусков, использующих API-ключ от привязанной организации. Таким образом, интерактивная сессия, оплата которой должна производиться организацией, не имеющей ничего, кроме этих кредитов, завершается с ошибкой Credit balance too low.

Балансы различаются, так как используются разные модели биллинга. Подписка расходует лимит использования вашего плана, который обновляется в рамках скользящего пятичасового окна и еженедельного окна; этот лимит является общим с веб-версией Claude. Учетные данные Console тарифицируются за каждый токен в рамках организации, а актуальные данные о расходах доступны на странице использования Console. О том, во сколько обходится эта разница при реальной работе, рассказывается в разделе оплата за токен против оплаты подписки.

Один из типов учетных записей вообще не поддерживает путь подписки. Anthropic перечисляет учетные записи, с помощью которых можно войти в систему как пользователь с подпиской Pro или Max, местом в Claude for Teams или Enterprise, учетной записью Claude Console, облачным провайдером или Cloud gateway. Последнее означает self-hosted шлюз для приложений Claude, который управляется вашей организацией и в который вы входите с помощью корпоративного SSO (единого входа) через /login. Бесплатная учетная запись claude.ai в этот список не входит, поэтому у пользователя бесплатного плана нет учетных данных подписки для входа, а возможности бесплатного уровня Claude не распространяются на инструмент командной строки. Оставшийся путь — это организация Console с API-кредитами, что является платной учетной записью иного типа.

Способ первый: вход с использованием подписки Claude

Выполните claude в директории проекта. При первом запуске откроется окно браузера для входа в учетную запись claude.ai, к которой привязан ваш тарифный план.

claude

На сервере процесс работает иначе. Если браузер не открылся, нажмите c, чтобы скопировать URL для входа в буфер обмена, и вставьте его в браузер на локальной машине. Если после этого в браузере отобразится код для входа вместо перенаправления обратно в терминал, вставьте этот код в ответ на запрос в терминале. Второй вариант — стандартное поведение при работе через SSH (secure shell), в WSL2 и внутри контейнеров, так как браузер не может обратиться к локальному серверу обратного вызова, запущенному Claude Code на удаленной машине.

После завершения входа проверьте его статус, вместо того чтобы предполагать успешность. Начните сессию и выполните /status. На вкладке Status будут указаны метод входа, а также сохраненные организация и адрес электронной почты. /login запускает процесс повторно для другой учетной записи, а /logout удаляет сохраненные учетные данные. Выход из системы также сбрасывает состояние первичной настройки, поэтому при следующем запуске claude вам снова будет предложено пройти процесс адаптации.

Важно знать, где хранятся учетные данные, при пересборке сервера или передаче его другому пользователю:

  • Linux: ~/.claude/.credentials.json, права доступа к файлу 0600.
  • macOS: зашифрованная Keychain. Если Keychain отклоняет запись (что происходит, когда она заблокирована в SSH-сессии), Claude Code переключается на тот же файл 0600. Вход через консоль, создающий API key, не использует этот резервный вариант и завершается ошибкой, пока Keychain недоступна для записи.
  • Windows: %USERPROFILE%\.claude\.credentials.json, доступ ограничен вашим пользователем через списки контроля доступа директории профиля.
  • Любая платформа с установленной переменной CLAUDE_CONFIG_DIR: файл перемещается в эту директорию, а запись в Keychain macOS привязывается к ней, поэтому сессия, запущенная с другим значением CLAUDE_CONFIG_DIR, будет считывать другие учетные данные.

Claude Code управляет этим файлом с помощью /login и /logout. Ручное редактирование файла не является поддерживаемым способом переключения между учетными записями.

Путь второй: аутентификация через организацию в Console

Доступ к Console начинается с администратора. Он отправляет вам приглашение из Console в разделе Settings, затем Members, затем Invite. Администратор также назначает роль: роль Claude Code позволяет создавать только API-ключи для Claude Code, в то время как роль Developer позволяет создавать любые ключи. Затем вы выбираете учетную запись Anthropic Console в приглашении /login.

Начиная с Claude Code v2.1.242, существует два способа работы с Console, и они сохраняют разные данные. Вход с использованием учетной записи Console сохраняет OAuth-токен (open authorisation) из этого браузерного сеанса и сохраняет его как профиль Anthropic, не создавая при этом API-ключ. Claude Code самостоятельно обновляет этот сеанс, и если обновление завершается с ошибкой, запросы перестают работать до повторного входа. Такой вход без ключа также завершает сеанс claude.ai, сохраненный на машине. Создание API-ключа, который в приглашении помечен как legacy, генерирует ключ Console и сохраняет его вместе с другими вашими учетными данными. Статический ключ не требует обновления, поэтому он продолжает работать, пока его не отзовут. Это полезно для сервера сборки, но является риском безопасности для ноутбука.

Отмените установку ANTHROPIC_API_KEY перед началом входа в Console без ключа. Если эта переменная установлена, Claude Code полностью пропускает приглашение для входа и вместо этого просит подтвердить ключ, который он обнаружил.

Выбор предоставляется не всегда. Claude Code создает ключ без запроса, если сеанс запущен в облачной среде, если в любом файле настроек задан forceLoginOrgUUID или зафиксированы forceLoginMethod на "claudeai" или "console", либо если на машине существует управляемый источник настроек, который Claude Code не может прочитать. Это решения администратора, поэтому, если опция входа без ключа вам не предлагается, обратитесь к тому, кто управляет парком машин. /status также выводит строку Setting sources с указанием каждого файла настроек, загруженного в сеансе, и называет управляемый источник, если он к вам применяется.

При первой аутентификации Claude Code в организации Console, Console создает для него рабочее пространство с названием "Claude Code". Это рабочее пространство существует для того, чтобы расходы Claude Code отслеживались в одном месте, и вы не можете создавать API-ключи внутри него.

Почему ANTHROPIC_API_KEY имеет приоритет после входа в систему

Claude Code не запрашивает выбор учетных данных. Утилита проверяет источники в фиксированном порядке и использует первый найденный. Согласно документации от октября 2026 года, этот порядок следующий:

  1. Учетные данные облачного провайдера, если установлены CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX или CLAUDE_CODE_USE_FOUNDRY.
  2. ANTHROPIC_AUTH_TOKEN, передаваемый в заголовке Authorization: Bearer для шлюзов, использующих аутентификацию через bearer-токены.
  3. ANTHROPIC_API_KEY, передаваемый в заголовке X-Api-Key.
  4. Вывод скрипта apiKeyHelper, указанного в файле настроек.
  5. CLAUDE_CODE_OAUTH_TOKEN, долгоживущий токен из claude setup-token.
  6. Учетные данные профиля Anthropic и федерации, используемые CLI ant и Workload Identity Federation.
  7. Учетные данные подписки, записанные /login.

В этом списке есть два исключения. Профиль занимает 6-ю позицию, если вы указали его в ANTHROPIC_PROFILE, если установлены переменные федерации или если активный профиль является профилем Workload Identity Federation. Активный профиль в режиме user_oauth (тип, который записывает ant auth login или беспарольный вход через Console) располагается ниже рабочих учетных данных /login. Сессия шлюза Claude apps, выполненная через вход в систему, находится вне этого списка: она имеет приоритет над всеми остальными источниками, включая переменные облачных провайдеров. Если управляемые настройки администратора требуют входа через шлюз, Claude Code пропускает остальные источники и запрашивает вход через /login.

Ни одно из исключений не защищает вашу подписку от экспортированного ключа. Без использования шлюза все источники с 1 по 5 позицию имеют приоритет над учетной записью, под которой вы вошли. Таким образом, любая переменная ANTHROPIC_API_KEY, экспортированная в окружение процесса, будет использована, и сессия будет оплачиваться организацией из Console, даже если вы считаете, что используете свой тарифный план. Ошибки в работе нет. Порядок соответствует документации, поэтому система не выдает предупреждений.

Две детали позволяют легко упустить это из виду. В интерактивном сеансе Claude Code один раз спрашивает, использовать ли найденный ключ, и запоминает ваш ответ, поэтому выбор, сделанный месяц назад, продолжает действовать. В неинтерактивном режиме с -p запрос отсутствует вовсе, и ключ используется всегда, если он присутствует. -p — это режим, в котором работают cron-задачи или шаги CI (непрерывной интеграции), поэтому именно в автоматизированных задачах неверные учетные данные остаются незамеченными дольше всего.

Внутри сеанса есть быстрая визуальная проверка. Пока установлена переменная ANTHROPIC_API_KEY, /config отображает переключатель "Use custom API key". Этот переключатель существует только при установленной переменной, поэтому его отсутствие означает, что окружение чисто.

Поиск забытого ключа на сервере

Экспортированный ключ сохраняется в большем количестве мест, чем профиль оболочки:

  • ~/.bashrc, ~/.bash_profile, ~/.profile или ~/.zshrc, которые считываются при каждом входе в новую оболочку.
  • Юнит systemd через Environment= или EnvironmentFile= для любого процесса, который вы запускаете как сервис.
  • Сервер tmux, который хранит копию окружения, с которым он был запущен. Панель, которую вы открываете сегодня, может унаследовать переменную, удаленную из вашего профиля на прошлой неделе, так как сервер работает с момента, предшествующего внесению изменений.
  • Образ контейнера или определение CI-задачи, где переменная задана вне любого файла, который можно прочитать изнутри оболочки.
  • Блок env в файле настроек Claude Code, который является обычным ключом настроек и следует стандартному приоритету конфигурации.

Проверьте их, прежде чем предпринимать что-либо еще:

[ -n "$ANTHROPIC_API_KEY" ] && echo "ANTHROPIC_API_KEY is set" || echo "not set"
env | grep -E '^(ANTHROPIC_|CLAUDE_CODE_)' | cut -d= -f1
grep -n 'ANTHROPIC_API_KEY' ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc 2>/dev/null
tmux show-environment 2>/dev/null | grep ANTHROPIC
grep -n 'ANTHROPIC_API_KEY\|apiKeyHelper' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/null

Вторая команда специально передает вывод через cut, чтобы отобразить имена переменных, не выводя секретные значения на экран, который вы можете демонстрировать или записывать. Первая команда решает вопрос: если она подтверждает, что переменная установлена, следующая claude, запущенная из этой оболочки, будет использовать этот ключ. Отсутствие вывода от всех пяти команд означает, что учетные данные в окружении отсутствуют, поэтому сессия, запущенная здесь, перейдет к использованию ваших учетных данных /login.

Добавьте systemctl cat your-unit.service | grep -i environment для любого сервиса, который запускает Claude Code, так как файл юнита устанавливает собственное окружение и никогда не считывает ваш профиль оболочки.

Переключение сессии между учетными данными

Чтобы вернуться к своей подписке:

unset ANTHROPIC_API_KEY
[ -n "$ANTHROPIC_API_KEY" ] && echo "still set" || echo "clear"
claude

Ожидайте clear, затем выполните /status в новой сессии и убедитесь, что строка API key исчезла. Удаление переменной в текущей оболочке не влияет на уже запущенный процесс Claude Code, так как процесс сохраняет окружение, с которым был запущен. Перезапустите сессию.

Затем удалите команду export из файла, в котором она была задана, иначе следующая оболочка при входе в систему вернет её обратно. Внутри tmux команда tmux set-environment -u ANTHROPIC_API_KEY очищает переменную для панелей, открытых после этого момента в сессии, в то время как уже открытые панели сохраняют свою копию.

Чтобы переключиться в обратном направлении, установите ANTHROPIC_API_KEY в окружении или выполните /login и выберите учетную запись Console. Чтобы полностью удалить сохраненные данные входа, выполните /logout. После входа в Console без ключа команда /logout удаляет и отзывает учетные данные, созданные при этом входе.

Если /status по-прежнему показывает не то, что вы ожидаете, выполните claude doctor. Она выводит список параметров, которые Claude Code отклонил; это помогает выявить файл настроек, который не прошел синтаксический анализ и поэтому не был применен.

Аутентификация без использования браузера

claude setup-token запускает тот же процесс авторизации через браузер, что и /login, и выводит в терминал OAuth-токен со сроком действия один год.

claude setup-token

Токен нигде не сохраняется, поэтому скопируйте его сразу после появления. Установите его в качестве переменной CLAUDE_CODE_OAUTH_TOKEN на целевой машине. Токен проходит аутентификацию через вашу подписку, поэтому требуется план Pro, Max, Team или Enterprise; он позволяет только выполнять запросы к моделям. В режиме Bare mode токен не считывается, поэтому для скрипта, использующего --bare, потребуется ANTHROPIC_API_KEY или apiKeyHelper.

Здесь также важен приоритет настроек. Если CLAUDE_CODE_OAUTH_TOKEN задана в профиле оболочки, выполнение /login переключает текущую сессию на новый логин, а каждая новая сессия будет считывать эту переменную до тех пор, пока вы её не удалите.

Если ваша организация выполняет инференс через Amazon Bedrock, Google Cloud или Microsoft Foundry, эти учетные данные имеют высший приоритет, и вход через браузер не выполняется вовсе. Настройка этого процесса — отдельная задача, описанная в запуске Claude Code через Bedrock или Vertex.

Длительные сессии на VPS (виртуальном выделенном сервере) — это среда, где подобные проблемы возникают чаще всего, так как оболочка, в которой был запущен процесс, могла быть настроена месяцы назад и с тех пор не перезапускалась. В запуске Claude Code на VPS внутри tmux рассматриваются аспекты настройки сессий для таких случаев.

Проверка фактического расхода по учетным данным

При входе в систему по подписке /usage отображает индикаторы использования вашего тарифного плана и детализацию того, на что были потрачены лимиты. Денежная сумма в блоке Session вычисляется локально на основе количества токенов по прейскурантным ценам или по договорным ставкам вашей организации, если администратор задал таблицу modelPricing в управляемых настройках. В последнем случае об этом свидетельствует строка Total cost. В любом случае воспринимайте это как оценочные данные для пользователей API, а не как счет на оплату. Подписчикам следует ориентироваться на индикаторы, а не на денежные суммы.

Для учетных данных Console важные цифры находятся в самой Console: страница использования для контроля расходов и панель управления Claude Code для данных по отдельным участникам. Никакие данные, выведенные в вашем терминале, не являются официальными для выставления счетов.

Если индикаторы плана не меняются во время работы, вероятно, приоритет имеют учетные данные окружения, и /status позволяет это урегулировать. Исключением являются уже заполненные индикаторы: сессия подписки может продолжаться сверх включенного лимита за счет использования кредитов, которые Anthropic тарифицирует по стандартным ценам API, при этом индикаторы остаются на месте. Помимо этого случая, неподвижные индикаторы — самый явный признак того, что используются не те учетные данные, а отслеживание расходов сессии Claude Code содержит более подробную информацию об измерениях. Если индикаторы сначала меняются, а затем останавливаются, значит, вы достигли потолка плана, что описано в разделе как работают лимиты использования Claude и окна сброса.

Типичные сбои и диагностика

Все работает, но статистика использования плана не меняется. Обычно это происходит из-за активных переменных окружения: /status отображает строку API key, а проверка оболочки выше подтверждает наличие переменной. Если ни то, ни другое не наблюдается, а показатели остаются на пределе, значит, сессия перешла на использование платных кредитов по стандартным тарифам API. Эти расходы отображаются в разделе Settings, затем Usage на claude.ai.

Запросы не проходят, хотя подписка активна. Ключ, принадлежащий отключенной или просроченной организации в Console, имеет приоритет над вашими учетными данными. Выполните unset ANTHROPIC_API_KEY, начните новую сессию и снова проверьте /status. Если ошибка указывает на недействительный API-ключ, в исправлении ошибки недействительного API-ключа в Claude Code этот случай разобран подробно, включая причины, по которым повторный запуск /login не решает проблему.

Предупреждение при запуске об истечении срока действия сессии. Последние версии выводят предупреждение, если срок действия учетных данных /login составляет менее трех дней. После фактического истечения срока /status показывает строку входа в состоянии expired с указанием сохраненной организации и адреса электронной почты. Выполните /login для обновления. Предупреждение не блокирует запросы, поэтому его легко игнорировать, пока фоновая сессия не перестанет выполнять задачи.

Медленная работа или сбой apiKeyHelper. Claude Code по умолчанию перезапускает вспомогательный процесс каждые пять минут (это значение можно изменить с помощью CLAUDE_CODE_API_KEY_HELPER_TTL_MS) и выводит уведомление в командной строке, если выполнение занимает более десяти секунд. Если вспомогательный процесс не возвращает ключ (из-за ошибки или превышения времени ожидания), запросы будут завершаться сбоем после трех попыток.

Верные учетные данные, неверная организация. Один адрес электронной почты может принадлежать двум организациям. /status указывает организацию, в которую была выполнена аутентификация, поэтому внимательно читайте эту строку, а не полагайтесь на предположения о том, в какой организации вы находитесь.

FAQ

Как узнать, какая учетная запись используется Claude Code в данный момент?

Выполните /status в сессии. На вкладке Status отображается строка Login method с учетной записью, под которой вы вошли, и добавляется строка API key, если учетные данные предоставляются через API key. Строка Profile заменяет строку входа, если вместо этого выбран профиль Anthropic или федеративные учетные данные. Вне сессии проверка переменной ANTHROPIC_API_KEY в вашей оболочке покажет, существуют ли учетные данные среды, которые имеют приоритет над вашим входом.

Почему моя подписка Claude Pro или Max игнорируется?

Потому что учетные данные среды имеют более высокий приоритет. Claude Code использует первые найденные учетные данные в фиксированном порядке, а учетные данные подписки /login находятся ниже переменных облачного провайдера, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY, apiKeyHelper, CLAUDE_CODE_OAUTH_TOKEN, а также любого профиля Anthropic или федеративных учетных данных, выбранных с помощью ANTHROPIC_PROFILE или соответствующих переменных федерации. Только активный профиль в режиме user_oauth находится ниже по приоритету, а сессия Claude apps gateway, выполненная через вход в систему, имеет приоритет над всем списком. Выполните unset ANTHROPIC_API_KEY, начните новую сессию и подтвердите с помощью /status. Затем удалите команду export из профиля оболочки, systemd unit, окружения tmux или определения контейнера, где она была установлена, иначе она вернется при следующем входе в оболочку.

Можно ли использовать Claude Code с бесплатной учетной записью Claude?

Нет. Типы учетных записей, которые Anthropic указывает для входа: подписка Pro или Max, место в Claude for Teams или Enterprise, учетная запись Claude Console, облачный провайдер и Cloud gateway (самостоятельно размещенный Claude apps gateway, в который выполнен вход через корпоративный SSO с помощью /login). Бесплатная учетная запись claude.ai не входит в этот список, поэтому для нее нет учетных данных подписки для сохранения. Платная альтернатива подписке — организация в Claude Console с API-кредитами, оплата за которые производится по количеству токенов; это отдельная учетная запись, даже если она привязана к тому же адресу электронной почты.

Общий ли баланс у моей учетной записи claude.ai и учетной записи Console?

Нет. Это отдельные учетные записи с разной биллинговой системой, даже если обе используют один и тот же адрес электронной почты. Использование подписки расходует лимиты вашего плана, которые являются общими с Claude в веб-интерфейсе и обновляются в течение скользящего пятичасового окна и еженедельного окна. Использование Console оплачивается по количеству токенов для организации и отображается на странице использования Console. Пополнение баланса одной учетной записи никак не влияет на другую. Единственная опциональная связь идет от плана к Console: план Max или Team может передавать свои ежемесячные API-кредиты в организацию Console, которую вы привязываете из claude.ai, но эти кредиты не покрывают использование Claude Code.

Как аутентифицировать Claude Code на headless-сервере?

Есть два варианта. Запустите claude через SSH и завершите вход через браузер на своем локальном компьютере: нажмите c, чтобы скопировать URL, войдите в систему, а затем вставьте код обратно в терминал, если браузер отобразит его вместо перенаправления. Либо запустите claude setup-token на компьютере с браузером, скопируйте напечатанный токен сроком на один год и установите его как CLAUDE_CODE_OAUTH_TOKEN на сервере. Этот токен требует наличия плана Pro, Max, Team или Enterprise и может выполнять только запросы к моделям, поэтому для скрипта, использующего --bare, потребуется API key или apiKeyHelper.