Claude Code: settings.json i zmienne środowiskowe — Base URL, token uwierzytelniający i model

AIHubMix7 min czytania
Claude Code: settings.json i zmienne środowiskowe — Base URL, token uwierzytelniający i model

Claude Code pobiera konfigurację z plików ustawień JSON oraz ze zmiennych środowiskowych. Aby uruchamiać go przez bramkę zamiast API Anthropic, potrzebujesz dwóch zmiennych: ANTHROPIC_BASE_URL i tokenu, a zazwyczaj także modelu. Same zmienne są proste. Problemem bywa to, gdzie je umieścić, ponieważ ta sama zmienna może znajdować się w profilu powłoki, w kilku plikach settings.json oraz w ustawieniach VS Code.

Ten poradnik zaczyna się od konfiguracji, która działa, a następnie wyjaśnia, gdzie znajdują się pliki, która wartość ma pierwszeństwo i jakie błędy możesz napotkać. Informacje zweryfikowano na podstawie dokumentacji Anthropic, a konfigurację przetestowano z AIHubMix w Claude Code 2.1.304, 20 października 2026 r. Przykłady wykorzystują AIHubMix jako bramkę; każdą zgodną z Anthropic usługę końcową konfiguruje się tak samo.

W skrócie

  • Twój osobisty plik ustawień to ~/.claude/settings.json, a w systemie Windows — %USERPROFILE%\.claude\settings.json.
  • W przypadku bramki umieść ANTHROPIC_BASE_URL (bez /v1) oraz ANTHROPIC_AUTH_TOKEN w bloku env tego pliku.
  • Wartość w bloku env pliku ustawień zastępuje wartość tej samej zmiennej wyeksportowaną w powłoce.
  • Po ustawieniu tokenu żądania przestają korzystać z subskrypcji Claude, a opłaty nalicza bramka.
  • Rozszerzenie VS Code wymaga tych samych zmiennych we własnym ustawieniu claudeCode.environmentVariables.

