Tool Integrations22 сентября 2026 г.Flatkey Team

Ошибки Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления

Полное руководство по устранению неполадок для Claude Code ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, /status, VS Code, GitHub Actions и ошибок gateway 401.

Ошибки Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления

Когда запрашивают Ошибки Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления, исправление обычно начинается с одного вопроса: отправляет ли Claude Code учетные данные в заголовке, который действительно читает ваш шлюз?

Для маршрутизации через шлюз Claude Code ANTHROPIC_AUTH_TOKEN отправляет Authorization: Bearer .... ANTHROPIC_API_KEY отправляет x-api-key: .... Токен в неверной переменной может выглядеть как неверный ключ, устаревший вход или сломанный шлюз, даже если само значение корректно.

Используйте это руководство, когда Claude Code не работает после того, как вы задали ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL, файл настроек Claude Code, расширение VS Code или workflow в CI.

Быстрое исправление

Начните с минимально возможной диагностики, прежде чем редактировать каждый файл настроек на вашем компьютере.

  1. Выберите одну переменную для учетных данных.
  2. Экспортируйте базовый URL шлюза и эту переменную в той же оболочке.
  3. Выполните запрос curl на один токен к $ANTHROPIC_BASE_URL/v1/messages.
  4. Запустите Claude Code из той же оболочки.
  5. Выполните /status и убедитесь, что отображаются и Anthropic base URL, и ожидаемый источник учетных данных.
  6. Если curl проходит успешно, но Claude Code по-прежнему просит вас войти, переместите учетные данные в место, которое Claude Code читает до первоначальной настройки, например ~/.claude/settings.json, экспорт в оболочке или управляемые настройки.

Для шлюза с bearer-токеном:

export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="REPLACE_WITH_GATEWAY_TOKEN"

curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "replace-with-a-gateway-supported-claude-model",
    "max_tokens": 1,
    "messages": [{"role": "user", "content": "."}]
  }'

Для шлюза с x-api-key:

export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_API_KEY="REPLACE_WITH_GATEWAY_KEY"

curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "replace-with-a-gateway-supported-claude-model",
    "max_tokens": 1,
    "messages": [{"role": "user", "content": "."}]
  }'

Ответ JSON с идентификатором сообщения и content означает, что URL и учетные данные работают. 401 означает, что шлюз отклонил учетные данные или получил их в заголовке, который он не читает.

Контрольный список ошибок Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления

Используйте эту таблицу как рабочую диагностику. Не меняйте ключи, пока не будут известны активная переменная, заголовок и приоритет настроек.

