Claude CLI
На этой странице показаны ручная настройка и готовые скрипты для
Claude CLI.
Для Claude CLI важны две вещи:
- auth идет через
ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URLуказывается как корень gateway, без/v1
Что использует Claude CLI
Section titled “Что использует Claude CLI”Фактические HTTP-запросы должны уходить в:
POST https://apikey.center/v1/messagesДля этого ANTHROPIC_BASE_URL нужно указывать не как https://apikey.center/v1, а как корень gateway:
https://apikey.centerОсновной рабочий сценарий хранится в user-level ~/.claude/settings.json через блок env.
Что понадобится
Section titled “Что понадобится”- установленный
Claude Code/Claude CLI - API key от
apikey.center - модель, совместимая с Anthropic-compatible сценарием
Ручная настройка
Section titled “Ручная настройка”1. Найди пользовательскую папку .claude
Section titled “1. Найди пользовательскую папку .claude”- macOS / Linux / WSL:
~/.claude/ - Windows:
%USERPROFILE%\.claude\
Если на macOS папка .claude не видна в Finder:
- нажми
Command + Shift + ., чтобы показать скрытые файлы - или нажми
Command + Shift + Gи сразу открой~/.claude
На Windows проще всего вставить %USERPROFILE%\.claude\ прямо в адресную строку Проводника.
2. Сделай backup перед правкой
Section titled “2. Сделай backup перед правкой”Для user-level сценария обычно достаточно сохранить копию одного файла:
~/.claude/settings.json
Самый простой вариант:
macOS / Linux:
cp ~/.claude/settings.json ~/.claude/settings.json.backup 2>/dev/null || trueWindows PowerShell:
Copy-Item "$HOME\.claude\settings.json" "$HOME\.claude\settings.json.backup" -ErrorAction SilentlyContinueЕсли settings.json еще не существует, это нормально.
3. Открой пользовательский settings.json
Section titled “3. Открой пользовательский settings.json”Официальный user-level файл Claude Code:
- macOS / Linux / WSL:
~/.claude/settings.json - Windows:
%USERPROFILE%\.claude\settings.json - project-level shared config:
.claude/settings.json - project-level local config:
.claude/settings.local.json
Для первого подключения лучше использовать именно user-level ~/.claude/settings.json.
4. Добавь рабочий блок env
Section titled “4. Добавь рабочий блок env”Если файла еще нет, создай его. Затем добавь или объедини блок env:
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-REPLACE_WITH_YOUR_KEY", "ANTHROPIC_BASE_URL": "https://apikey.center", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }}Это минимальный рабочий сценарий для apikey.center.
Что здесь важно:
ANTHROPIC_AUTH_TOKENхранит сам ключANTHROPIC_BASE_URLдолжен бытьhttps://apikey.center, без/v1CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1снижает лишний фоновый трафик и хорошо подходит для gateway-сценария
Если в settings.json уже есть другие поля или уже существует блок env, не стирай их. Просто добавь или обнови нужные ключи.
5. Рекомендуемый сценарий для Claude-моделей
Section titled “5. Рекомендуемый сценарий для Claude-моделей”Если хочешь, чтобы Claude CLI по умолчанию использовал именно семейство Claude, обычно не нужно жестко прописывать versioned claude-* model ID. У разных source они могут немного отличаться, поэтому для обычного сценария лучше оставить логические слоты sonnet, opus и haiku.
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-REPLACE_WITH_YOUR_KEY", "ANTHROPIC_BASE_URL": "https://apikey.center", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }, "model": "sonnet"}Что это значит:
model: "sonnet"оставляет основной диалог на слотеsonnetClaude Codeсам выберет подходящую Claude-модель для этого слота из доступного source- такой сценарий устойчивее, если у разных source немного отличаются точные
claude-*ID
Это и есть рекомендуемый вариант, если задача именно про модели Claude.
Если тебе все же нужно жестко зафиксировать точный claude-* ID из конкретного source, сначала проверь его через /v1/models, а потом уже добавляй ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL или ANTHROPIC_DEFAULT_HAIKU_MODEL вручную как advanced override.
6. Дополнительный сценарий для GPT-моделей
Section titled “6. Дополнительный сценарий для GPT-моделей”Если хочешь использовать gpt-модели внутри Claude Code, можно оставить привычные слоты opus, sonnet, haiku, но переназначить их на свои model ID через gateway.
Рабочий пример:
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-REPLACE_WITH_YOUR_KEY", "ANTHROPIC_BASE_URL": "https://apikey.center", "ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-5.5", "ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-5.4", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5.4-mini", "CLAUDE_CODE_SUBAGENT_MODEL": "gpt-5.4-mini", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }, "model": "sonnet"}Как это читать:
model: "sonnet"остается в терминах Claude Code- реальная модель для основного диалога берется из
ANTHROPIC_DEFAULT_SONNET_MODEL ANTHROPIC_DEFAULT_OPUS_MODELиANTHROPIC_DEFAULT_HAIKU_MODELзадают остальные слотыCLAUDE_CODE_SUBAGENT_MODELпозволяет отдельно зафиксировать модель для subagent-сценариев
Практически это значит:
- основной чат можно держать на
gpt-5.4черезmodel: "sonnet" - тяжелый профиль можно завести на
gpt-5.5черезopus - быстрый и дешевый профиль можно увести на
gpt-5.4-miniчерезhaiku - subagents можно принудительно держать на
gpt-5.4-mini, даже если основной чат идет на более сильной модели
7. Опционально добавь compatibility flag
Section titled “7. Опционально добавь compatibility flag”Если раньше у тебя работал другой gateway с отдельным compat-режимом, можно добавить:
{ "env": { "CLAUDE_CODE_ATTRIBUTION_HEADER": "0" }}Для apikey.center этот флаг не считается обязательным по умолчанию. Его лучше держать как optional fallback, а не как базовую часть инструкции.
8. Опционально включи model discovery
Section titled “8. Опционально включи model discovery”Если хочешь, чтобы Claude Code пробовал читать список моделей через gateway, добавь еще один флаг:
{ "env": { "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1" }}Для базового подключения к apikey.center этот флаг не обязателен. Он нужен только для сценария, где клиент должен отдельно перечитывать /v1/models.
9. Перезапусти Claude CLI
Section titled “9. Перезапусти Claude CLI”Полностью закрой текущую сессию и открой CLI заново, чтобы он перечитал env и settings.json.
10. Проверь модель и запрос
Section titled “10. Проверь модель и запрос”Если discovery включен, Claude Code может отдельно сходить в GET https://apikey.center/v1/models.
Если discovery не включен, это не мешает основной работе: сам запрос все равно должен идти в POST https://apikey.center/v1/messages.
Если ты оставил обычный Claude-сценарий без явного mapping, достаточно того, что Claude CLI уходит в POST https://apikey.center/v1/messages и корректно использует слот sonnet, opus или haiku.
Если ты используешь явный mapping через model: "sonnet", основной запрос должен реально идти в ту модель, которую ты указал в ANTHROPIC_DEFAULT_SONNET_MODEL.
Скрипт автонастройки
Section titled “Скрипт автонастройки”По умолчанию скрипт автонастройки настраивает Claude CLI именно под модели Claude:
irm https://docs.apikey.center/i/claude-cli.ps1 | iexUnix-версия:
curl -fsSL https://docs.apikey.center/i/claude-cli.sh | shЧто делает installer по умолчанию:
- обновляет
~/.claude/settings.json - выставляет
ANTHROPIC_AUTH_TOKENиANTHROPIC_BASE_URL=https://apikey.center - включает
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 - ставит root-level
model = "sonnet" - не закрепляет versioned
claude-*ID по умолчанию, чтобы не привязываться к одному source Claude-моделей
Если нужен отдельный installer именно для GPT-mapping:
irm https://docs.apikey.center/i/claude-cli-gpt.ps1 | iexUnix-версия:
curl -fsSL https://docs.apikey.center/i/claude-cli-gpt.sh | shЧто делает GPT-variant:
- обновляет тот же
~/.claude/settings.json - оставляет
ANTHROPIC_AUTH_TOKENиANTHROPIC_BASE_URL=https://apikey.center - маппит
opus -> gpt-5.5,sonnet -> gpt-5.4,haiku -> gpt-5.4-mini - фиксирует
CLAUDE_CODE_SUBAGENT_MODEL = "gpt-5.4-mini"и root-levelmodel = "sonnet"
Если нужен другой root-level slot:
- PowerShell:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli.ps1))) -Slot opus - Unix shell:
curl -fsSL https://docs.apikey.center/i/claude-cli.sh | sh -s -- --slot opus
Если нужен точный claude-* model ID из конкретного source, его тоже можно передать явно:
- PowerShell:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli.ps1))) -SonnetModel claude-sonnet-4-5 - Unix shell:
curl -fsSL https://docs.apikey.center/i/claude-cli.sh | sh -s -- --sonnet-model claude-sonnet-4-5
Если нужен gateway-discovery:
- PowerShell:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli.ps1))) -EnableDiscovery - Unix shell:
curl -fsSL https://docs.apikey.center/i/claude-cli.sh | sh -s -- --enable-discovery
Те же флаги поддерживает и GPT-variant:
- PowerShell:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli-gpt.ps1))) -Slot opus - PowerShell:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli-gpt.ps1))) -EnableDiscovery - Unix shell:
curl -fsSL https://docs.apikey.center/i/claude-cli-gpt.sh | sh -s -- --slot opus - Unix shell:
curl -fsSL https://docs.apikey.center/i/claude-cli-gpt.sh | sh -s -- --enable-discovery
Verification
Section titled “Verification”Claude CLIстартует без возврата к дефолтномуapi.anthropic.com- основной запрос уходит в
POST https://apikey.center/v1/messages ANTHROPIC_AUTH_TOKENчитается из~/.claude/settings.jsonCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1не ломает основной рабочий поток- в обычном Claude-сценарии
model: "sonnet"остается логическим слотом без жесткого pin-а на versionedclaude-*ID - если включен mapping,
model: "sonnet"использует модель изANTHROPIC_DEFAULT_SONNET_MODEL - если задан
CLAUDE_CODE_SUBAGENT_MODEL, subagent-сценарии не сваливаются обратно в другой дефолт - gateway-discovery, если он включен, использует
GET https://apikey.center/v1/models - при неверном ключе виден auth-error, а не ошибка некорректного base URL
Быстрый смысл проверки:
- default installer должен приводить к обычному Claude-сценарию без жесткого pin-а на versioned
claude-*ID claude-cli-gptдолжен приводить кGPT-моделям- в обоих случаях wire path все равно идет через
POST /v1/messages
Rollback
Section titled “Rollback”- PowerShell installer:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli.ps1))) -Rollback - Unix installer:
curl -fsSL https://docs.apikey.center/i/claude-cli.sh | sh -s -- --rollback - PowerShell GPT installer:
& ([scriptblock]::Create((irm https://docs.apikey.center/i/claude-cli-gpt.ps1))) -Rollback - Unix GPT installer:
curl -fsSL https://docs.apikey.center/i/claude-cli-gpt.sh | sh -s -- --rollback - убери из блока
envANTHROPIC_AUTH_TOKENиANTHROPIC_BASE_URL - убери
ANTHROPIC_DEFAULT_OPUS_MODEL,ANTHROPIC_DEFAULT_SONNET_MODELиANTHROPIC_DEFAULT_HAIKU_MODEL, если включал mapping - убери
CLAUDE_CODE_SUBAGENT_MODEL, если отдельно фиксировал subagent-модель - убери
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, если добавлял его только для этого сценария - убери
CLAUDE_CODE_ATTRIBUTION_HEADER, если включал compat-режим - убери
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY, если включал discovery - если делал backup
~/.claude/settings.json, просто верни его
Частые ошибки
Section titled “Частые ошибки”Поставил ANTHROPIC_BASE_URL=https://apikey.center/v1
Section titled “Поставил ANTHROPIC_BASE_URL=https://apikey.center/v1”Это одна из самых частых ошибок. В таком случае клиент может начать собирать URL с лишним /v1. Для Claude Code base URL должен быть https://apikey.center.
Ожидали Claude-модели, но получили GPT
Section titled “Ожидали Claude-модели, но получили GPT”Проверь, не использовал ли ты отдельный installer claude-cli-gpt или не остались ли в settings.json старые поля:
ANTHROPIC_DEFAULT_OPUS_MODELANTHROPIC_DEFAULT_SONNET_MODELANTHROPIC_DEFAULT_HAIKU_MODELCLAUDE_CODE_SUBAGENT_MODEL
Если хочешь именно обычный Claude-сценарий, эти поля можно не задавать вообще. Тогда Claude Code сам выберет подходящую Claude-модель для слотов opus, sonnet и haiku.
Если нужен точный claude-* ID из конкретного source, сначала проверь его через /v1/models, а потом закрепи вручную как advanced override.
Ожидали GPT-модели, но остались Claude-модели
Section titled “Ожидали GPT-модели, но остались Claude-модели”Значит ты либо запускал обычный claude-cli installer, либо вручную оставил Claude-native mapping. Для GPT-варианта рекомендуем:
opus -> gpt-5.5sonnet -> gpt-5.4haiku -> gpt-5.4-minisubagent -> gpt-5.4-mini
Discovery ничего не нашел
Section titled “Discovery ничего не нашел”Проверь три вещи:
- включен ли
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY - отдает ли gateway
GET /v1/models - нужен ли тебе discovery вообще, или достаточно прямого запроса в
POST /v1/messages
Ключ будто не применяется
Section titled “Ключ будто не применяется”Проверь, что после изменения settings.json ты полностью перезапустил terminal session.
Включили model: "sonnet", но ждете прямой gpt-* id в UI
Section titled “Включили model: "sonnet", но ждете прямой gpt-* id в UI”В этом mapping-сценарии model остается логическим слотом Claude Code, а реальный model ID задается через:
ANTHROPIC_DEFAULT_OPUS_MODELANTHROPIC_DEFAULT_SONNET_MODELANTHROPIC_DEFAULT_HAIKU_MODEL
Если основной чат должен идти в gpt-5.4, то в этом примере нужно держать model: "sonnet" и отдельно прописать ANTHROPIC_DEFAULT_SONNET_MODEL = "gpt-5.4".
Основной чат идет правильно, а subagent уходит в другую модель
Section titled “Основной чат идет правильно, а subagent уходит в другую модель”Проверь, задан ли CLAUDE_CODE_SUBAGENT_MODEL. Если этот флаг не заполнен, поведение subagent-части может отличаться от основного слота.
Смешали старую и новую схему авторизации
Section titled “Смешали старую и новую схему авторизации”Для apikey.center основной путь в этой инструкции - ANTHROPIC_AUTH_TOKEN внутри ~/.claude/settings.json.
Если у тебя одновременно остались старые env var вроде ANTHROPIC_API_KEY и новый блок env, сначала приведи конфиг к одной схеме, чтобы не ловить путаницу.