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 надає доступ до API Anthropic за адресою 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, запити використовуватимуть цей ключ, а шлюз стягуватиме плату за токени.

Джерела