СимптомНаиболее вероятная причинаИсправление
401 недопустимый или нераспознанный токенУчетные данные отозваны, введены с ошибкой или отправлены в неправильном заголовкеЕсли шлюз ожидает bearer-авторизацию, используйте ANTHROPIC_AUTH_TOKEN. Если он ожидает x-api-key, используйте ANTHROPIC_API_KEY. Перегенерируйте только после того, как заголовок будет указан правильно.
При запуске появляется предупреждение, что активны два источника учетных данныхОдновременно активны учетные данные шлюза и сохраненный вход в Claude или API-ключВыберите один путь. Уберите переменную шлюза, чтобы использовать сохраненный вход, или выполните /logout и оставьте только учетные данные шлюза.
В /status нет строки Anthropic base URLANTHROPIC_BASE_URL не дошла до процесса Claude CodeЗапустите claude из той же оболочки, перенесите переменную в ~/.claude/settings.json или настройте тот уровень, который вы фактически используете.
Curl работает, Claude Code просит вас войтиУ CLI есть доступный base URL, но перед первичной настройкой нет доступных учетных данныхПоместите ANTHROPIC_AUTH_TOKEN в экспорт переменной оболочки, пользовательские настройки или управляемые настройки, которые Claude Code читает до запуска мастера настройки.
ANTHROPIC_API_KEY задан, но игнорируетсяИнтерактивному Claude Code требуется одноразовое разрешение для пользовательского API-ключа, либо предыдущий ключ был отклоненВключите его в /config с помощью Use custom API key.
Пустой или некорректно сформированный ответ при HTTP 200Шлюз или прокси вернул HTML, страницу входа или другой ответ, не являющийся APIЗапустите запрос curl и исправьте маршрут, который отвечает JSON, не относящимся к Claude API.
Ошибки DNS, firewall или connection refusedПо адресу ANTHROPIC_BASE_URL нет доступного отвечающего сервисаПроверьте DNS, VPN, прокси и доступ к хосту шлюза через firewall.
400 содержит context_management, Extra inputs are not permitted или поля схемы инструментаШлюз пересылает запросы Claude Code в формате Anthropic на upstream, который отклоняет поля, отправляемые Claude CodeКорректно передавайте совместимые поля, используйте маршрут, специфичный для провайдера, или временно установите CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1, когда это уместно.
400 содержит thinking или adaptiveСборка upstream-модели не поддерживает adaptive reasoningОбновите upstream или используйте задокументированный обходной путь CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 для поддерживаемых случаев Claude 4.6.
/fast не работает, хотя inference работаетПроверки fast mode могут обращаться напрямую к Anthropic вместо следования URL шлюзаРассматривайте это отдельно от маршрутизации сообщений; добавьте прямую проверку в allowlist или используйте задокументированную переменную для пропуска, если это применимо.
Ошибки сертификата, хотя curl работаетСреда выполнения Claude Code доверяет другому набору CA bundle, чем curlУстановите NODE_EXTRA_CA_CERTS в путь к корпоративному CA bundle.

Выберите ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY

ANTHROPIC_AUTH_TOKEN предназначен для bearer-токена. Claude Code отправляет его как:

Authorization: Bearer <token>

ANTHROPIC_API_KEY — это для API-ключа. Claude Code отправляет его так:

x-api-key: <key>

Если ваша команда шлюза говорит только «token» или «Authorization header», начните с ANTHROPIC_AUTH_TOKEN. Если говорят «API key» или «x-api-key», используйте ANTHROPIC_API_KEY. Если вы угадали и получили 401, переключите переменные перед ротацией ключа.

Не задавайте обе переменные во время отладки. Именно так Ошибки Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления превращается из проблемы аутентификации в проблему приоритета аутентификации.

Поместите переменные туда, откуда Claude Code действительно их читает

Экспорт в shell хорош для первого теста, потому что его легко отменить:

export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="REPLACE_WITH_GATEWAY_TOKEN"
claude

Они применяются только к этой сессии терминала и программам, запущенным из неё. Если вы откроете VS Code, настольное приложение или фоновый агент из другого места, экспорт может быть недоступен.

Для постоянной пользовательской CLI-настройки используйте ~/.claude/settings.json:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
    "ANTHROPIC_AUTH_TOKEN": "REPLACE_WITH_GATEWAY_TOKEN"
  }
}

Для одного проекта используйте .claude/settings.local.json и убедитесь, что файл добавлен в gitignore, прежде чем добавлять учётные данные. Не помещайте учётные данные в .claude/settings.json, потому что этот файл предназначен для совместного использования с репозиторием.

Когда экспорт в shell и блок env в файле настроек задают одну и ту же переменную, Claude Code использует значение из файла настроек. Поэтому /status — более надёжный источник истины, чем echo $ANTHROPIC_AUTH_TOKEN.

Исправьте расширение VS Code

У расширения Claude Code для VS Code есть собственные проверки запуска. Настройте переменные шлюза в пользовательских настройках VS Code в разделе claudeCode.environmentVariables:

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "REPLACE_WITH_GATEWAY_TOKEN" }
  ]
}

Используйте команду VS Code Preferences: Open User Settings (JSON). Затем перезапустите сеанс расширения и выполните /status. Если расширение всё ещё запрашивает вход, значит оно не видит учётные данные на собственной проверке входа.

Исправьте GitHub Actions

Claude Code GitHub Actions читает ANTHROPIC_BASE_URL из блока env workflow. Для шлюза с x-api-key передайте ключ шлюза как входной параметр action:

env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com

