Claude Code legge la configurazione dai file di impostazioni JSON e dalle variabili d’ambiente. Per usarlo tramite un gateway anziché tramite l’API di Anthropic, servono due variabili, ANTHROPIC_BASE_URL e un token, e in genere anche un modello. Le variabili sono semplici. A confondere è dove inserirle, perché la stessa variabile può trovarsi nel profilo della shell, in diversi file settings.json e nelle impostazioni di VS Code.
Questa guida parte da una configurazione funzionante, poi spiega dove si trovano i file, quale valore prevale e quali errori è probabile incontrare. È stata verificata rispetto alla documentazione di Anthropic e testata con AIHubMix su Claude Code 2.1.304 il 20 ottobre 2026. Gli esempi usano AIHubMix come gateway; qualsiasi endpoint compatibile con Anthropic si configura allo stesso modo.
In breve
- Il tuo file personale delle impostazioni è
~/.claude/settings.json, oppure%USERPROFILE%\.claude\settings.jsonsu Windows. - Per un gateway, inserisci
ANTHROPIC_BASE_URL(senza/v1) eANTHROPIC_AUTH_TOKENnel bloccoenvdi quel file. - Un valore nel blocco
envdi un file delle impostazioni prevale sulla stessa variabile esportata nella shell. - Una volta impostato un token, le richieste non usano più il tuo abbonamento Claude e vengono addebitate dal gateway.
- L’estensione di VS Code richiede le stesse variabili nella propria impostazione
claudeCode.environmentVariables.
Una configurazione AIHubMix funzionante
- Crea una chiave nella console AIHubMix.
- Inserisci questo contenuto in
~/.claude/settings.json. Se il file non esiste, crealo.
{
"$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"
}
- Esegui un rapido test:
claude -p "1+1, output only the answer"
- Avvia
claudein un progetto. Nell’intestazione sotto il logo dovrebbe apparire qualcosa comeSonnet 5.5 · API Usage Billing, mentre/statusmostra il gateway sulla rigaAnthropic base URL.
Due dettagli sono importanti. L’URL di base è l’indirizzo principale: Claude Code aggiunge autonomamente /v1/messages, quindi un URL che termina in /v1 compromette tutte le richieste. Inoltre, AIHubMix usa gli ID dei modelli di Anthropic, come claude-sonnet-5-5, quindi le scorciatoie sonnet, opus e haiku funzionano senza configurazioni aggiuntive.
La riga $schema è facoltativa. Permette a VS Code, Cursor e altri editor di segnalare gli errori nel file mentre digiti.
Puoi anche esportare le stesse due variabili nella shell, ma è meglio inserirle in un file delle impostazioni: lo leggono tutti i terminali, le estensioni dell’IDE e gli agenti in background.
Dove si trovano i file delle impostazioni
| Ambito | File | A chi si applica |
|---|---|---|
| Utente | ~/.claude/settings.json | A te, in ogni progetto |
| Progetto | .claude/settings.json | A tutti i membri del repository, tramite git |
| Locale | .claude/settings.local.json | A te, solo in questo repository |
| Gestito | Impostato dalla tua organizzazione | A tutti coloro a cui viene distribuito |
Non inserire mai un token nel file .claude/settings.json del progetto, perché viene incluso nei commit git. Usa il tuo file utente o .claude/settings.local.json.
I file delle impostazioni devono essere JSON validi. Un commento // o una virgola finale fa sì che Claude Code ignori l’intero file, token compreso, e mostri la schermata di accesso invece del gateway.
Non confonderli con ~/.claude.json, un singolo file nella cartella home. Questo memorizza lo stato interno di Claude Code, come l’accesso e i server MCP, e di rado è necessario modificarlo.
Quale valore prevale
Quando più file impostano lo stesso valore, si applica la precedenza delle impostazioni di Anthropic, in ordine decrescente:
- Impostazioni gestite dalla tua organizzazione
--settingsdalla riga di comando, solo per la sessione corrente.claude/settings.local.json.claude/settings.json~/.claude/settings.json
Per le variabili d’ambiente c’è un’altra regola: una variabile nel blocco env di un file delle impostazioni sovrascrive la stessa variabile proveniente dalla shell. Quindi un export ANTHROPIC_BASE_URL=... in ~/.zshrc non ha effetto se la variabile è impostata anche in un file delle impostazioni. Gli strumenti per cambiare provider in genere scrivono in ~/.claude/settings.json, ed è per questo che prevalgono sulla shell.
In Claude Code, /status elenca i file caricati nella riga Setting sources.
ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY
| Variabile | Inviato come | Nota |
|---|---|---|
| ANTHROPIC_AUTH_TOKEN | Authorization: Bearer | Usato subito |
| ANTHROPIC_API_KEY | x-api-key | Richiede l’autorizzazione una volta |
Usa la variabile letta dal tuo gateway. AIHubMix accetta entrambe, e la sua guida a Claude Code usa ANTHROPIC_AUTH_TOKEN, che è anche la scelta più semplice. Non lasciarle impostate entrambe. Claude Code invierebbe entrambi gli header e AIHubMix controlla prima x-api-key: nel nostro test, una chiave valida in settings.json ha comunque restituito un errore 401 perché nella shell era esportata una vecchia ANTHROPIC_API_KEY. Il blocco env sovrascrive solo le variabili che imposta, quindi quando cambi configurazione rimuovi la vecchia chiave dal profilo della shell.
Che succede al tuo abbonamento Claude? Secondo la guida di Anthropic ai gateway, una volta impostata una variabile token o API key, le richieste la usano al posto dell’accesso a claude.ai e il gateway addebita i costi per token. Le credenziali restano salvate e tornano in uso quando rimuovi la variabile. Se imposti solo ANTHROPIC_BASE_URL, senza un token, continui a usare il tuo abbonamento.
Scegliere il modello
La pagina di Anthropic sulla configurazione dei modelli indica questo ordine, dal più prioritario:
/model <name>durante una sessioneclaude --model <name>all’avvio- La variabile
ANTHROPIC_MODEL - La chiave
modelin un file delle impostazioni
/model salva la tua scelta come nuovo valore predefinito. Se però è impostata ANTHROPIC_MODEL, ogni nuova sessione si avvia di nuovo con quel modello. Se cambi spesso modello, imposta la chiave model e non impostare ANTHROPIC_MODEL. Se non imposti un modello da nessuna parte, Claude Code usa Opus 5.5.
ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL e ANTHROPIC_DEFAULT_HAIKU_MODEL cambiano il modello associato a ciascuna scorciatoia. Ti servono solo se vuoi che una scorciatoia punti a un altro modello, ad esempio per mantenere sonnet su una versione precedente.
AIHubMix offre anche modelli di altri fornitori allo stesso indirizzo, ma Anthropic non supporta Claude Code con modelli non-Claude, quindi alcune funzionalità potrebbero non funzionare.
Quando hanno effetto le modifiche
Claude Code monitora i file delle impostazioni e la maggior parte delle modifiche salvate, compreso il blocco env, si applica alla sessione in corso. La chiave model, le variabili rimosse e le esportazioni della shell richiedono un riavvio. In caso di dubbio, riavvia Claude Code.
L’estensione di VS Code
L’estensione legge gli stessi file delle impostazioni, ma prima dell’avvio verifica l’accesso tramite la propria impostazione claudeCode.environmentVariables. Ecco perché VS Code può chiederti di accedere anche se la CLI funziona. Apri Preferences: Open User Settings (JSON) dalla Command Palette e aggiungi:
{
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://aihubmix.com" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-your-aihubmix-key" }
]
}
Poi esegui Developer: Reload Window. Per altre opzioni, consulta la documentazione di Anthropic per VS Code. L’app Claude Desktop è separata: non legge né settings.json né queste variabili.
Altre variabili utili
| Variabile | Quando impostarla |
|---|---|
| API_TIMEOUT_MS | Le richieste lunghe vanno in timeout (predefinito: 10 minuti) |
| CLAUDE_CODE_MAX_RETRIES | Vuoi che gli errori vengano mostrati prima |
| HTTPS_PROXY | Usi un proxy HTTP |
| NODE_EXTRA_CA_CERTS | Il tuo proxy usa un proprio certificato radice |
Puoi inserirle tutte nel blocco env. L’elenco completo si trova nel riferimento alle variabili d’ambiente di Anthropic.
Errori comuni e relativo significato
Not logged in · Please run /login, oppure la schermata di accesso al primo avvio
Claude Code non ha trovato un token. Controlla tre cose: un errore JSON che gli ha fatto ignorare il file, l’assenza di ANTHROPIC_AUTH_TOKEN oppure un token presente solo in un file del progetto. La procedura di accesso viene eseguita prima che vengano caricate le impostazioni del progetto, quindi sposta il token in ~/.claude/settings.json.
Invalid or malformed JSON
Il file indicato nel messaggio contiene un commento, una virgola finale o un altro errore di sintassi, quindi nessuna delle sue impostazioni è stata applicata.
There's an issue with the selected model (...)
L’ID del modello è errato oppure l’URL di base termina in /v1 e la richiesta è stata inviata a /v1/v1/messages. Se l’ID del modello sembra corretto, controlla prima l’URL.
API Error: 400 con This model ID is incorrect
AIHubMix non dispone di un modello con quell’ID e il messaggio ripete l’ID ricevuto. Di solito si tratta di un errore di battitura. Copia di nuovo l’ID dall’elenco dei modelli AIHubMix.
Failed to authenticate. API Error: 401 invalid key: ...
AIHubMix non accetta la chiave. Il messaggio termina con gli ultimi sei caratteri della chiave ricevuta: confrontali con la fine del tuo token. PI_KEY significa che al posto di una chiave reale è stato incollato il segnaposto AIHUBMIX_API_KEY. In tutti gli altri casi, di solito è stata inviata una vecchia ANTHROPIC_API_KEY dalla shell. Se invece il messaggio dice this key is not enabled, verifica nella console AIHubMix che la chiave sia abilitata e disponga di credito.
auth may not work as expected
Sono attivi sia una variabile token sia un accesso salvato a claude.ai. Esegui /logout per continuare a usare il gateway, oppure rimuovi la variabile per tornare al tuo abbonamento.
Claude Code doesn't recognize the model ...
È un avviso, non un errore: la richiesta viene comunque inviata, ma Claude Code presume una finestra di contesto da 200K token. Se l’ID appartiene a un modello Claude più recente, claude update risolve il problema.
Con una chiave non valida, sembra bloccarsi
Claude Code riprova le richieste non riuscite fino a 10 volte. In un test con una chiave che non funzionava mai, claude -p ha continuato a riprovare per circa tre minuti. Riduci CLAUDE_CODE_MAX_RETRIES per visualizzare prima l’errore.
Se vuoi usare una sola chiave per Claude in Claude Code e per OpenAI, Google e altri fornitori negli altri strumenti, AIHubMix rende disponibile l’API Anthropic all’indirizzo https://aihubmix.com. A Claude Code basta il file delle impostazioni qui sopra.
Domande frequenti
Dove si trova settings.json di Claude Code?
Il tuo file personale è ~/.claude/settings.json, oppure %USERPROFILE%.claude\settings.json su Windows. Un progetto può avere anche .claude/settings.json, condiviso tramite git, e .claude/settings.local.json, riservato a te. Claude Code non li crea durante l’installazione.
settings.json ha la precedenza sulle variabili d’ambiente?
Sì. Un valore nel blocco env di un file di impostazioni sovrascrive la stessa variabile esportata nella shell. Le variabili che il file non imposta, come una vecchia ANTHROPIC_API_KEY, continuano a provenire dalla shell.
È meglio usare ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY?
Usa quella letta dal tuo gateway. ANTHROPIC_AUTH_TOKEN invia un token Bearer e non richiede approvazione. Per AIHubMix, ANTHROPIC_AUTH_TOKEN è la scelta documentata. Non impostarle entrambe: AIHubMix legge prima x-api-key, quindi una ANTHROPIC_API_KEY obsoleta causa un errore 401.
ANTHROPIC_BASE_URL deve terminare con /v1?
No. Claude Code aggiunge /v1/messages autonomamente. Per AIHubMix, usa https://aihubmix.com.
Devo riavviare Claude Code dopo aver modificato settings.json?
La maggior parte delle modifiche, incluse quelle alle variabili d’ambiente, viene applicata al salvataggio. La chiave del modello e le esportazioni nella shell richiedono un riavvio. Riavviare è la scelta più sicura.
Perché VS Code mi chiede di accedere se la CLI funziona?
Prima di avviarsi, l’estensione controlla che sia stato effettuato l’accesso tramite l’impostazione claudeCode.environmentVariables, e i valori in ~/.claude/settings.json non sono disponibili per questo controllo. Aggiungi lì l’URL di base e il token, poi ricarica la finestra.
Impostare ANTHROPIC_BASE_URL utilizza il mio abbonamento Claude?
Solo se non è impostato alcun token. Se ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY è impostato, le richieste usano quella chiave e il gateway applica una tariffa per token.
Fonti
- File di impostazioni e precedenza, Anthropic
- Variabili d’ambiente, Anthropic
- Connettere Claude Code a un gateway LLM, Anthropic
- Configurazione del modello, Anthropic
- Guida all’integrazione di Claude Code, AIHubMix



