Claude Code settings.json и променливи на средата: базов URL, токен за удостоверяване и модел

AIHubMix7 мин четене
Claude Code settings.json и променливи на средата: базов URL, токен за удостоверяване и модел

Claude Code взема конфигурацията си от JSON файлове с настройки и от променливи на средата. За да го използвате през шлюз вместо през API на Anthropic, са ви нужни две променливи — ANTHROPIC_BASE_URL и токен — а обикновено и модел. Самите променливи са лесни. Объркването идва от това къде да ги зададете, защото една и съща променлива може да бъде зададена в профила на обвивката, в няколко файла settings.json и в настройките на VS Code.

Това ръководство започва с работеща конфигурация, след което обяснява къде се намират файловете, коя стойност има предимство и какви грешки е вероятно да срещнете. Проверено е спрямо документацията на Anthropic и е тествано с AIHubMix и Claude Code 2.1.304 на 20 октомври 2026 г. Примерите използват AIHubMix като шлюз; всеки съвместим с Anthropic краен адрес се настройва по същия начин.

Накратко

  • Личният ви файл с настройки е ~/.claude/settings.json, а в Windows — %USERPROFILE%\.claude\settings.json.
  • За шлюз добавете ANTHROPIC_BASE_URL (без /v1) и ANTHROPIC_AUTH_TOKEN в блока env на този файл.
  • Стойност в блока env на файл с настройки има предимство пред същата променлива, зададена в обвивката ви.
  • След задаването на токен заявките вече не използват абонамента ви за Claude, а се таксуват от шлюза.
  • Разширението за VS Code изисква същите променливи в собствената си настройка claudeCode.environmentVariables.

Работеща конфигурация за AIHubMix

  1. Създайте ключ в конзолата на AIHubMix.
  2. Добавете следното в ~/.claude/settings.json. Създайте файла, ако не съществува.
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_BASE_URL": "https://aihubmix.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-your-aihubmix-key"
  },
  "model": "claude-sonnet-5-5"
}
  1. Направете бърз тест:
claude -p "1+1, output only the answer"
  1. Стартирайте claude в проект. В заглавката под логото трябва да пише нещо като Sonnet 5.5 · API Usage Billing, а /status показва шлюза ви на реда Anthropic base URL.

Важни са два детайла. Базовият URL е кореновият адрес: Claude Code добавя сам /v1/messages, затова URL, който завършва на /v1, ще провали всяка заявка. Освен това AIHubMix използва оригиналните идентификатори на модели на Anthropic, като claude-sonnet-5-5, така че кратките имена sonnet, opus и haiku работят без допълнителна настройка.

Редът $schema не е задължителен. Той позволява на VS Code, Cursor и други редактори да откриват грешки във файла, докато пишете.

Вместо това можете да зададете същите две променливи в обвивката си, но файлът с настройки е по-подходящото място: прочита се от всеки терминал, разширенията на IDE и фоновите агенти.

Къде се намират файловете с настройки

Обхват Файл За кого важи
Потребителски ~/.claude/settings.json За вас, във всеки проект
Проектен .claude/settings.json За всички в хранилището чрез git
Локален .claude/settings.local.json Само за вас, само в това хранилище
Управляван Задава се от организацията ви За всички, за които е внедрен

Никога не слагайте токен във файла на проекта .claude/settings.json, защото той се добавя към git. Използвайте потребителския си файл или .claude/settings.local.json.

Файловете с настройки трябва да са валиден JSON. Коментар // или запетая в края кара Claude Code да пропусне целия файл, включително токена, и вместо шлюза ще видите екрана за вход.

Не бъркайте тези файлове с ~/.claude.json — един файл в началната ви папка. Той съхранява вътрешното състояние на Claude Code, например данните ви за вход и MCP сървърите, и рядко се налага да го редактирате.

Коя стойност има предимство

Когато няколко файла задават една и съща стойност, важи редът на предимство на настройките на Anthropic — от най-високата надолу:

  1. Управлявани настройки от организацията ви
  2. --settings в командния ред — само за текущата сесия
  3. .claude/settings.local.json
  4. .claude/settings.json
  5. ~/.claude/settings.json