steps:
  - uses: anthropics/claude-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

Для шлюза с bearer-токеном action по-прежнему требует anthropic_api_key, чтобы пройти свою проверку запуска, а ANTHROPIC_AUTH_TOKEN — это значение, которое Claude Code отправляет как Authorization: Bearer:

env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com
  ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

steps:
  - uses: anthropics/claude-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

Храните эти значения в GitHub Secrets. Не вставляйте учетные данные gateway в логи workflow, комментарии к issue или коммитимые файлы.

Используйте /status как проверку истины

После любого изменения конфигурации выполните:

/status

Для gateway в формате Anthropic вкладка Status должна показывать:

Anthropic base URL: https://llm-gateway.example.com
Auth token: ANTHROPIC_AUTH_TOKEN

или:

Anthropic base URL: https://llm-gateway.example.com
API key: ANTHROPIC_API_KEY

Если строка base URL отсутствует, ANTHROPIC_BASE_URL не дошел до сессии. Если источником учетных данных является сохраненный вход, Claude Code не использует учетные данные gateway. Если оба значения выглядят корректно, а сообщение по-прежнему не проходит, проблема, скорее всего, теперь в маршрутизации gateway, совместимости upstream, поведении прокси или доверии к сертификату.

Примечание о Flatkey для маршрутизации gateway в Claude Code

Flatkey полезен в двух разных рабочих процессах Claude Code, и это различие имеет значение.

Для вызовов моделей, совместимых с OpenAI, из проекта или agent skill базовый URL Flatkey:

https://router.flatkey.ai/v1

Для собственного пути gateway Claude Code следуйте настройке gateway в формате Anthropic Messages и не добавляйте /v1 к ANTHROPIC_BASE_URL, если только собственные инструкции gateway для Claude Code явно не говорят вам это сделать. Типичный шаблон провайдера:

export ANTHROPIC_BASE_URL="https://router.flatkey.ai"
export ANTHROPIC_API_KEY="$FLATKEY_API_KEY"

Затем выполните /status, отправьте короткий prompt и проверьте ledger или логи gateway. Держите настройку Claude Code SKILL.md отдельно от этого пути: skill обучает Claude Code тому, как вызывать поддерживаемые Flatkey модели и инструменты из вашего репозитория; маршрутизация gateway управляет тем, куда Claude Code отправляет свой собственный трафик семейства Claude.

Если вы стандартизируете трафик agent между провайдерами, сопоставьте эту статью с руководствами Claude API proxy vs multi-model router и Flatkey API quickstart.

Проверки оператора gateway, когда токен — не настоящая проблема

Некоторые поисковые запросы по Claude Code ANTHROPIC_AUTH_TOKEN Errors: Complete Configuration Fixes начинаются как проблема локальной настройки и заканчиваются на стороне gateway. Если однобуквенный curl проходит аутентификацию и /status выглядит правильно, проверьте следующие условия на стороне gateway:

Проверка шлюзаПочему это важно
Отдавайте формат Anthropic Messages по адресу /v1/messagesANTHROPIC_BASE_URL заставляет Claude Code воспринимать шлюз как конечную точку в формате Anthropic.
Пробрасывайте anthropic-version и anthropic-beta без измененийВозможности Claude Code меняются от релиза к релизу; статические allowlist могут сломать более поздние запросы.
Сохраняйте потоковую передачу и поведение keep-aliveБуферизация или удаление байтов потока может привести к зависанию Claude Code.
Пробрасывайте тела ошибок без измененийClaude Code использует текст ошибок upstream для некоторых путей восстановления.
Не возвращайте HTML с HTTP 200Claude Code ожидает JSON Claude API или ответы event-stream, а не страницу входа браузера.
Исключите /v1/messages из правил WAF для тела запросаПодсказки Claude Code могут содержать теги в стиле XML и исходный код, которые триггерят общие фильтры тела.
Возвращайте полезные заголовки повторных попытокretry-after и x-should-retry влияют на поведение повторных попыток.