Działająca konfiguracja AIHubMix

  1. Utwórz klucz w konsoli AIHubMix.
  2. Umieść poniższy wpis w pliku ~/.claude/settings.json. Jeśli plik nie istnieje, utwórz go.
{
  "$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. Wykonaj szybki test:
claude -p "1+1, output only the answer"
  1. Uruchom claude w projekcie. Nagłówek pod logo powinien wyświetlać tekst podobny do Sonnet 5.5 · API Usage Billing, a polecenie /status pokaże bramkę w wierszu Anthropic base URL.

Ważne są dwa szczegóły. Base URL to adres główny: Claude Code sam dodaje /v1/messages, więc adres URL zakończony na /v1 powoduje błędy wszystkich żądań. AIHubMix używa też identyfikatorów modeli Anthropic, takich jak claude-sonnet-5-5, dlatego skróty sonnet, opus i haiku działają bez dodatkowej konfiguracji.

Wiersz $schema jest opcjonalny. Dzięki niemu VS Code, Cursor i inne edytory mogą wykrywać błędy w pliku podczas pisania.

Możesz zamiast tego wyeksportować te same dwie zmienne w powłoce, ale lepszym miejscem jest plik ustawień: odczytują go wszystkie terminale, rozszerzenia IDE i agenty działające w tle.

Gdzie znajdują się pliki ustawień

Zakres Plik Obowiązuje dla
Użytkownik ~/.claude/settings.json Ciebie, we wszystkich projektach
Projekt .claude/settings.json Wszystkich w repozytorium, przez git
Lokalny .claude/settings.local.json Ciebie, tylko w tym repozytorium
Zarządzany Ustawiany przez Twoją organizację Wszystkich, którym go wdrożono

Nigdy nie umieszczaj tokenu w pliku projektu .claude/settings.json, ponieważ jest on zatwierdzany w git. Użyj pliku użytkownika albo .claude/settings.local.json.

Pliki ustawień muszą być poprawnym JSON-em. Komentarz // lub przecinek na końcu sprawi, że Claude Code pominie cały plik, łącznie z tokenem, i zamiast bramki zobaczysz ekran logowania.

Nie pomyl ich z plikiem ~/.claude.json, który znajduje się w katalogu domowym. Zapisuje on stan samego Claude Code, na przykład dane logowania i serwery MCP, i rzadko trzeba go edytować.

Która wartość ma pierwszeństwo

Gdy kilka plików ustawia tę samą opcję, obowiązuje kolejność pierwszeństwa ustawień Anthropic — od najwyższego priorytetu:

  1. Ustawienia zarządzane przez organizację
  2. --settings w wierszu poleceń — tylko dla danej sesji
  3. .claude/settings.local.json
  4. .claude/settings.json
  5. ~/.claude/settings.json

W przypadku zmiennych środowiskowych obowiązuje jeszcze jedna zasada: zmienna w bloku env pliku ustawień zastępuje tę samą zmienną z powłoki. Dlatego polecenie export ANTHROPIC_BASE_URL=... w pliku ~/.zshrc nic nie zmienia, jeśli plik ustawień również ustawia tę zmienną. Narzędzia do przełączania dostawców zwykle zapisują ustawienia w ~/.claude/settings.json, dlatego mają one pierwszeństwo przed zmiennymi powłoki.

W Claude Code wiersz Setting sources polecenia /status wyświetla listę wczytanych plików.

ANTHROPIC_AUTH_TOKEN czy ANTHROPIC_API_KEY

Zmienna Wysyłana jako Uwaga
ANTHROPIC_AUTH_TOKEN Authorization: Bearer Używana od razu
ANTHROPIC_API_KEY x-api-key Jednorazowa prośba o zatwierdzenie

Użyj tej zmiennej, którą odczytuje Twoja brama. AIHubMix obsługuje obie, a w przewodniku AIHubMix po Claude Code użyto ANTHROPIC_AUTH_TOKEN — to również prostszy wybór. Nie ustawiaj obu naraz. Claude Code wysyła wtedy oba nagłówki, a AIHubMix najpierw sprawdza x-api-key: w naszym teście prawidłowy token w settings.json i tak spowodował błąd 401, ponieważ w powłoce była ustawiona stara zmienna ANTHROPIC_API_KEY. Blok env zastępuje tylko te zmienne, które ustawia, więc po zmianie usuń stary klucz z konfiguracji powłoki.

A co z subskrypcją Claude? Zgodnie z poradnikiem Anthropic dotyczącym bramek, po ustawieniu zmiennej tokenu lub klucza API żądania korzystają z niej zamiast z logowania claude.ai, a bramka nalicza opłaty za tokeny. Dane logowania pozostają zapisane i znów będą używane po usunięciu zmiennej. Ustawienie samej zmiennej ANTHROPIC_BASE_URL, bez tokenu, oznacza dalsze korzystanie z subskrypcji.

Wybór modelu

Strona Anthropic dotycząca konfiguracji modelu podaje następującą kolejność — od najwyższego priorytetu:

  1. /model <name> w trakcie sesji
  2. claude --model <name> przy uruchamianiu
  3. Zmienna ANTHROPIC_MODEL
  4. Klucz model w pliku ustawień

/model zapisuje wybrany model jako nowy domyślny. Jeśli jednak ustawiono ANTHROPIC_MODEL, każda nowa sesja ponownie uruchomi się z tym modelem. Jeśli często zmieniasz modele, ustaw klucz model i nie ustawiaj ANTHROPIC_MODEL. Jeśli nigdzie nie określono modelu, Claude Code używa Opus 5.5.

ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL i ANTHROPIC_DEFAULT_HAIKU_MODEL zmieniają model przypisany do danego skrótu. Są potrzebne tylko wtedy, gdy chcesz, by skrót wskazywał inny model, na przykład gdy chcesz, aby sonnet nadal wskazywał starszą wersję.

AIHubMix udostępnia pod tym samym adresem również modele innych dostawców, ale Anthropic nie obsługuje Claude Code z modelami innymi niż Claude, więc niektóre funkcje mogą z nimi nie działać.

Kiedy zmiany zaczynają obowiązywać

Claude Code monitoruje pliki ustawień, a większość zapisanych zmian, w tym w bloku env, zaczyna obowiązywać w działającej sesji. Zmiana klucza model, usunięcie zmiennych i eksporty w powłoce wymagają ponownego uruchomienia. W razie wątpliwości uruchom Claude Code ponownie.

Rozszerzenie VS Code

Rozszerzenie odczytuje te same pliki ustawień, ale przed uruchomieniem sprawdza, czy użytkownik jest zalogowany, korzystając z własnego ustawienia claudeCode.environmentVariables. Dlatego VS Code może prosić o zalogowanie, mimo że CLI działa. Otwórz z Palety poleceń Preferences: Open User Settings (JSON) i dodaj:

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

Następnie uruchom Developer: Reload Window. Więcej opcji opisano w dokumentacji Anthropic dla VS Code. Aplikacja Claude Desktop jest osobnym programem: nie odczytuje ani pliku settings.json, ani tych zmiennych.

Inne przydatne zmienne

Zmienna Ustaw, gdy
API_TIMEOUT_MS Długie żądania przekraczają limit czasu (domyślnie 10 minut)
CLAUDE_CODE_MAX_RETRIES Chcesz szybciej zobaczyć błędy
HTTPS_PROXY Korzystasz z serwera proxy HTTP
NODE_EXTRA_CA_CERTS Twój serwer proxy używa własnego certyfikatu głównego

Wszystkie można umieścić w bloku env. Pełną listę znajdziesz w spisie zmiennych środowiskowych Anthropic.

Częste błędy i ich znaczenie

Not logged in · Please run /login, lub ekran logowania przy pierwszym uruchomieniu
Claude Code nie znalazł tokenu. Sprawdź trzy rzeczy: błąd w JSON-ie, przez który plik został pominięty, brak zmiennej ANTHROPIC_AUTH_TOKEN albo token zapisany wyłącznie w pliku projektu. Logowanie odbywa się przed wczytaniem ustawień projektu, więc przenieś token do ~/.claude/settings.json.

Invalid or malformed JSON
Plik wskazany w komunikacie zawiera komentarz, przecinek na końcu lub inny błąd składni, dlatego żadne z jego ustawień nie zostało zastosowane.

There's an issue with the selected model (...)
Identyfikator modelu jest nieprawidłowy albo adres base URL kończy się na /v1, przez co żądanie trafiło pod adres /v1/v1/messages. Jeśli identyfikator modelu wygląda poprawnie, najpierw sprawdź URL.

API Error: 400 z komunikatem This model ID is incorrect
AIHubMix nie ma modelu o podanym identyfikatorze, a komunikat powtarza otrzymany identyfikator. Zwykle przyczyną jest literówka. Skopiuj identyfikator ponownie z listy modeli AIHubMix.

Failed to authenticate. API Error: 401 invalid key: ...
AIHubMix odrzucił klucz. Komunikat kończy się sześcioma ostatnimi znakami otrzymanego klucza, więc porównaj je z końcówką tokenu. PI_KEY oznacza, że zamiast prawdziwego klucza wklejono symbol zastępczy AIHUBMIX_API_KEY. Każdy inny wynik zwykle oznacza, że wysłano stary ANTHROPIC_API_KEY z powłoki. Jeśli zamiast tego komunikat informuje this key is not enabled, sprawdź w konsoli AIHubMix, czy klucz jest włączony i ma przypisane środki.

auth may not work as expected
Aktywne są zarówno zmienna tokenu, jak i zapisane dane logowania claude.ai. Uruchom /logout, aby nadal korzystać z bramki, albo usuń zmienną, aby wrócić do subskrypcji.

Claude Code doesn't recognize the model ...
To ostrzeżenie, nie błąd: żądanie nadal zostanie wysłane, ale Claude Code przyjmuje kontekst o rozmiarze 200K tokenów. Jeśli identyfikator należy do nowszego modelu Claude, polecenie claude update rozwiąże problem.

Przy nieprawidłowym kluczu wygląda, jakby program się zawiesił
Claude Code ponawia nieudane żądania maksymalnie 10 razy. W teście z kluczem, który zawsze powodował błąd, claude -p ponawiał próby przez około trzy minuty. Zmniejsz wartość CLAUDE_CODE_MAX_RETRIES, aby szybciej zobaczyć błąd.

Jeśli chcesz używać jednego klucza do Claude w Claude Code oraz do OpenAI, Google i innych dostawców w pozostałych narzędziach, AIHubMix udostępnia API Anthropic pod adresem https://aihubmix.com. Claude Code potrzebuje tylko opisanego wyżej pliku ustawień.

Często zadawane pytania

Gdzie znajduje się plik settings.json Claude Code?
Twój osobisty plik to ~/.claude/settings.json, a w systemie Windows — %USERPROFILE%.claude\settings.json. Projekt może też zawierać plik .claude/settings.json współdzielony przez git oraz .claude/settings.local.json, przeznaczony tylko dla Ciebie. Claude Code nie tworzy tych plików podczas instalacji.

Czy settings.json nadpisuje zmienne środowiskowe?
Tak. Wartość w bloku env pliku ustawień nadpisuje tę samą zmienną wyeksportowaną w powłoce. Zmienne, których plik nie ustawia, takie jak stara wartość ANTHROPIC_API_KEY, nadal pochodzą z powłoki.

Czy używać ANTHROPIC_AUTH_TOKEN czy ANTHROPIC_API_KEY?
Użyj tej zmiennej, którą odczytuje Twoja brama. ANTHROPIC_AUTH_TOKEN wysyła token Bearer i nie wymaga zatwierdzenia. W przypadku AIHubMix zalecanym wyborem jest ANTHROPIC_AUTH_TOKEN. Nie ustawiaj obu: AIHubMix najpierw odczytuje x-api-key, więc nieaktualna wartość ANTHROPIC_API_KEY powoduje błąd 401.

Czy ANTHROPIC_BASE_URL powinien kończyć się na /v1?
Nie. Claude Code sam dodaje /v1/messages. W przypadku AIHubMix użyj https://aihubmix.com.

Czy po edycji settings.json muszę ponownie uruchomić Claude Code?
Większość zmian, w tym zmiany zmiennych env, zostaje zastosowana po zapisaniu pliku. Klucz modelu i eksporty w powłoce wymagają ponownego uruchomienia. Dla pewności najlepiej uruchomić program ponownie.

Dlaczego VS Code prosi mnie o zalogowanie, skoro CLI działa?
Zanim rozszerzenie się uruchomi, sprawdza logowanie za pomocą ustawienia claudeCode.environmentVariables, a wartości z ~/.claude/settings.json nie są uwzględniane w tej kontroli. Dodaj tam adres URL bazy i token, a następnie przeładuj okno.

Czy ustawienie ANTHROPIC_BASE_URL wykorzystuje moją subskrypcję Claude?
Tylko jeśli nie ustawiono tokenu. Gdy ustawiono ANTHROPIC_AUTH_TOKEN lub ANTHROPIC_API_KEY, żądania korzystają z tego klucza, a brama rozlicza je na podstawie liczby tokenów.

Źródła