За променливите на средата важи още едно правило: променлива в блока env на файл с настройки заменя същата променлива от обвивката ви. Така че export ANTHROPIC_BASE_URL=... във файла ~/.zshrc няма ефект, ако същата променлива е зададена и във файл с настройки. Инструментите за превключване на доставчика обикновено записват в ~/.claude/settings.json, затова неговата стойност има предимство пред тази в обвивката.

В Claude Code /status показва заредените файлове на реда Setting sources.

ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY

Променлива Изпраща се като Забележка
ANTHROPIC_AUTH_TOKEN Authorization: Bearer Използва се веднага
ANTHROPIC_API_KEY x-api-key Иска еднократно потвърждение

Използвайте тази, която чете шлюзът ви. AIHubMix приема и двете, а в ръководството си за Claude Code използва ANTHROPIC_AUTH_TOKEN, който е и по-лесният избор. Не оставяйте зададени и двете. Тогава Claude Code изпраща и двете заглавки, а AIHubMix първо проверява x-api-key: в нашия тест правилният токен във файла settings.json пак получи грешка 401, защото в обвивката беше зададен стар ANTHROPIC_API_KEY. Блокът env заменя само променливите, които задава, затова при смяна премахнете стария ключ от профила на обвивката си.

А какво става с абонамента ви за Claude? Според ръководството на Anthropic за шлюзове, щом бъде зададена променлива за токен или API ключ, заявките я използват вместо данните ви за вход в claude.ai, а шлюзът таксува според броя токени. Данните ви за вход остават запазени и отново се използват, когато премахнете променливата. Ако зададете само ANTHROPIC_BASE_URL, без токен, ще продължите да използвате абонамента си.

Избор на модел

Страницата на Anthropic за конфигуриране на модели посочва следния ред — от най-високия приоритет надолу:

  1. /model <name> по време на сесия
  2. claude --model <name> при стартиране
  3. Променливата ANTHROPIC_MODEL
  4. Ключът model във файл с настройки

/model запазва избора ви като нов модел по подразбиране. Ако обаче е зададена ANTHROPIC_MODEL, всяка нова сесия започва отново с този модел. Ако често сменяте моделите, задайте ключа model и не задавайте ANTHROPIC_MODEL. Ако никъде не е зададен модел, Claude Code използва Opus 5.5.

ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL и ANTHROPIC_DEFAULT_HAIKU_MODEL променят модела, към който сочи всеки пряк път. Нужни са ви само ако искате някой пряк път да сочи към друг модел, например ако искате sonnet да използва по-стара версия.

AIHubMix предлага и модели на други доставчици на същия адрес, но Anthropic не поддържа Claude Code с модели, различни от Claude, затова някои функции може да не работят с тях.

Кога промените влизат в сила

Claude Code следи файловете си с настройки и повечето запазени промени, включително тези в блока env, се прилагат към текущата сесия. При промяна на ключа model, премахване на променливи и промяна на променливите в обвивката е необходимо рестартиране. Ако не сте сигурни, рестартирайте Claude Code.

Разширението за VS Code

Разширението чете същите файлове с настройки, но преди да се стартира проверява дали сте влезли, като използва собствената си настройка claudeCode.environmentVariables. Затова VS Code може да ви подкани да влезете, въпреки че CLI работи. Отворете Preferences: Open User Settings (JSON) от командната палитра и добавете:

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://aihubmix.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-your-aihubmix-key" }
  ]
}

След това изпълнете Developer: Reload Window. Още опции ще намерите в документацията на Anthropic за VS Code. Приложението Claude Desktop е отделно: то не чете нито settings.json, нито тези променливи.

Други полезни променливи

Променлива Кога да я зададете
API_TIMEOUT_MS Заявките изтичат поради изчакване (по подразбиране — 10 минути)
CLAUDE_CODE_MAX_RETRIES Искате грешките да се показват по-бързо
HTTPS_PROXY Използвате HTTP прокси
NODE_EXTRA_CA_CERTS Проксито ви използва собствен коренен сертификат

Можете да зададете всички в блока env. Пълният списък е в справочника на Anthropic за променливите на средата.

Често срещани грешки и значението им

Not logged in · Please run /login, или екранът за вход при първо стартиране
Claude Code не е открил токен. Проверете три неща: грешка в JSON, заради която файлът е пропуснат; липсващ ANTHROPIC_AUTH_TOKEN; или токен, зададен само във файл на проекта. Стъпката за вход се изпълнява преди зареждането на настройките на проекта, затова преместете токена в ~/.claude/settings.json.