Если ваш шлюз стоит перед провайдером, который не принимает полный формат запроса Anthropic Messages, используйте переменные, специфичные для провайдера, вместо ANTHROPIC_BASE_URL, или преобразуйте схему внутри шлюза. Не удаляйте поля без разбора; это лишь заменит одну видимую ошибку на более поздний сбой возможностей.

Копируемая запись для отладки

Используйте эту запись, когда передаете проблему коллеге или оператору шлюза:

claude_code_auth_debug:
  date_checked: 2026-09-22
  surface: cli # cli | vscode | github_actions | agent_sdk | desktop
  claude_code_version: ""
  expected_gateway_base_url: "https://llm-gateway.example.com"
  variable_used: "ANTHROPIC_AUTH_TOKEN"
  expected_header: "Authorization: Bearer"
  status_tab_base_url_seen: false
  status_tab_credential_source: ""
  curl_status_code: ""
  curl_response_shape: "json_message | 401 | html_200 | dns_error | tls_error | other"
  settings_files_checked:
    - "~/.claude/settings.json"
    - ".claude/settings.local.json"
    - ".claude/settings.json"
  shell_started_claude: false
  saved_login_present: unknown
  gateway_logs_received_request: unknown
  suspected_fix: ""

Эта запись заставляет расследование разделить три вещи: где Claude Code прочитал конфигурацию, какой заголовок он отправил и что вернул шлюз.

Часто задаваемые вопросы

Что использовать: ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY?

Используйте ANTHROPIC_AUTH_TOKEN, когда шлюз ожидает bearer token или заголовок Authorization. Используйте ANTHROPIC_API_KEY, когда шлюз ожидает x-api-key. Если вы не знаете, начните с ANTHROPIC_AUTH_TOKEN, проверьте с помощью curl-запроса и переключитесь, если получите 401.

Почему /status не показывает мой базовый URL?

ANTHROPIC_BASE_URL не дошел до процесса Claude Code. Запустите claude из той же оболочки, переместите значение в правильный файл настроек или настройте используемую поверхность, например настройки VS Code или env в GitHub Actions.

Почему curl работает, но Claude Code все равно просит меня войти?

Базовый URL доступен, но у Claude Code нет доступных учетных данных в момент, когда они нужны. Поместите ANTHROPIC_AUTH_TOKEN или правильную переменную с учетными данными в экспорт shell, пользовательские настройки или управляемые настройки, которые Claude Code читает до первоначальной настройки.

Можно ли положить токен в .claude/settings.json?

Не помещайте секреты в .claude/settings.json, потому что это общий файл проекта. Используйте ~/.claude/settings.json, .claude/settings.local.json, управляемые настройки, менеджер секретов или секреты CI.

Направляет ли ANTHROPIC_AUTH_TOKEN Claude Code к моделям, не относящимся к Claude?

Нет. Он только меняет способ аутентификации Claude Code в настроенном шлюзе в формате Anthropic. Шлюз может маршрутизировать или проксировать запросы в соответствии со своей собственной реализацией, но Claude Code по-прежнему ожидает формат Claude API на пути ANTHROPIC_BASE_URL.

Какова самая безопасная финальная проверка?

Выполните однократный запрос curl с одним токеном, запустите Claude Code из настроенной среды, выполните /status, отправьте короткий запрос и подтвердите, что журнал или логи шлюза показывают запрос. Эта четырехшаговая проверка — надежное исправление, стоящее за Ошибки Claude Code ANTHROPIC_AUTH_TOKEN: полная настройка и исправления.

Проверенные источники

  • Документация Anthropic Claude Code: подключение Claude Code к шлюзу LLM, доступ 2026-09-22.
  • Документация Anthropic Claude Code: файлы настроек и приоритет, доступ 2026-09-22.
  • Документация Anthropic Claude Code: руководство по совместимости шлюза Claude Code, доступ 2026-09-22.
  • Справочный центр Claude: управление переменными окружения API key в Claude Code, доступ 2026-09-22.
  • Общедоступный SKILL.md Flatkey, доступ 2026-09-22.
  • База знаний Flatkey: обзор продукта, маркетинговая стратегия, тон бренда.