Invalid or malformed JSON
Във файла, посочен в съобщението, има коментар, запетая в края или друга синтактична грешка, затова настройките му не са приложени.

There's an issue with the selected model (...)
Или идентификаторът на модела е грешен, или базовият URL завършва на /v1 и заявката е изпратена към /v1/v1/messages. Ако идентификаторът на модела изглежда правилен, първо проверете URL адреса.

API Error: 400 с This model ID is incorrect
AIHubMix няма модел с този идентификатор и съобщението повтаря полученото. Обикновено става дума за печатна грешка. Копирайте идентификатора отново от списъка с модели на AIHubMix.

Failed to authenticate. API Error: 401 invalid key: ...
AIHubMix не приема ключа. Съобщението завършва с последните шест знака на получения ключ, затова ги сравнете с края на токена си. PI_KEY означава, че вместо истински ключ е поставен заместителят AIHUBMIX_API_KEY. Във всички останали случаи обикновено е изпратен стар ANTHROPIC_API_KEY от обвивката ви. Ако вместо това съобщението гласи this key is not enabled, проверете в конзолата на AIHubMix дали ключът е активиран и има наличен кредит.

auth may not work as expected
Едновременно са активни променлива за токен и запазени данни за вход в claude.ai. Изпълнете /logout, за да продължите да използвате шлюза, или премахнете променливата, за да се върнете към абонамента си.

Claude Code doesn't recognize the model ...
Това е предупреждение, а не грешка: заявката все пак се изпраща, но Claude Code приема, че контекстният прозорец е 200K токена. Ако идентификаторът е на по-нов модел Claude, изпълнете claude update, за да премахнете предупреждението.

Изглежда блокира, когато ключът е невалиден
Claude Code опитва повторно неуспешните заявки до 10 пъти. При тест с ключ, който винаги се отхвърляше, claude -p продължи да опитва около три минути. Намалете стойността на CLAUDE_CODE_MAX_RETRIES, за да видите грешката по-бързо.

Ако искате да използвате един ключ за Claude в Claude Code, както и за OpenAI, Google и други доставчици в останалите си инструменти, AIHubMix предлага Anthropic API на адрес https://aihubmix.com. Файлът с настройки по-горе е всичко, от което се нуждае Claude Code.

Често задавани въпроси

Къде се намира settings.json на Claude Code?
Личният ви файл е ~/.claude/settings.json, а в Windows — %USERPROFILE%.claude\settings.json. В проекта може да има и .claude/settings.json, споделян чрез git, както и .claude/settings.local.json, който е само за вас. Claude Code не ги създава при инсталиране.

settings.json замества ли променливите на средата?
Да. Стойност в блока env на файл с настройки заменя същата променлива, зададена в обвивката. Променливите, които файлът не задава, например стара стойност на ANTHROPIC_API_KEY, продължават да се вземат от обвивката.

Да използвам ли ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY?
Използвайте този, който се чете от вашия шлюз. ANTHROPIC_AUTH_TOKEN изпраща Bearer токен и не изисква одобрение. За AIHubMix препоръчителният избор е ANTHROPIC_AUTH_TOKEN. Не задавайте и двете: AIHubMix първо чете x-api-key, така че остаряла стойност на ANTHROPIC_API_KEY води до грешка 401.

Трябва ли ANTHROPIC_BASE_URL да завършва на /v1?
Не. Claude Code добавя /v1/messages сам. За AIHubMix използвайте https://aihubmix.com.

Трябва ли да рестартирам Claude Code, след като редактирам settings.json?
Повечето промени, включително тези в env, се прилагат при запазване. Ключът за модела и експортираните в обвивката променливи изискват рестартиране. Най-сигурно е да рестартирате.

Защо VS Code иска да вляза, когато CLI работи?
Преди да стартира, разширението проверява дали сте влезли чрез настройката си claudeCode.environmentVariables, а стойностите в ~/.claude/settings.json не достигат до тази проверка. Добавете там базовия URL адрес и токена, след което презаредете прозореца.

Използва ли настройката ANTHROPIC_BASE_URL абонамента ми за Claude?
Само ако не е зададен токен. Когато е зададен ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY, заявките използват този ключ и шлюзът таксува на токен.

Източници