SpyBara
Go Premium

Documentation 2026-06-24 22:02 UTC to 2026-06-25 06:58 UTC

22 files changed +1,145 −229. View all changes and history on the product overview
2026
Thu 25 06:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +2 −2

Details

74Le impostazioni gestite possono bloccare gli strumenti, l'esecuzione sandbox, limitare i server MCP e le fonti di plugin e controllare quali hook vengono eseguiti. Ogni riga è una superficie di controllo con le chiavi di impostazione che la guidano.74Le impostazioni gestite possono bloccare gli strumenti, l'esecuzione sandbox, limitare i server MCP e le fonti di plugin e controllare quali hook vengono eseguiti. Ogni riga è una superficie di controllo con le chiavi di impostazione che la guidano.

75 75 

76| Controllo | Cosa fa | Impostazioni chiave |76| Controllo | Cosa fa | Impostazioni chiave |

77| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |77| :------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |

78| [Permission rules](/it/permissions) | Consenti, chiedi o nega strumenti e comandi specifici | `permissions.allow`, `permissions.deny` |78| [Permission rules](/it/permissions) | Consenti, chiedi o nega strumenti e comandi specifici | `permissions.allow`, `permissions.deny` |

79| [Permission lockdown](/it/permissions#managed-only-settings) | Solo le regole di autorizzazione gestite si applicano; disabilita `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |79| [Permission lockdown](/it/permissions#managed-only-settings) | Solo le regole di autorizzazione gestite si applicano; disabilita `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

80| [Sandboxing](/it/sandboxing) | Isolamento del filesystem e della rete a livello di sistema operativo con allowlist di domini | `sandbox.enabled`, `sandbox.network.allowedDomains` |80| [Sandboxing](/it/sandboxing) | Isolamento del filesystem e della rete a livello di sistema operativo con allowlist di domini | `sandbox.enabled`, `sandbox.network.allowedDomains` |


84| [Customization lockdown](/it/settings#strictpluginonlycustomization) | Bloccare skills, agents, hooks e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite | `strictPluginOnlyCustomization` |84| [Customization lockdown](/it/settings#strictpluginonlycustomization) | Bloccare skills, agents, hooks e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite | `strictPluginOnlyCustomization` |

85| [Hook restrictions](/it/settings#hook-configuration) | Solo gli hook gestiti vengono caricati; limitare gli URL degli hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |85| [Hook restrictions](/it/settings#hook-configuration) | Solo gli hook gestiti vengono caricati; limitare gli URL degli hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Disable agent view](/it/agent-view#how-background-sessions-are-hosted) | Disattivare `claude agents`, `--bg`, `/background` e il supervisore on-demand | `disableAgentView` |86| [Disable agent view](/it/agent-view#how-background-sessions-are-hosted) | Disattivare `claude agents`, `--bg`, `/background` e il supervisore on-demand | `disableAgentView` |

87| [Model restrictions](/it/model-config#restrict-model-selection) | Limitare quali modelli gli utenti possono selezionare e, facoltativamente, applicare anche l'allowlist alla selezione del modello predefinito. Consulta [surface coverage](/it/model-config#surface-coverage) per come questa impostazione raggiunge la CLI, il web e l'IDE | `availableModels`, `enforceAvailableModels` |87| [Model restrictions](/it/model-config#restrict-model-selection) | `availableModels` filtra quali modelli appaiono nel selettore. L'aggiunta di `enforceAvailableModels` vincola anche il modello predefinito selezionato automaticamente. Consulta [surface coverage](/it/model-config#surface-coverage) per come questa impostazione raggiunge la CLI, il web e l'IDE | `availableModels`, `enforceAvailableModels` |

88| [Version floor](/it/settings) | Impedire all'aggiornamento automatico di installare al di sotto di un minimo a livello di organizzazione | `minimumVersion` |88| [Version floor](/it/settings) | Impedire all'aggiornamento automatico di installare al di sotto di un minimo a livello di organizzazione | `minimumVersion` |

89| [Required version range](/it/settings) | Rifiutare di avviarsi completamente quando la versione in esecuzione è al di fuori di un intervallo approvato dall'organizzazione. Più forte di `minimumVersion`, che blocca solo i downgrade | `requiredMinimumVersion`, `requiredMaximumVersion` |89| [Required version range](/it/settings) | Rifiutare di avviarsi completamente quando la versione in esecuzione è al di fuori di un intervallo approvato dall'organizzazione. Più forte di `minimumVersion`, che blocca solo i downgrade | `requiredMinimumVersion`, `requiredMaximumVersion` |

90 90 

Details

86`settingSources` copre le impostazioni utente, progetto e locali. Alcuni input vengono letti indipendentemente dal suo valore:86`settingSources` copre le impostazioni utente, progetto e locali. Alcuni input vengono letti indipendentemente dal suo valore:

87 87 

88| Input | Comportamento | Per disabilitare |88| Input | Comportamento | Per disabilitare |

89| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |89| :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

90| Impostazioni dei criteri gestiti | Criterio gestito dall'endpoint, sia che si tratti di plist MDM, criterio del registro o file di impostazioni gestite, carica dall'host; le [impostazioni gestite dal server](/it/server-managed-settings) vengono recuperate quando la sessione si autentica con un accesso OAuth dell'organizzazione o una chiave API configurata direttamente, su una [configurazione idonea](/it/server-managed-settings#platform-availability) | Criterio dell'endpoint: rimuovi il file delle impostazioni gestite, plist o criterio del registro dall'host. Impostazioni gestite dal server: controllate dall'amministratore dell'organizzazione; non possono essere disabilitate dall'SDK |90| Impostazioni dei criteri gestiti | Criterio gestito dall'endpoint, sia che si tratti di plist MDM, criterio del registro o file di impostazioni gestite, carica dall'host. Le [impostazioni gestite dal server](/it/server-managed-settings) vengono recuperate su una [configurazione idonea](/it/server-managed-settings#platform-availability) quando la sessione si autentica con un accesso OAuth dell'organizzazione o una chiave API configurata direttamente | Criterio dell'endpoint: rimuovi il file delle impostazioni gestite, plist o criterio del registro dall'host. Impostazioni gestite dal server: controllate dall'amministratore dell'organizzazione; non possono essere disabilitate dall'SDK |

91| Configurazione globale `~/.claude.json` | Sempre letta | Riposiziona con `CLAUDE_CONFIG_DIR` in `env` |91| Configurazione globale `~/.claude.json` | Sempre letta | Riposiziona con `CLAUDE_CONFIG_DIR` in `env` |

92| Memoria automatica in `~/.claude/projects/<project>/memory/` | Caricata per impostazione predefinita nel prompt di sistema | Imposta `autoMemoryEnabled: false` nelle impostazioni, o `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` in `env` |92| Memoria automatica in `~/.claude/projects/<project>/memory/` | Caricata per impostazione predefinita nel prompt di sistema | Imposta `autoMemoryEnabled: false` nelle impostazioni, o `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` in `env` |

93| [Connettori MCP da claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) | Caricati quando il metodo di autenticazione attivo è un abbonamento a claude.ai. Passare `mcpServers: {}` non li sopprime | Imposta `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/it/mcp#disable-claude-ai-connectors) nelle impostazioni, o `ENABLE_CLAUDEAI_MCP_SERVERS=false` in `env` |93| [Connettori MCP da claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) | Caricati quando il metodo di autenticazione attivo è un abbonamento a claude.ai. Passare `mcpServers: {}` non li sopprime | Imposta `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/it/mcp#disable-claude-ai-connectors) nelle impostazioni, o `ENABLE_CLAUDEAI_MCP_SERVERS=false` in `env` |

Details

214 214 

215Utilizzate i matcher per filtrare quando i vostri callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica. Consultate il [riferimento degli hooks di Claude Code](/it/hooks#matcher-patterns) per l'elenco completo dei valori di matcher per ogni tipo di evento.215Utilizzate i matcher per filtrare quando i vostri callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica. Consultate il [riferimento degli hooks di Claude Code](/it/hooks#matcher-patterns) per l'elenco completo dei valori di matcher per ogni tipo di evento.

216 216 

217I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/it/hooks#matcher-patterns): un matcher contenente solo lettere, cifre, `_` e `|` viene confrontato come una stringa esatta, con `|` che separa le alternative, quindi `Write|Edit` corrisponde esattamente a questi due strumenti. Un matcher di `*`, una stringa vuota, o l'omissione del matcher interamente corrisponde a ogni occorrenza dell'evento; un matcher contenente qualsiasi altro carattere viene valutato come un'espressione regolare, quindi `^mcp__` corrisponde a ogni strumento MCP. Un matcher come `mcp__memory` contiene solo lettere e sottolineature, quindi viene confrontato come una stringa esatta e non corrisponde a nessuno strumento; utilizzate `mcp__memory__.*` per corrispondere a ogni strumento da quel server.217I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/it/hooks#matcher-patterns): un matcher contenente solo lettere, cifre, `_`, spazi, `,` e `|` viene confrontato come una stringa esatta, con alternative separate da `|` o `,` e spazi bianchi opzionali circostanti, quindi `Write|Edit` e `Write, Edit` corrispondono esattamente a questi due strumenti. Un matcher di `*`, una stringa vuota, o l'omissione del matcher interamente corrisponde a ogni occorrenza dell'evento; un matcher contenente qualsiasi altro carattere viene valutato come un'espressione regolare, quindi `^mcp__` corrisponde a ogni strumento MCP. Un matcher come `mcp__memory` contiene solo lettere e sottolineature, quindi viene confrontato come una stringa esatta e non corrisponde a nessuno strumento; utilizzate `mcp__memory__.*` per corrispondere a ogni strumento da quel server.

218 218 

219| Opzione | Tipo | Predefinito | Descrizione |219| Opzione | Tipo | Predefinito | Descrizione |

220| --------- | ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |220| --------- | ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

Details

477export CLAUDE_CODE_USE_MANTLE=1477export CLAUDE_CODE_USE_MANTLE=1

478```478```

479 479 

480Per visualizzare un modello Mantle nel selettore `/model`, elenca il suo ID in `availableModels` nel tuo [file di impostazioni](/it/settings). Questa impostazione limita anche il selettore alle voci elencate. L'elenco di `anthropic.claude-haiku-4-5` rimuove l'alias bare `haiku` dal selettore, quindi elenca anche i prefissi di versione o gli ID completi per le versioni che desideri mantenere selezionabili. Vedi [Comportamento di unione](/it/model-config#merge-behavior):480Per visualizzare un modello Mantle nel selettore `/model`, elenca il suo ID in `availableModels` nel tuo [file di impostazioni](/it/settings). Questa impostazione limita anche il selettore alle voci elencate. L'elenco di `anthropic.claude-haiku-4-5` rimuove l'alias bare `haiku` dal selettore, quindi elenca anche i prefissi di versione o gli ID completi per le versioni che desideri mantenere selezionabili. L'ID Mantle e l'alias `haiku` si risolvono nella stessa famiglia di modelli, quindi l'unione mantiene solo la voce più specifica. Vedi [Comportamento di unione](/it/model-config#merge-behavior):

481 481 

482```json theme={null}482```json theme={null}

483{483{

Details

136* **Intervalli di aggiornamento**: per impostazione predefinita, `apiKeyHelper` viene chiamato dopo 5 minuti o in risposta a HTTP 401. Impostate la variabile di ambiente `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` per intervalli di aggiornamento personalizzati.136* **Intervalli di aggiornamento**: per impostazione predefinita, `apiKeyHelper` viene chiamato dopo 5 minuti o in risposta a HTTP 401. Impostate la variabile di ambiente `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` per intervalli di aggiornamento personalizzati.

137* **Avviso di helper lento**: se `apiKeyHelper` impiega più di 10 secondi per restituire una chiave, Claude Code visualizza un avviso nella barra del prompt mostrando il tempo trascorso. Se vedete questo avviso regolarmente, verificate se lo script di credenziali può essere ottimizzato.137* **Avviso di helper lento**: se `apiKeyHelper` impiega più di 10 secondi per restituire una chiave, Claude Code visualizza un avviso nella barra del prompt mostrando il tempo trascorso. Se vedete questo avviso regolarmente, verificate se lo script di credenziali può essere ottimizzato.

138 138 

139`apiKeyHelper`, `ANTHROPIC_API_KEY`, e `ANTHROPIC_AUTH_TOKEN` si applicano solo alle sessioni CLI del terminale. Claude Desktop e le sessioni cloud utilizzano esclusivamente OAuth e non chiamano `apiKeyHelper` né leggono variabili di ambiente della chiave API.139`apiKeyHelper`, `ANTHROPIC_API_KEY`, e `ANTHROPIC_AUTH_TOKEN` si applicano alla CLI e alle superfici che la avvolgono, inclusa l'estensione VS Code, l'Agent SDK, e GitHub Actions. Claude Desktop e le sessioni cloud non chiamano `apiKeyHelper` né leggono queste variabili di ambiente: utilizzano OAuth, ad eccezione delle sessioni desktop che eseguono una [configurazione di inferenza di terze parti distribuita dall'organizzazione](/it/llm-gateway-connect#desktop-app), che si autenticano con le credenziali di quella configurazione.

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 Precedenza di autenticazione142 Precedenza di autenticazione

Details

47 47 

48Scegliendo Riassumi fino a qui ti lascia alla fine della conversazione con l'input vuoto.48Scegliendo Riassumi fino a qui ti lascia alla fine della conversazione con l'input vuoto.

49 49 

50<h4 id="rewind-past-a-cleared-conversation">

51 Riavvolgi oltre una conversazione cancellata

52</h4>

53 

54Se hai eseguito `/clear` in precedenza nello stesso processo Claude Code, il menu di riavvolgimento mostra una voce aggiuntiva in cima all'elenco etichettata `/resume <session-id> (previous session)`. Selezionala per riprendere la conversazione che era attiva prima che `/clear` venisse eseguito. La voce è disponibile fino a quando non esci da Claude Code o riprendi una sessione diversa, e richiede Claude Code v2.1.191 o versione successiva. Nelle versioni precedenti, esegui `/resume` e scegli la sessione precedente dall'elenco.

55 

50<h4 id="restore-vs-summarize">56<h4 id="restore-vs-summarize">

51 Ripristina vs. riassumi57 Ripristina vs. riassumi

52</h4>58</h4>

costs.md +1 −1

Details

51 Per le organizzazioni con limiti di velocità personalizzati, il traffico di Claude Code in questa area di lavoro conta verso i limiti di velocità API complessivi della tua organizzazione. Puoi impostare un [limite di velocità dell'area di lavoro](https://platform.claude.com/docs/it/api/rate-limits#setting-lower-limits-for-workspaces) sulla pagina Limits di questa area di lavoro nella Claude Console per limitare la quota di Claude Code e proteggere altri carichi di lavoro di produzione.51 Per le organizzazioni con limiti di velocità personalizzati, il traffico di Claude Code in questa area di lavoro conta verso i limiti di velocità API complessivi della tua organizzazione. Puoi impostare un [limite di velocità dell'area di lavoro](https://platform.claude.com/docs/it/api/rate-limits#setting-lower-limits-for-workspaces) sulla pagina Limits di questa area di lavoro nella Claude Console per limitare la quota di Claude Code e proteggere altri carichi di lavoro di produzione.

52</Note>52</Note>

53 53 

54Su Bedrock, Vertex e Foundry, Claude Code non invia metriche dal tuo cloud. Per ottenere metriche di costo, diversi grandi enterprise hanno riferito di utilizzare [LiteLLM](/it/llm-gateway#litellm-configuration), uno strumento open-source che aiuta le aziende a [tracciare la spesa per chiave](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). Questo progetto non è affiliato ad Anthropic e non è stato sottoposto a audit di sicurezza.54Su Bedrock, Vertex e Foundry, Claude Code non invia metriche dal tuo cloud. Le organizzazioni che già instradano Claude Code attraverso un [gateway LLM](/it/llm-gateway) possono tracciare la spesa lì, poiché il gateway vede ogni richiesta.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Raccomandazioni sui limiti di velocità57 Raccomandazioni sui limiti di velocità

env-vars.md +1 −1

Details

270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta su `1` per utilizzare il prompt di sistema minimo e le descrizioni degli strumenti compresse su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per rinunciare anche su modelli dove l'esperimento o la configurazione del server altrimenti lo abiliterebbero. Il set di strumenti completo, hook, server MCP e scoperta CLAUDE.md rimangono abilitati |270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta su `1` per utilizzare il prompt di sistema minimo e le descrizioni degli strumenti compresse su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per rinunciare anche su modelli dove l'esperimento o la configurazione del server altrimenti lo abiliterebbero. Il set di strumenti completo, hook, server MCP e scoperta CLAUDE.md rimangono abilitati |

271| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Salta l'autenticazione lato client per [Claude Platform on AWS](/it/claude-platform-on-aws), per gateway che firmano le richieste stessi |271| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Salta l'autenticazione lato client per [Claude Platform on AWS](/it/claude-platform-on-aws), per gateway che firmano le richieste stessi |

272| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Bedrock (ad esempio, quando si utilizza un gateway LLM) |272| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Bedrock (ad esempio, quando si utilizza un gateway LLM) |

273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry (ad esempio, quando si utilizza un gateway LLM) |273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry. Per un gateway, imposta la credenziale in `ANTHROPIC_FOUNDRY_API_KEY` invece; senza una chiave API questa variabile lascia il client Foundry incapace di inviare richieste |

274| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Bedrock Mantle (ad esempio, quando si utilizza un gateway LLM) |274| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Bedrock Mantle (ad esempio, quando si utilizza un gateway LLM) |

275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue` o nella cronologia della freccia su. Utile per sessioni di script effimere |275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue` o nella cronologia della freccia su. Utile per sessioni di script effimere |

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Vertex (ad esempio, quando si utilizza un gateway LLM) |276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Vertex (ad esempio, quando si utilizza un gateway LLM) |

errors.md +14 −2

Details

172* Ritenta l'azione; questo di solito ha successo al tentativo successivo172* Ritenta l'azione; questo di solito ha successo al tentativo successivo

173* Esegui `claude --debug` e ripeti l'azione per vedere la risposta del classificatore sottostante nel log di debug173* Esegui `claude --debug` e ripeti l'azione per vedere la risposta del classificatore sottostante nel log di debug

174 174 

175Quando una verifica di sicurezza API separata ha bloccato la richiesta del classificatore a causa del contenuto della conversazione precedente:

176 

177```text theme={null}

178Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details

179```

180 

181**Cosa fare:**

182 

183* Questa non è una decisione sulla tua azione. Un filtro di sicurezza sull'API è stato attivato dal contenuto esistente nella tua conversazione quando auto mode ha inviato la conversazione al classificatore

184* Il ritentativo non aiuterà; lo stesso contenuto della conversazione attiverà di nuovo il filtro

185* Passa a una [modalità di autorizzazione](/it/permission-modes) diversa in modo da poter approvare l'azione quando richiesto, o avvia una nuova conversazione senza il contenuto che attiva il filtro

186 

175Quando la conversazione è cresciuta più grande della finestra di contesto del classificatore:187Quando la conversazione è cresciuta più grande della finestra di contesto del classificatore:

176 188 

177```text theme={null}189```text theme={null}


486 498 

487* Conferma di poter raggiungere l'host API dalla stessa shell eseguendo `curl -I https://api.anthropic.com`. Su Windows PowerShell usa `curl.exe -I https://api.anthropic.com` in modo che l'alias `Invoke-WebRequest` integrato non venga utilizzato.499* Conferma di poter raggiungere l'host API dalla stessa shell eseguendo `curl -I https://api.anthropic.com`. Su Windows PowerShell usa `curl.exe -I https://api.anthropic.com` in modo che l'alias `Invoke-WebRequest` integrato non venga utilizzato.

488* Se sei dietro un proxy aziendale, imposta `HTTPS_PROXY` prima di lanciare Claude Code e vedi [Network configuration](/it/network-config)500* Se sei dietro un proxy aziendale, imposta `HTTPS_PROXY` prima di lanciare Claude Code e vedi [Network configuration](/it/network-config)

489* Se instrada attraverso un gateway LLM o relay, imposta [`ANTHROPIC_BASE_URL`](/it/env-vars) al suo indirizzo. Vedi [LLM gateway configuration](/it/llm-gateway) per la configurazione.501* Se instrada attraverso un gateway LLM o relay, imposta [`ANTHROPIC_BASE_URL`](/it/env-vars) al suo indirizzo. Vedi [Connect Claude Code to an LLM gateway](/it/llm-gateway-connect) per la configurazione.

490* Assicurati che il tuo firewall consenta gli host elencati in [Network access requirements](/it/network-config#network-access-requirements)502* Assicurati che il tuo firewall consenta gli host elencati in [Network access requirements](/it/network-config#network-access-requirements)

491* I guasti intermittenti vengono [ritentati automaticamente](#automatic-retries); i guasti persistenti indicano un problema di rete locale503* I guasti intermittenti vengono [ritentati automaticamente](#automatic-retries); i guasti persistenti indicano un problema di rete locale

492 504 


669 681 

670**Cosa fare:**682**Cosa fare:**

671 683 

672* Configura il tuo gateway per inviare l'intestazione `anthropic-beta`. Vedi [Configurazione del gateway LLM](/it/llm-gateway).684* Configura il tuo gateway per inviare l'intestazione `anthropic-beta`. Vedi [feature pass-through](/it/llm-gateway-protocol#feature-pass-through) per cosa i gateway devono inviare.

673* Come fallback, imposta [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/it/env-vars) prima di lanciare. Questo disabilita le funzioni che richiedono l'intestazione beta in modo che le richieste abbiano successo attraverso un gateway che non può inoltrarla.685* Come fallback, imposta [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/it/env-vars) prima di lanciare. Questo disabilita le funzioni che richiedono l'intestazione beta in modo che le richieste abbiano successo attraverso un gateway che non può inoltrarla.

674 686 

675<h3 id="there’s-an-issue-with-the-selected-model">687<h3 id="there’s-an-issue-with-the-selected-model">

fast-mode.md +1 −1

Details

115* **Abilitazione dell'amministratore per Team e Enterprise**: la modalità veloce è disabilitata per impostazione predefinita per le organizzazioni Team e Enterprise. Un amministratore deve esplicitamente [abilitare la modalità veloce](#enable-fast-mode-for-your-organization) prima che gli utenti possano accedervi.115* **Abilitazione dell'amministratore per Team e Enterprise**: la modalità veloce è disabilitata per impostazione predefinita per le organizzazioni Team e Enterprise. Un amministratore deve esplicitamente [abilitare la modalità veloce](#enable-fast-mode-for-your-organization) prima che gli utenti possano accedervi.

116 116 

117<Note>117<Note>

118 Se il tuo amministratore non ha abilitato la modalità veloce per la tua organizzazione, il comando `/fast` mostrerà "Fast mode has been disabled by your organization." Se l'elenco di consentiti [`availableModels`](/it/model-config#restrict-model-selection) della tua organizzazione esclude il modello Opus della modalità veloce, `/fast` viene rifiutato con "is not in your organization's allowed models". L'eccezione è una sessione già in esecuzione su un modello Opus consentito che supporta la modalità veloce: `/fast` si applica quindi a quel modello.118 Se il tuo amministratore non ha abilitato la modalità veloce per la tua organizzazione, il comando `/fast` mostrerà "Fast mode has been disabled by your organization." Se l'elenco di consentiti [`availableModels`](/it/model-config#restrict-model-selection) della tua organizzazione esclude il modello Opus della modalità veloce, `/fast` viene rifiutato con "is not in your organization's allowed models". L'eccezione è una sessione già in esecuzione su un modello Opus consentito che supporta la modalità veloce: `/fast` abilita la modalità veloce sul tuo modello attuale invece di cambiare modelli.

119</Note>119</Note>

120 120 

121<h3 id="enable-fast-mode-for-your-organization">121<h3 id="enable-fast-mode-for-your-organization">

glossary.md +1 −1

Details

208 Managed settings208 Managed settings

209</h3>209</h3>

210 210 

211Impostazioni applicate a livello di organizzazione da IT o DevOps, fornite dai server di Anthropic tramite la console di amministrazione o distribuite ai dispositivi in un percorso a livello di OS al di fuori di `~/.claude`. Gli utenti non possono ignorare le impostazioni gestite da ambiti con precedenza inferiore. La distribuzione gestita dal server si applica alle [configurazioni idonee](/it/server-managed-settings#platform-availability); consulta le [Considerazioni sulla sicurezza](/it/server-managed-settings#security-considerations). Usalo per politiche di sicurezza, requisiti di conformità o tooling standardizzato su una flotta.211Impostazioni applicate a livello di organizzazione da IT o DevOps, fornite dai server di Anthropic tramite la console di amministrazione o distribuite ai dispositivi in un percorso a livello di OS al di fuori di `~/.claude`. Le impostazioni gestite non possono essere ignorate dalle impostazioni utente e di progetto. La distribuzione gestita dal server si applica alle [configurazioni idonee](/it/server-managed-settings#platform-availability); consulta le [Considerazioni sulla sicurezza](/it/server-managed-settings#security-considerations). Usalo per politiche di sicurezza, requisiti di conformità o tooling standardizzato su una flotta.

212 212 

213Scopri di più: [Server-managed settings](/it/server-managed-settings) · [Settings files](/it/settings#settings-files)213Scopri di più: [Server-managed settings](/it/server-managed-settings) · [Settings files](/it/settings#settings-files)

214 214 

hooks.md +4 −2

Details

191Il campo `matcher` filtra quando gli hook si attivano. Come viene valutato un matcher dipende dai caratteri che contiene:191Il campo `matcher` filtra quando gli hook si attivano. Come viene valutato un matcher dipende dai caratteri che contiene:

192 192 

193| Valore del matcher | Valutato come | Esempio |193| Valore del matcher | Valutato come | Esempio |

194| :--------------------------------- | :---------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |194| :------------------------------------------ | :--------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""` o omesso | Corrisponde a tutti | si attiva ad ogni occorrenza dell'evento |195| `"*"`, `""` o omesso | Corrisponde a tutti | si attiva ad ogni occorrenza dell'evento |

196| Solo lettere, cifre, `_` e `\|` | Stringa esatta o elenco di stringhe esatte separate da `\|` | `Bash` corrisponde solo allo strumento Bash; `Edit\|Write` corrisponde a entrambi gli strumenti esattamente |196| Solo lettere, cifre, `_`, spazi, `,` e `\|` | Stringa esatta, o elenco di stringhe esatte separate da `\|` o `,` con spazi bianchi opzionali circostanti | `Bash` corrisponde solo allo strumento Bash; `Edit\|Write` e `Edit, Write` corrispondono ciascuno a entrambi gli strumenti esattamente |

197| Contiene qualsiasi altro carattere | Espressione regolare JavaScript | `^Notebook` corrisponde a qualsiasi strumento che inizia con Notebook; `mcp__memory__.*` corrisponde a ogni strumento dal server `memory` |197| Contiene qualsiasi altro carattere | Espressione regolare JavaScript | `^Notebook` corrisponde a qualsiasi strumento che inizia con Notebook; `mcp__memory__.*` corrisponde a ogni strumento dal server `memory` |

198 198 

199I separatori di virgola e la tolleranza dello spazio bianco circostante richiedono Claude Code v2.1.191 o successivo. Gli eventi `FileChanged` e `StopFailure` accettano solo `|` come separatore di elenco e trattano `,` come carattere letterale; tutti gli altri eventi elencati nella tabella seguente accettano `|` o `,`.

200 

199L'evento `FileChanged` non segue queste regole quando costruisce il suo elenco di osservazione. Consultare [FileChanged](#filechanged).201L'evento `FileChanged` non segue queste regole quando costruisce il suo elenco di osservazione. Consultare [FileChanged](#filechanged).

200 202 

201Ogni tipo di evento corrisponde a un campo diverso:203Ogni tipo di evento corrisponde a un campo diverso:

Details

155</h3>155</h3>

156 156 

157| Comando | Azione |157| Comando | Azione |

158| :-------------- | :--------------------------------------------------------- |158| :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

159| `h`/`j`/`k`/`l` | Sposta sinistra/giù/su/destra |159| `h`/`j`/`k`/`l` | Sposta sinistra/giù/su/destra |

160| `Space` | Sposta a destra |160| `Space` | Sposta a destra |

161| `w` | Parola successiva |161| `w` | Parola successiva |


172| `T{char}` | Salta appena dopo la precedente occorrenza del carattere |172| `T{char}` | Salta appena dopo la precedente occorrenza del carattere |

173| `;` | Ripeti l'ultimo movimento f/F/t/T |173| `;` | Ripeti l'ultimo movimento f/F/t/T |

174| `,` | Ripeti l'ultimo movimento f/F/t/T in ordine inverso |174| `,` | Ripeti l'ultimo movimento f/F/t/T in ordine inverso |

175| `/` | Apri ricerca cronologia inversa, come `Ctrl+R` |175| `/` | Apri ricerca cronologia inversa, come `Ctrl+R`. {/* min-version: 2.1.191 */}A partire dalla v2.1.191, il prompt di ricerca vuoto mostra un suggerimento: premete `Esc` poi `i` poi `/` per aprire il menu dei comandi |

176 176 

177<Note>177<Note>

178 In modalità normale vim, se il cursore è all'inizio o alla fine dell'input e non può muoversi ulteriormente, `j`/`k` e i tasti freccia navigano nella cronologia dei comandi.178 In modalità normale vim, se il cursore è all'inizio o alla fine dell'input e non può muoversi ulteriormente, `j`/`k` e i tasti freccia navigano nella cronologia dei comandi.

llm-gateway.md +64 −205

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Configurazione del gateway LLM5# Gateway LLM

6 6 

7> Scopri come configurare Claude Code per funzionare con soluzioni di gateway LLM. Copre i requisiti del gateway, la configurazione dell'autenticazione, la selezione del modello e la configurazione degli endpoint specifici del provider.7> Instrada Claude Code attraverso un gateway LLM per l'autenticazione centralizzata, il tracciamento dell'utilizzo e i controlli dei costi. Copre il collegamento di Claude Code a un gateway, il rollout per la tua organizzazione, cosa Claude Code invia a un gateway e come i gateway interagiscono con gli abbonamenti a claude.ai.

8 8 

9I gateway LLM forniscono un livello proxy centralizzato tra Claude Code e i provider di modelli, spesso fornendo:9Un gateway LLM è un proxy che la tua organizzazione esegue tra Claude Code e un provider di modelli. Claude Code invia il traffico API al gateway, e il gateway lo inoltra al provider utilizzando una credenziale che la tua organizzazione controlla.

10 10 

11* **Autenticazione centralizzata** - Punto singolo per la gestione delle chiavi API11Questa pagina copre:

12* **Tracciamento dell'utilizzo** - Monitora l'utilizzo tra team e progetti

13* **Controlli dei costi** - Implementa budget e limiti di velocità

14* **Registrazione di audit** - Traccia tutte le interazioni del modello per la conformità

15* **Instradamento dei modelli** - Passa da un provider all'altro senza modifiche al codice

16 12 

17Questa pagina copre i requisiti del gateway e la configurazione per Claude Code CLI. Le distribuzioni Enterprise Desktop possono configurare i provider gateway tramite [impostazioni gestite](https://support.claude.com/it/articles/12622667-enterprise-configuration). L'app Claude Desktop può anche funzionare su un gateway self-hosted tramite l'[anteprima di ricerca Cowork on 3P](https://claude.com/docs/cowork/3p/gateway), che utilizza le proprie chiavi di configurazione.13* [Cosa fornisce un gateway](#what-a-gateway-provides)

18 14* [Come funzionano l'instradamento e le credenziali](#how-a-gateway-works)

19<h2 id="gateway-requirements">15* [I passaggi per eseguire il rollout](#roll-out-a-gateway)

20 Requisiti del gateway16* [Come i gateway interagiscono con gli abbonamenti a claude.ai](#subscriptions-and-gateways)

21</h2>17* [Cosa viene configurato separatamente dal gateway](#configure-separately-from-the-gateway)

22 

23Affinché un gateway LLM funzioni con Claude Code, deve soddisfare i seguenti requisiti:

24 

25**Formato API**

26 

27Il gateway deve esporre ai client almeno uno dei seguenti formati API:

28 

291. **Anthropic Messages**: `/v1/messages`, `/v1/messages/count_tokens`

30 * Deve inoltrare le intestazioni della richiesta: `anthropic-beta`, `anthropic-version`

31 

322. **Bedrock InvokeModel**: `/invoke`, `/invoke-with-response-stream`

33 * Deve preservare i campi del corpo della richiesta: `anthropic_beta`, `anthropic_version`

34 

353. **Vertex rawPredict**: `:rawPredict`, `:streamRawPredict`, `/count-tokens:rawPredict`

36 * Deve inoltrare le intestazioni della richiesta: `anthropic-beta`, `anthropic-version`

37 

38Il mancato inoltro delle intestazioni o la mancata preservazione dei campi del corpo potrebbe causare una riduzione della funzionalità o l'impossibilità di utilizzare le funzionalità di Claude Code.

39 18 

40<Note>19<Note>

41 Claude Code determina quali funzionalità abilitare in base al formato API. Quando si utilizza il formato Anthropic Messages con Bedrock o Vertex, potrebbe essere necessario impostare la variabile di ambiente `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`.20 - Se sei uno sviluppatore che si connette a un gateway esistente: [collega Claude Code al tuo gateway](/it/llm-gateway-connect)

21 - Se sei un amministratore che esegue il rollout di un gateway per la tua organizzazione: [distribuisci e distribuisci un gateway](/it/llm-gateway-rollout)

22 - Se stai configurando un prodotto gateway: il [riferimento del protocollo gateway](/it/llm-gateway-protocol)

42</Note>23</Note>

43 24 

44**Intestazioni della richiesta**25<h2 id="what-a-gateway-provides">

45 26 Cosa fornisce un gateway

46Claude Code include le seguenti intestazioni su ogni richiesta API:

47 

48| Intestazione | Descrizione |

49| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

50| `X-Claude-Code-Session-Id` | Un identificatore univoco per la sessione Claude Code corrente. I proxy possono utilizzarlo per aggregare tutte le richieste API da una singola sessione senza analizzare il corpo della richiesta. |

51| `X-Claude-Code-Agent-Id` | Identificatore del subagent o del teammate che ha emesso la richiesta. Il vostro proxy può utilizzarlo per attribuire il costo API ai singoli subagent paralleli all'interno di una sessione, senza analizzare il corpo della richiesta. Presente solo per le richieste effettuate da un subagent o teammate in-process. |

52| `X-Claude-Code-Parent-Agent-Id` | Identificatore dell'agente che ha generato l'agente che effettua la richiesta. Utilizzatelo insieme a `X-Claude-Code-Agent-Id` per attribuire i costi API tra gli agenti annidati nel vostro proxy. Presente solo quando l'agente richiedente è stato a sua volta generato da un altro agente. |

53 

54Entrambe le intestazioni dell'ID agente sono identificatori effimeri per spawn, non ID utente o dispositivo persistenti.

55 

56Claude Code inoltre antepone un breve blocco di attribuzione al prompt di sistema contenente la versione del client e un'impronta digitale derivata dalla conversazione. L'API Anthropic rimuove questo blocco prima dell'elaborazione, quindi non influisce sulla memorizzazione nella cache del prompt di prima parte. Se il vostro gateway implementa la propria cache del prompt con chiave sul corpo della richiesta completo, impostate [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/it/env-vars) per ometterlo.

57 

58<h2 id="configuration">

59 Configurazione

60</h2>27</h2>

61 28 

62<h3 id="model-selection">29Un gateway offre alla tua organizzazione un unico posto per gestire:

63 Selezione del modello

64</h3>

65 

66Per impostazione predefinita, Claude Code utilizza nomi di modelli standard per il formato API selezionato.

67 30 

68Quando `ANTHROPIC_BASE_URL` punta a un gateway che espone il formato Anthropic Messages, Claude Code interroga l'endpoint `/v1/models` del gateway all'avvio e aggiunge i modelli restituiti al selettore `/model`. Impostare `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` per abilitare questa funzionalità. La scoperta è disabilitata per impostazione predefinita in modo che i gateway supportati da una chiave API condivisa non espongano ogni modello a cui la chiave può accedere a ogni utente. Ogni voce scoperta è etichettata "From gateway" e utilizza il campo `display_name` dalla risposta quando fornito. Ciò richiede Claude Code v2.1.129 o successivo.31* **Credenziali**: la chiave del provider rimane lato server; gli sviluppatori mantengono invece le credenziali del gateway

32* **Tracciamento dell'utilizzo**: attribuisci l'utilizzo per sviluppatore o team, indipendentemente da quale provider serve la richiesta

33* **Controlli dei costi**: applica budget e limiti di velocità in un unico posto

34* **Registrazione di audit**: registra ogni richiesta di modello per la conformità

35* **Cambio di provider**: cambia il provider nella configurazione del gateway, senza toccare le macchine degli sviluppatori

69 36 

70La scoperta si applica solo al formato Anthropic Messages. Non viene eseguita per gli endpoint pass-through Bedrock o Vertex e non viene eseguita quando `ANTHROPIC_BASE_URL` non è impostato o punta a `api.anthropic.com`.37Tutti questi, tranne il cambio di provider, si applicano sia che l'upstream sia l'API di Anthropic che un [provider cloud](/it/third-party-integrations).

71 38 

72La richiesta di scoperta si autentica nello stesso modo delle richieste di inferenza: invia `ANTHROPIC_AUTH_TOKEN` come token bearer, o `ANTHROPIC_API_KEY` come intestazione `x-api-key` quando nessun token di autenticazione è impostato, insieme a qualsiasi intestazione da `ANTHROPIC_CUSTOM_HEADERS`. Solo i modelli il cui ID inizia con `claude` o `anthropic` vengono aggiunti al selettore. I risultati vengono memorizzati nella cache in `~/.claude/cache/gateway-models.json` e aggiornati a ogni avvio. Se la richiesta non riesce o il gateway non implementa `/v1/models`, il selettore ritorna all'elenco memorizzato nella cache dall'avvio precedente o all'elenco di modelli integrato.39Il compromesso è che il gateway diventa un'infrastruttura che la tua organizzazione gestisce. Claude Code aggiunge funzionalità con ogni rilascio, e un gateway che non le inoltra interrompe le funzionalità corrispondenti, quindi il prodotto gateway deve essere mantenuto aggiornato man mano che Claude Code evolve. Il [riferimento del protocollo gateway](/it/llm-gateway-protocol) copre cosa inoltrare.

73 40 

74Se il tuo gateway utilizza nomi di modelli che non corrispondono al filtro di scoperta, utilizza le variabili di ambiente documentate in [Configurazione del modello](/it/model-config) per aggiungerli manualmente.41<h2 id="how-a-gateway-works">

75 42 Come funziona un gateway

76<h2 id="litellm-configuration">

77 Configurazione di LiteLLM

78</h2>43</h2>

79 44 

80<Warning>45Per impostazione predefinita, Claude Code invia richieste direttamente all'API di Anthropic su `api.anthropic.com`. Per instradare attraverso un gateway, imposta `ANTHROPIC_BASE_URL` all'indirizzo del gateway; Claude Code invia le stesse richieste lì invece. Il gateway autentica lo sviluppatore, allega la credenziale del provider della tua organizzazione e inoltra ogni richiesta a qualunque provider sia configurato.

81 Le versioni PyPI di LiteLLM 1.82.7 e 1.82.8 sono state compromesse con malware che ruba credenziali. Non installare queste versioni. Se le hai già installate:

82 

83 * Rimuovi il pacchetto

84 * Ruota tutte le credenziali sui sistemi interessati

85 * Segui i passaggi di correzione in [BerriAI/litellm#24518](https://github.com/BerriAI/litellm/issues/24518)

86 

87 LiteLLM è un servizio proxy di terze parti. Anthropic non approva, mantiene o controlla la sicurezza o la funzionalità di LiteLLM. Questa guida è fornita a scopo informativo e potrebbe diventare obsoleta. Utilizzala a tua discrezione.

88</Warning>

89 

90<h3 id="prerequisites">

91 Prerequisiti

92</h3>

93 

94* Claude Code aggiornato all'ultima versione

95* LiteLLM Proxy Server distribuito e accessibile

96* Accesso ai modelli Claude attraverso il provider scelto

97 

98<h3 id="basic-litellm-setup">

99 Configurazione di base di LiteLLM

100</h3>

101 

102**Configura Claude Code**:

103 

104<h4 id="authentication-methods">

105 Metodi di autenticazione

106</h4>

107 46 

108<h5 id="static-api-key">47`ANTHROPIC_BASE_URL` è la variabile di indirizzo per la maggior parte dei gateway. Un gateway che fronteggia un provider cloud specifico, come Bedrock, Vertex, Foundry o la Claude Platform su AWS, utilizza invece la variabile di URL di base di quel provider; [Formati API](/it/llm-gateway-protocol#api-formats) elenca quale variabile va con ogni configurazione.

109 Chiave API statica

110</h5>

111 48 

112Metodo più semplice utilizzando una chiave API fissa:49<Frame>

50 <img src="https://mintcdn.com/claude-code/zIcIE_SQv4Z0Zbhc/images/llm-gateway-flow.svg?fit=max&auto=format&n=zIcIE_SQv4Z0Zbhc&q=85&s=490607d033d235694efb49a73a5b9e4b" alt="Diagramma che mostra Claude Code instradato attraverso un gateway LLM. In una zona di macchine sviluppatore, la CLI di Claude Code, l'estensione VS Code e i client SDK CI o Agent inviano richieste al gateway, con la variabile di URL di base per il formato API del gateway che punta ad esso e ogni sviluppatore che tiene una credenziale per sviluppatore, e l'app desktop raggiunge lo stesso gateway attraverso la configurazione distribuita dall'organizzazione. In una zona etichettata la tua infrastruttura, il gateway LLM gestisce l'autenticazione, il tracciamento dell'utilizzo, i budget e l'instradamento, e inoltra le richieste con la credenziale della tua organizzazione. In una zona di provider di modelli, una freccia solida porta al provider che configuri, mostrato come l'API di Anthropic, e frecce tratteggiate portano ad altre opzioni di provider, illustrate con Amazon Bedrock, Google Vertex AI e Microsoft Foundry come esempi." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

51</Frame>

113 52 

114```bash theme={null}53Due tipi di credenziale sono coinvolti:

115# Imposta nell'ambiente

116export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

117 54 

118# O nelle impostazioni di Claude Code55* **Credenziali sviluppatore**: ogni sviluppatore ne tiene una propria, emessa dal gateway. Autentica lo sviluppatore al gateway e lo identifica nel tracciamento dell'utilizzo

119{56* **Credenziale provider**: il gateway ne tiene una per il tuo account provider, condivisa da tutto il traffico inoltrato. Non esegui il provisioning delle chiavi del provider per sviluppatore

120 "env": {

121 "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"

122 }

123}

124```

125 57 

126Questo valore verrà inviato come intestazione `Authorization`.58Il gateway inoltra ogni richiesta al provider che configuri, come l'API di Anthropic, [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai), [Microsoft Foundry](/it/microsoft-foundry), o la [Claude Platform su AWS](/it/claude-platform-on-aws). Poiché Claude Code parla solo al gateway, la scelta del provider è la configurazione del gateway, non quella del client.

127 59 

128<h5 id="dynamic-api-key-with-helper">60<h2 id="roll-out-a-gateway">

129 Chiave API dinamica con helper61 Esegui il rollout di un gateway

130</h5>62</h2>

131 

132Per chiavi rotanti o autenticazione per utente:

133 

1341. Crea uno script helper per la chiave API:

135 

136```bash theme={null}

137#!/bin/bash

138# ~/bin/get-litellm-key.sh

139 

140# Esempio: Recupera la chiave dal vault

141vault kv get -field=api_key secret/litellm/claude-code

142 

143# Esempio: Genera token JWT

144jwt encode \

145 --secret="${JWT_SECRET}" \

146 --exp="+1h" \

147 '{"user":"'${USER}'","team":"engineering"}'

148```

149 

1502. Configura le impostazioni di Claude Code per utilizzare l'helper:

151 

152```json theme={null}

153{

154 "apiKeyHelper": "~/bin/get-litellm-key.sh"

155}

156```

157 

1583. Imposta l'intervallo di aggiornamento del token:

159 

160```bash theme={null}

161# Aggiorna ogni ora (3600000 ms)

162export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

163```

164 

165Questo valore verrà inviato come intestazioni `Authorization` e `X-Api-Key`. L'`apiKeyHelper` ha una precedenza inferiore rispetto a `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY`.

166 

167<h4 id="unified-endpoint-recommended">

168 Endpoint unificato (consigliato)

169</h4>

170 

171Utilizzando l'[endpoint in formato Anthropic](https://docs.litellm.ai/docs/anthropic_unified) di LiteLLM:

172 

173```bash theme={null}

174export ANTHROPIC_BASE_URL=https://litellm-server:4000

175```

176 

177**Vantaggi dell'endpoint unificato rispetto agli endpoint pass-through:**

178 

179* Bilanciamento del carico

180* Fallback

181* Supporto coerente per il tracciamento dei costi e il tracciamento dell'utente finale

182 

183<h4 id="provider-specific-pass-through-endpoints-alternative">

184 Endpoint pass-through specifici del provider (alternativa)

185</h4>

186 

187<h5 id="claude-api-through-litellm">

188 Claude API attraverso LiteLLM

189</h5>

190 

191Utilizzando l'[endpoint pass-through](https://docs.litellm.ai/docs/pass_through/anthropic_completion):

192 63 

193```bash theme={null}64Quando sei pronto a eseguire il rollout di un gateway LLM alla tua organizzazione, la sequenza è la stessa indipendentemente dal prodotto gateway che scegli:

194export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

195```

196 65 

197<h5 id="amazon-bedrock-through-litellm">661. Distribuisci il gateway e dagli la tua credenziale del provider, in modo che possa autenticare le richieste che inoltra.

198 Amazon Bedrock attraverso LiteLLM672. Emetti a ogni sviluppatore una credenziale del gateway, in modo che l'utilizzo sia attribuito allo sviluppatore e l'offboarding revoca una credenziale.

199</h5>683. Distribuisci la configurazione attraverso un [file di impostazioni gestite](/it/settings#settings-files) e il tuo strumento di segreti, in modo che ogni macchina riceva l'URL di base e una credenziale. Quando entrambi sono distribuiti, gli sviluppatori non configurano nulla. Se non hai la distribuzione delle impostazioni in atto, gli sviluppatori seguono la [pagina di connessione](/it/llm-gateway-connect) per impostare le variabili stessi.

694. Fai in modo che ogni sviluppatore [verifichi la configurazione in Claude Code](/it/llm-gateway-connect#check-for-an-existing-configuration), in modo che i problemi di distribuzione emergano prima che dipendano dal gateway.

200 70 

201Utilizzando l'[endpoint pass-through](https://docs.litellm.ai/docs/pass_through/bedrock):71[Esegui il rollout di un gateway LLM per la tua organizzazione](/it/llm-gateway-rollout) esamina ogni passaggio e mostra i file di configurazione da distribuire a ogni passaggio. Il gateway è una parte della configurazione dell'organizzazione; per l'applicazione delle politiche, la visibilità dell'utilizzo e le decisioni sulla gestione dei dati, vedi [Configura Claude Code per la tua organizzazione](/it/admin-setup).

202 72 

203```bash theme={null}73<h2 id="third-party-gateways">

204export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock74 Gateway di terze parti

205export CLAUDE_CODE_SKIP_BEDROCK_AUTH=175</h2>

206export CLAUDE_CODE_USE_BEDROCK=1

207```

208 76 

209<h5 id="google-vertex-ai-through-litellm">77Qualsiasi gateway che espone un [formato API supportato](/it/llm-gateway-protocol#api-formats) funziona. Anthropic non approva, mantiene o controlla i prodotti gateway di terze parti. Distribuiscili seguendo la loro documentazione, quindi completa il lato Claude Code del rollout con i [passaggi di rollout](/it/llm-gateway-rollout).

210 Google Vertex AI attraverso LiteLLM

211</h5>

212 78 

213Utilizzando l'[endpoint pass-through](https://docs.litellm.ai/docs/pass_through/vertex_ai):79<h2 id="subscriptions-and-gateways">

80 Abbonamenti e gateway

81</h2>

214 82 

215```bash theme={null}83Mentre una [variabile di credenziale del gateway](/it/llm-gateway-connect#set-the-credential-variable) o `apiKeyHelper` è attiva, l'abbonamento a claude.ai di uno sviluppatore non viene utilizzato: la credenziale sostituisce l'accesso all'abbonamento per quella sessione, e i limiti di utilizzo dell'abbonamento non si applicano. Quel traffico viene fatturato per token a chiunque possieda la credenziale che il gateway inoltra, come l'account Anthropic Console della tua organizzazione, o il tuo account Bedrock, Vertex o Foundry quando il gateway instrada lì.

216export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1

217export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

218export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

219export CLAUDE_CODE_USE_VERTEX=1

220export CLOUD_ML_REGION=us-east5

221```

222 84 

223<h5 id="claude-platform-on-aws-through-a-gateway">85Impostare solo `ANTHROPIC_BASE_URL`, senza una credenziale del gateway, non sostituisce l'abbonamento. Le richieste vengono comunque instradate attraverso il gateway, ma un accesso a claude.ai salvato rimane la credenziale attiva, quindi i suoi limiti di utilizzo e la fatturazione si applicano. I gateway che passano questo traffico ad Anthropic devono inoltrare la capacità OAuth in `anthropic-beta`; vedi il [riferimento delle intestazioni della richiesta](/it/llm-gateway-protocol#request-headers).

224 Claude Platform su AWS attraverso un gateway

225</h5>

226 86 

227Instrada verso un gateway che inoltra all'endpoint [Claude Platform su AWS](/it/claude-platform-on-aws):87<h2 id="configure-separately-from-the-gateway">

88 Configura separatamente dal gateway

89</h2>

228 90 

229```bash theme={null}91Un gateway determina dove vengono inviate le richieste API del modello. La selezione del modello, il resto del traffico di rete di Claude Code e i proxy aziendali sono configurati separatamente:

230export ANTHROPIC_AWS_BASE_URL=https://litellm-server:4000/anthropic-aws

231export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

232export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

233export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

234```

235 92 

236Per informazioni più dettagliate, consulta la [documentazione di LiteLLM](https://docs.litellm.ai/).93* **Selezione del modello**: l'URL di base decide dove vanno le richieste, non quale modello le risponde. Scegli il modello con il comando `/model` o le variabili di ambiente del modello; vedi [come impostare il tuo modello](/it/model-config#setting-your-model)

94* **Traffico lato client**: i controlli della versione e la telemetria facoltativa del client, entrambi disabilitati con [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/it/env-vars), e il traffico di accesso quando è in uso un accesso a claude.ai o Console, vanno agli endpoint di aggiornamento e autenticazione di Anthropic piuttosto che al gateway. Vedi [requisiti di accesso alla rete](/it/network-config#network-access-requirements) per i domini

95* **Proxy aziendali**: un proxy impostato con `HTTPS_PROXY` si trova tra Claude Code e ogni server con cui parla, incluso il gateway. Se la tua rete richiede un proxy, configura entrambi; vedi [configurazione del proxy](/it/network-config#proxy-configuration)

237 96 

238<h2 id="additional-resources">97<h2 id="related-pages">

239 Risorse aggiuntive98 Pagine correlate

240</h2>99</h2>

241 100 

242* [Documentazione di LiteLLM](https://docs.litellm.ai/)101* [Collega Claude Code a un gateway LLM](/it/llm-gateway-connect): imposta l'URL di base e la credenziale sulla tua macchina, con configurazione per superficie e una tabella di risoluzione dei problemi

243* [Impostazioni di Claude Code](/it/settings)102* [Esegui il rollout di un gateway LLM per la tua organizzazione](/it/llm-gateway-rollout): la checklist dell'amministratore per distribuire un gateway, emettere credenziali sviluppatore e distribuire impostazioni gestite

244* [Configurazione della rete aziendale](/it/network-config)103* [Riferimento del protocollo gateway](/it/llm-gateway-protocol): cosa Claude Code invia a un gateway, per gli operatori che ne configurano uno, coprendo endpoint, intestazioni da inoltrare e pass-through delle funzionalità

245* [Panoramica delle integrazioni di terze parti](/it/third-party-integrations)104* [Configura Claude Code per la tua organizzazione](/it/admin-setup): le decisioni di rollout più ampie di cui un gateway è una parte, inclusa l'applicazione delle politiche e la visibilità dell'utilizzo

llm-gateway-connect.md +527 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Connetti Claude Code a un gateway LLM

6 

7> Indirizza Claude Code al gateway LLM della tua organizzazione. Verifica se il tuo amministratore lo ha già configurato, oppure imposta l'URL di base e le credenziali da solo per CLI, VS Code, GitHub Actions e Agent SDK, quindi verifica la connessione e risolvi gli errori del gateway.

8 

9Un [gateway LLM](/it/llm-gateway) è un proxy che la tua organizzazione esegue tra Claude Code e il provider del modello. Quando la tua organizzazione ne utilizza uno, Claude Code si autentica al gateway con una credenziale che la tua organizzazione emette invece del tuo accesso personale a claude.ai.

10 

11Questa pagina è per gli sviluppatori che eseguono Claude Code attraverso un gateway gestito dalla loro organizzazione. Copre due percorsi: [verificare se l'amministratore lo ha già configurato per te](#check-for-an-existing-configuration) e [configurarlo da solo](#configure-claude-code-yourself) quando non lo ha fatto.

12 

13<Note>

14 * Per distribuire un gateway per la tua organizzazione, vedi [Distribuisci un gateway LLM](/it/llm-gateway-rollout)

15 * Per sapere cosa Claude Code invia a un gateway, vedi il [riferimento del protocollo gateway](/it/llm-gateway-protocol)

16</Note>

17 

18<h2 id="check-for-an-existing-configuration">

19 Verifica di una configurazione esistente

20</h2>

21 

22Gli amministratori possono distribuire l'indirizzo del gateway e la credenziale attraverso [impostazioni gestite](/it/settings#settings-files), gestione dei dispositivi, o un [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), in modo che Claude Code le raccolga all'avvio senza che tu debba impostare nulla. Per verificare se la tua organizzazione lo ha già fatto:

23 

24<Steps>

25 <Step title="Avvia Claude Code">

26 Esegui `claude`. Se si apre alla schermata di accesso invece di una sessione, nessuna credenziale del gateway è stata distribuita; [configurala da solo](#configure-claude-code-yourself) di seguito.

27 </Step>

28 

29 <Step title="Controlla la scheda Status">

30 Se Claude Code ha avviato una sessione senza mostrare la schermata di accesso, esegui `/status`, apri la scheda **Status** e controlla due righe:

31 

32 * `Anthropic base URL`: questa riga appare solo quando è impostato un indirizzo del gateway. Se non è presente, Claude Code non è indirizzato al gateway; [configuralo da solo](#configure-claude-code-yourself) di seguito.

33 * `Auth token` o `API key`: una riga che nomina `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, o un `apiKeyHelper` conferma che una credenziale del gateway è attiva. Una riga `Login method` che nomina un account claude.ai significa che la credenziale non è stata distribuita; [impostala da solo](#set-the-credential-variable).

34 </Step>

35 

36 <Step title="Invia un messaggio di prova">

37 Chiudi il menu `/status` e invia qualsiasi prompt in Claude Code. Una risposta normale da Claude, senza errori, conferma che la connessione al gateway funziona.

38 </Step>

39</Steps>

40 

41Se entrambe le righe nel menu `/status` sembrano corrette ma il messaggio a Claude fallisce, vedi la [tabella di risoluzione dei problemi](#troubleshoot-gateway-errors).

42 

43<h2 id="configure-claude-code-yourself">

44 Configura Claude Code da solo

45</h2>

46 

47Per configurare Claude Code per il gateway da solo, hai bisogno dal tuo team del gateway:

48 

49* L'URL di base del gateway

50* Una credenziale: una stringa di chiave o token, o un comando che ne recupera una

51 * Se il tuo team del gateway non ha detto quale tipo di credenziale è, la sezione [variabile di credenziale](#set-the-credential-variable) di seguito copre cosa provare

52 

53Le sezioni di seguito coprono la configurazione in ordine:

54 

55* [Imposta la variabile di credenziale](#set-the-credential-variable) e [imposta l'URL di base](#set-the-base-url-and-credential): le due variabili di cui ogni connessione gateway ha bisogno

56* [Verifica la connessione](#verify-the-connection): conferma che funziona prima di persistere qualsiasi cosa

57* [Configura ogni superficie](#configure-each-surface): se stai utilizzando una superficie diversa dalla CLI di Claude Code, come VS Code, vedi come configurarla con le tue credenziali del gateway

58* [Configurazione aggiuntiva](#additional-configuration): variabili che alcuni gateway necessitano oltre all'URL di base e alla credenziale, come un'intestazione personalizzata, un helper di credenziale, scoperta di modelli, o un URL di base in formato provider. Imposta questi solo se il tuo amministratore li ha nominati

59 

60<h3 id="set-the-credential-variable">

61 Imposta la variabile di credenziale

62</h3>

63 

64Per autenticare Claude Code al gateway, imposta la tua credenziale in una variabile di ambiente. Quale variabile dipende da cosa il tuo team del gateway ti ha detto:

65 

66| Imposta la credenziale in | Usa quando |

67| :------------------------------------------------------ | :----------------------------------------------------------------------- |

68| `ANTHROPIC_AUTH_TOKEN` | Il tuo team del gateway ha detto "bearer token" o "Authorization header" |

69| `ANTHROPIC_API_KEY` | Il tuo team del gateway ha detto "API key" o "x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | La credenziale ruota o proviene da un vault |

71 

72Se non ti è stato detto quale tipo, usa `ANTHROPIC_AUTH_TOKEN`; la [richiesta di verifica](#verify-the-connection) di seguito mostra come dire se hai bisogno di cambiare.

73 

74<h3 id="set-the-base-url-and-credential">

75 Imposta l'URL di base e la credenziale

76</h3>

77 

78Imposta l'URL di base del gateway e la variabile di credenziale che hai scelto sopra come variabili di ambiente. Gli esempi usano `ANTHROPIC_AUTH_TOKEN`; sostituiscilo con `ANTHROPIC_API_KEY` se quella è [la variabile che hai scelto](#set-the-credential-variable). Puoi impostarli [nella tua shell](#set-as-shell-environment-variables), che dura per una sessione di terminale, o [in un file di impostazioni di Claude Code](#set-in-a-settings-file), che persiste ovunque Claude Code viene eseguito.

79 

80Per la tua prima connessione, inizia con esportazioni di shell ed esegui la [richiesta di verifica](#verify-the-connection) prima di spostare i valori in un file di impostazioni.

81 

82<h4 id="set-as-shell-environment-variables">

83 Imposta come variabili di ambiente della shell

84</h4>

85 

86Sostituisci i valori con quelli che il tuo team del gateway ti ha dato:

87 

88<Tabs>

89 <Tab title="Bash o Zsh">

90 ```bash theme={null}

91 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

92 export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

93 ```

94 </Tab>

95 

96 <Tab title="PowerShell">

97 ```powershell theme={null}

98 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

99 $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

100 ```

101 </Tab>

102</Tabs>

103 

104Le esportazioni di shell si applicano solo a quella sessione di terminale e ai programmi avviati da essa; un editor lanciato dal dock o dal menu Start non le vedrà. Per farle persistere tra i nuovi terminali, aggiungi le stesse righe al tuo profilo di shell, come `~/.zshrc`, `~/.bashrc`, o il tuo `$PROFILE` di PowerShell, o usa un file di impostazioni invece.

105 

106<h4 id="set-in-a-settings-file">

107 Imposta in un file di impostazioni

108</h4>

109 

110Per fare in modo che la configurazione si applichi ovunque Claude Code viene eseguito senza dipendere dalla tua shell, imposta le variabili nel blocco `env` di un [file di impostazioni](/it/settings). I file di impostazioni hanno ambiti diversi:

111 

112* `~/.claude/settings.json` si applica a tutti i tuoi progetti. Su Windows il percorso è `%USERPROFILE%\.claude\settings.json`

113* `.claude/settings.local.json` si applica a un progetto. Claude Code lo aggiunge al tuo gitignore quando crea il file; se lo crei tu stesso, aggiungilo al tuo gitignore manualmente prima in modo da non committere accidentalmente la tua credenziale

114 

115<Warning>

116 Non mettere la credenziale nel `.claude/settings.json` di un progetto. Quel file è committato e condiviso con tutti coloro che clonano il repository.

117</Warning>

118 

119Il blocco `env` ha lo stesso aspetto in entrambi i file:

120 

121```json theme={null}

122{

123 "env": {

124 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

125 "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"

126 }

127}

128```

129 

130Quando sia un'esportazione di shell che un blocco `env` di file di impostazioni impostano la stessa variabile, il valore del file di impostazioni si applica. Esegui `/status` per vedere quale URL di base e fonte di credenziale Claude Code sta utilizzando.

131 

132<h3 id="verify-the-connection">

133 Verifica la connessione

134</h3>

135 

136Con le variabili esportate nella tua shell, invia una richiesta di un token al gateway direttamente. Questo conferma che l'URL e la credenziale funzionano prima di aprire Claude Code, quindi un fallimento punta al gateway piuttosto che alla tua configurazione. I comandi di seguito leggono le variabili di shell, quindi hanno bisogno delle [esportazioni di shell](#set-as-shell-environment-variables) anche se metti anche i valori in un file di impostazioni.

137 

138<Tabs>

139 <Tab title="Bash o Zsh">

140 ```bash theme={null}

141 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

142 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

143 -H "anthropic-version: 2023-06-01" \

144 -H "content-type: application/json" \

145 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `

152 -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `

153 -ContentType "application/json" `

154 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

155 ```

156 </Tab>

157</Tabs>

158 

159Se il tuo gateway si aspetta chiavi nell'intestazione `x-api-key`, sostituisci l'intestazione `Authorization` con `x-api-key: $ANTHROPIC_API_KEY` nel comando Bash, o la voce della tabella hash `"Authorization"` con `"x-api-key" = "$env:ANTHROPIC_API_KEY"` nel comando PowerShell.

160 

161Una risposta JSON che inizia con `{"id":"msg_` e include un campo `"content":[...]` significa che il gateway è raggiungibile e la credenziale funziona. Un errore che nomina un modello sconosciuto prova comunque che l'URL e la credenziale funzionano, poiché il gateway ha autenticato la richiesta prima di rifiutare il nome del modello; non hai bisogno di trovare un modello che il tuo gateway serve per questo test. Un `401` significa che la credenziale è stata rifiutata: se hai indovinato la variabile, passa all'altra e ri-esporta.

162 

163<h4 id="confirm-in-claude-code">

164 Conferma in Claude Code

165</h4>

166 

167Avvia `claude` dalla stessa shell in modo che erediti le esportazioni, invia un messaggio, ed esegui `/status`.

168 

169Nella scheda **Status**, la riga `Anthropic base URL` dovrebbe mostrare il tuo indirizzo del gateway, che conferma che le richieste vengono instradate lì; se la riga non è presente, la variabile non ha raggiunto la sessione. Una riga `Auth token` o `API key` che nomina la variabile che hai impostato conferma che la credenziale del gateway è attiva piuttosto che un accesso claude.ai salvato.

170 

171Se il messaggio fallisce, o `/status` non mostra l'URL del gateway, vedi la [tabella di risoluzione dei problemi](#troubleshoot-gateway-errors) di seguito.

172 

173<h3 id="how-the-credential-variable-maps-to-a-header">

174 Come la variabile di credenziale si mappa a un'intestazione

175</h3>

176 

177Ogni variabile invia la credenziale in un'intestazione HTTP diversa: `ANTHROPIC_AUTH_TOKEN` in `Authorization: Bearer`, `ANTHROPIC_API_KEY` in `x-api-key`, e `apiKeyHelper` in entrambe. Una credenziale nella variabile sbagliata raggiunge il gateway in un'intestazione che non legge, e la richiesta fallisce con `401`. Se la richiesta di verifica ha restituito `401`, passa all'altra variabile e riprova.

178 

179<h3 id="conflicts-with-an-existing-login">

180 Conflitti con un accesso esistente

181</h3>

182 

183Una variabile di credenziale del gateway ha precedenza su un accesso claude.ai salvato o una chiave Console. Il tuo accesso claude.ai rimane salvato e inutilizzato mentre la variabile è impostata; annulla l'impostazione della variabile e Claude Code torna ad esso. Con `ANTHROPIC_AUTH_TOKEN`, la variabile ha precedenza immediatamente. Con `ANTHROPIC_API_KEY`, ti viene chiesto una volta in modalità interattiva di approvare la chiave prima che prenda il controllo.

184 

185Esegui `/status` per confermare quale fonte di credenziale è attiva. Se l'avvio mostra un avviso di conflitto di autenticazione che nomina due fonti, vedi la prima riga della [tabella di risoluzione dei problemi](#troubleshoot-gateway-errors) per quale eliminare. Per cancellare un accesso salvato in modo che rimanga solo la credenziale del gateway, esegui `/logout`.

186 

187<h2 id="configure-each-surface">

188 Configura ogni superficie

189</h2>

190 

191La CLI legge le variabili di ambiente e i file di impostazioni di cui sopra. Le altre superfici sono l'estensione VS Code, l'app desktop, GitHub Actions, Agent SDK, e le superfici cloud come Slack e il web; le sezioni di seguito coprono se quelle impostazioni raggiungono ognuna.

192 

193<h3 id="vs-code-extension">

194 Estensione VS Code

195</h3>

196 

197Imposta le variabili del gateway per l'[estensione VS Code](/it/vs-code) in `claudeCode.environmentVariables`, nelle impostazioni utente di VS Code stesso aperte con il comando **Preferences: Open User Settings (JSON)**. L'estensione controlla le credenziali da questa impostazione prima di avviarsi, quindi è il posto affidabile per la credenziale del gateway; i valori in `~/.claude/settings.json` raggiungono il processo generato ma non il controllo di accesso dell'estensione stessa.

198 

199```json theme={null}

200{

201 "claudeCode.environmentVariables": [

202 { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },

203 { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }

204 ]

205}

206```

207 

208<h3 id="desktop-app">

209 App desktop

210</h3>

211 

212L'app desktop legge il routing del gateway da una [configurazione distribuita dall'amministratore](https://claude.com/docs/cowork/3p/gateway), non da `ANTHROPIC_BASE_URL` o `settings.json`. Se la tua organizzazione l'ha distribuita, l'app desktop instrada attraverso il gateway senza alcuna configurazione da parte tua; se no, usa la CLI del terminale o l'estensione VS Code per sessioni del gateway. Gli amministratori distribuiscono la configurazione come descritto nel [rollout dell'organizzazione](/it/llm-gateway-rollout#distribute-through-managed-settings).

213 

214Se l'app desktop mostra `Gateway was unreachable`, l'app non ha potuto raggiungere l'URL di base configurato all'avvio; controlla l'URL e il percorso di rete con il [test curl di cui sopra](#verify-the-connection).

215 

216<h3 id="github-actions">

217 GitHub Actions

218</h3>

219 

220[Claude Code GitHub Actions](/it/github-actions) legge `ANTHROPIC_BASE_URL` e `ANTHROPIC_CUSTOM_HEADERS` dal blocco `env` del workflow. Passa la credenziale come input `anthropic_api_key` dell'azione; l'azione la imposta come `ANTHROPIC_API_KEY`, quindi raggiunge il gateway nell'intestazione `x-api-key`.

221 

222Per un gateway `x-api-key`, imposta l'URL di base in `env` e passa la chiave del gateway come input:

223 

224```yaml theme={null}

225env:

226 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

227 

228steps:

229 - uses: anthropics/claude-code-action@v1

230 with:

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```

233 

234Per un gateway bearer-token, passa lo stesso segreto sia come input `anthropic_api_key` che come `ANTHROPIC_AUTH_TOKEN` nel blocco `env` del workflow. L'azione richiede `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN`, o federazione dell'identità del carico di lavoro prima di avviare Claude Code, e non legge `ANTHROPIC_AUTH_TOKEN`, quindi l'input soddisfa quel controllo di avvio mentre la variabile env mette la chiave nell'intestazione `Authorization` che il gateway legge. La copia in `x-api-key` viene ignorata:

235 

236```yaml theme={null}

237env:

238 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

239 ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

240 

241steps:

242 - uses: anthropics/claude-code-action@v1

243 with:

244 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

245```

246 

247Per le altre opzioni di autenticazione dell'azione, inclusi `CLAUDE_CODE_OAUTH_TOKEN` e federazione dell'identità del carico di lavoro, vedi [Claude Code GitHub Actions](/it/github-actions) e il [README](https://github.com/anthropics/claude-code-action#readme) dell'azione.

248 

249<h3 id="agent-sdk">

250 Agent SDK

251</h3>

252 

253L'[Agent SDK](/it/agent-sdk/overview) non ha opzioni specifiche del gateway; passa le variabili di ambiente al processo Claude Code che genera. Ogni SDK accetta un'opzione `env` che imposta l'ambiente del processo generato, e gli SDK TypeScript e Python lo trattano diversamente:

254 

255* TypeScript: il processo generato eredita l'ambiente padre per impostazione predefinita, ma impostare `options.env` sostituisce completamente l'ambiente. Distribuisci `process.env` in esso per mantenere le tue variabili del gateway.

256* Python: `ClaudeAgentOptions(env=...)` si unisce sopra l'ambiente ereditato, quindi le variabili del gateway impostate nel processo padre si trasportano senza distribuire.

257 

258<CodeGroup>

259 ```ts TypeScript theme={null}

260 const result = query({

261 prompt: "...",

262 options: {

263 env: {

264 ...process.env,

265 ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",

266 ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,

267 },

268 },

269 })

270 ```

271 

272 ```python Python theme={null}

273 options = ClaudeAgentOptions(

274 env={

275 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

276 "ANTHROPIC_AUTH_TOKEN": os.environ["GATEWAY_KEY"],

277 }

278 )

279 ```

280</CodeGroup>

281 

282<h3 id="slack-web-and-remote-control">

283 Slack, web e Remote Control

284</h3>

285 

286[Claude Code in Slack](/it/slack) e [Claude Code sul web](/it/claude-code-on-the-web) sono prodotti ospitati da Anthropic che usano sempre l'API di Anthropic; non fanno parte di una distribuzione del gateway. Le variabili del gateway impostate nella configurazione dell'ambiente di una sessione cloud non vengono applicate. Se il tuo traffico deve rimanere sul gateway, non abilitare queste superfici per quegli utenti.

287 

288[Remote Control](/it/remote-control) e [dettatura vocale](/it/voice-dictation) si basano entrambi su un'identità claude.ai: Remote Control per accoppiare una sessione live con il tuo account, e dettatura vocale per raggiungere l'endpoint di trascrizione claude.ai. Non sono disponibili mentre `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o un `apiKeyHelper` è attivo. Per usare uno di essi, annulla l'impostazione della credenziale del gateway e accedi con claude.ai invece; `/doctor` nomina la variabile da annullare.

289 

290<h2 id="additional-configuration">

291 Configurazione aggiuntiva

292</h2>

293 

294Queste impostazioni coprono casi oltre l'URL di base e la credenziale. Impostale solo se le istruzioni del tuo amministratore o la [tabella di risoluzione dei problemi](#troubleshoot-gateway-errors) ne richiedono una.

295 

296<h3 id="send-additional-headers">

297 Invia intestazioni aggiuntive

298</h3>

299 

300Alcuni gateway instradano o taggiano le richieste usando un'intestazione personalizzata oltre alla credenziale, ad esempio un identificatore di tenant o una chiave di instradamento. Per inviarne una, imposta [`ANTHROPIC_CUSTOM_HEADERS`](/it/env-vars) con una coppia `Name: Value` per riga. L'esempio di seguito aggiunge un'intestazione di instradamento denominata `X-Org-Route`:

301 

302<Tabs>

303 <Tab title="Bash o Zsh">

304 ```bash theme={null}

305 export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

306 ```

307 </Tab>

308 

309 <Tab title="PowerShell">

310 ```powershell theme={null}

311 $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

312 ```

313 </Tab>

314</Tabs>

315 

316Puoi anche impostare `ANTHROPIC_CUSTOM_HEADERS` nel blocco `env` di un file di impostazioni. Usa `\n` tra le coppie lì, poiché le stringhe JSON non possono estendersi su più righe:

317 

318```json theme={null}

319{

320 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"

322 }

323}

324```

325 

326<h3 id="add-gateway-models-to-the-model-picker">

327 Aggiungi modelli del gateway al selettore di modelli

328</h3>

329 

330La scoperta di modelli interroga il gateway per il suo elenco di modelli all'avvio e aggiunge quei nomi al selettore `/model` insieme alle voci integrate.

331 

332Abilitala se il tuo gateway serve nomi di modelli che non sono nell'elenco integrato di Claude Code e vuoi selezionarli dal selettore. Se i modelli integrati sono quelli che usi, non hai bisogno della scoperta; il tuo amministratore potrebbe anche averla già abilitata attraverso le impostazioni gestite.

333 

334Per abilitarla, imposta `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` nella tua shell o nel blocco `env` di `~/.claude/settings.json`. La scoperta richiede Claude Code v2.1.129 o successivo. {/* min-version: 2.1.129 */}

335 

336I modelli scoperti appaiono come voci `/model` aggiuntive etichettate `From gateway`. Per confermare che la scoperta è stata eseguita, avvia `claude --debug` e cerca le righe `[gatewayDiscovery]`: un successo registra quanti modelli sono stati memorizzati nella cache, e un `404`, timeout, o reindirizzamento viene registrato lì anche. Per quando la scoperta viene eseguita, cosa filtra, e il formato di risposta che i gateway servono, vedi il [riferimento della scoperta di modelli](/it/llm-gateway-protocol#model-discovery).

337 

338<h3 id="rotate-credentials-with-apikeyhelper">

339 Ruota le credenziali con apiKeyHelper

340</h3>

341 

342Un `apiKeyHelper` è un comando che Claude Code esegue per recuperare la tua credenziale del gateway, invece di leggerla da una variabile di ambiente statica.

343 

344Usa un helper quando la credenziale scade secondo una pianificazione, proviene da un comando vault o SSO, o il tuo amministratore ti ha detto di configurarne uno. Se la tua credenziale è una stringa fissa che imposti una volta, la [variabile di credenziale](#set-the-credential-variable) è tutto ciò di cui hai bisogno e puoi saltare questa sezione.

345 

346L'helper è qualsiasi comando di shell che stampa la credenziale corrente su stdout. Claude Code lo esegue attraverso la tua shell di sistema, quindi su Windows può essere un eseguibile o un'invocazione di PowerShell. Scrivi lo script, rendilo eseguibile, e referenzialo da `apiKeyHelper` nel tuo [file di impostazioni](/it/settings):

347 

348<Tabs>

349 <Tab title="Bash o Zsh">

350 Ad esempio, uno script che legge da un vault:

351 

352 ```bash theme={null}

353 #!/bin/bash

354 vault kv get -field=api_key secret/llm-gateway/claude-code

355 ```

356 

357 Referenzia il suo percorso in `~/.claude/settings.json`:

358 

359 ```json theme={null}

360 {

361 "apiKeyHelper": "~/bin/get-gateway-key.sh"

362 }

363 ```

364 </Tab>

365 

366 <Tab title="PowerShell">

367 Ad esempio, uno script che legge da un vault:

368 

369 ```powershell theme={null}

370 vault kv get -field=api_key secret/llm-gateway/claude-code

371 ```

372 

373 Referenzia l'invocazione di PowerShell in `%USERPROFILE%\.claude\settings.json`, sfuggendo i backslash nella stringa JSON:

374 

375 ```json theme={null}

376 {

377 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"

378 }

379 ```

380 </Tab>

381</Tabs>

382 

383Claude Code memorizza nella cache l'output dell'helper per cinque minuti per impostazione predefinita e lo ri-esegue quando una richiesta restituisce HTTP 401. Per cambiare la durata della cache, imposta `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` in millisecondi, ad esempio `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` per 15 minuti.

384 

385Il valore dell'helper viene inviato sia nell'intestazione `Authorization` che in `x-api-key`, quindi funziona qualunque intestazione il tuo gateway legga.

386 

387<h3 id="route-to-a-cloud-provider-through-a-gateway">

388 Instrada a un provider cloud attraverso un gateway

389</h3>

390 

391Queste configurazioni indirizzano Claude Code a un gateway attraverso una variabile di URL di base specifica del provider al posto di `ANTHROPIC_BASE_URL`. I gateway Bedrock e Vertex accettano i formati di richiesta nativi di quei provider; i gateway Foundry e Claude Platform su AWS accettano il formato Anthropic Messages e differiscono solo in quale variabile di URL di base li raggiunge.

392 

393Usane una solo se il tuo team del gateway ha specificamente nominato Bedrock, Vertex, Foundry, o Claude Platform su AWS. Se la [richiesta di verifica](#verify-the-connection) di cui sopra ha restituito JSON, puoi saltare questa sezione.

394 

395Imposta il blocco per il provider che il tuo team del gateway ha nominato. Le variabili skip-auth dicono a Claude Code di non firmare le richieste con le credenziali del provider, poiché il gateway le detiene. Se il gateway ha bisogno del suo proprio token, aggiungi `ANTHROPIC_AUTH_TOKEN` dopo il blocco, tranne per Foundry, che usa `ANTHROPIC_FOUNDRY_API_KEY` come mostrato.

396 

397<h4 id="amazon-bedrock">

398 Amazon Bedrock

399</h4>

400 

401<Tabs>

402 <Tab title="Bash o Zsh">

403 ```bash theme={null}

404 export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock

405 export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406 export CLAUDE_CODE_USE_BEDROCK=1

407 ```

408 </Tab>

409 

410 <Tab title="PowerShell">

411 ```powershell theme={null}

412 $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"

413 $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414 $env:CLAUDE_CODE_USE_BEDROCK = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419<h4 id="google-vertex-ai">

420 Google Vertex AI

421</h4>

422 

423<Tabs>

424 <Tab title="Bash o Zsh">

425 ```bash theme={null}

426 export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

427 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

428 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

429 export CLAUDE_CODE_USE_VERTEX=1

430 export CLOUD_ML_REGION=us-east5

431 ```

432 </Tab>

433 

434 <Tab title="PowerShell">

435 ```powershell theme={null}

436 $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"

437 $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

438 $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

439 $env:CLAUDE_CODE_USE_VERTEX = "1"

440 $env:CLOUD_ML_REGION = "us-east5"

441 ```

442 </Tab>

443</Tabs>

444 

445<h4 id="microsoft-foundry">

446 Microsoft Foundry

447</h4>

448 

449Metti la credenziale del gateway in `ANTHROPIC_FOUNDRY_API_KEY`; viene inviata al gateway come intestazione `x-api-key`. `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` non si applica qui: senza una chiave API, il client Foundry fallisce ogni richiesta prima che lasci la macchina.

450 

451<Tabs>

452 <Tab title="Bash o Zsh">

453 ```bash theme={null}

454 export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

455 export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

456 export CLAUDE_CODE_USE_FOUNDRY=1

457 ```

458 </Tab>

459 

460 <Tab title="PowerShell">

461 ```powershell theme={null}

462 $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

463 $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

464 $env:CLAUDE_CODE_USE_FOUNDRY = "1"

465 ```

466 </Tab>

467</Tabs>

468 

469<h4 id="claude-platform-on-aws">

470 Claude Platform su AWS

471</h4>

472 

473Vedi [Claude Platform su AWS](/it/claude-platform-on-aws) per l'ID dell'area di lavoro.

474 

475<Tabs>

476 <Tab title="Bash o Zsh">

477 ```bash theme={null}

478 export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

479 export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

480 export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

481 export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

482 ```

483 </Tab>

484 

485 <Tab title="PowerShell">

486 ```powershell theme={null}

487 $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"

488 $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

489 $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

490 $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

491 ```

492 </Tab>

493</Tabs>

494 

495<h2 id="troubleshoot-gateway-errors">

496 Risolvi gli errori del gateway

497</h2>

498 

499Questi sono gli errori più comuni quando si esegue Claude Code attraverso un gateway, con la causa dal lato del gateway e la correzione:

500 

501| Errore | Causa | Correzione |

502| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

503| Un avviso di avvio che nomina due fonti di credenziale e termina con `auth may not work as expected`. Le versioni più vecchie mostrano `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` invece. | Una credenziale del gateway e un accesso salvato sono entrambi attivi; la variabile viene utilizzata per le richieste, ma l'accesso stantio può causare un comportamento di autenticazione inaspettato | Annulla l'impostazione della variabile per usare l'accesso salvato, o esegui `/logout` per usare la credenziale del gateway |

504| Errori `401` che nominano un token non valido o non riconosciuto | La credenziale non è una che il gateway ha emesso, o è in un'intestazione che il gateway non legge | Conferma che la variabile corrisponde al tuo tipo di credenziale nella [tabella di credenziale](#set-the-credential-variable), e rigenera la chiave al gateway se è stata revocata |

505| `Unable to connect to API (ConnectionRefused)`, o `(ECONNREFUSED)` da installazioni npm, spesso dopo una pausa silenziosa mentre Claude Code [riprova con backoff](/it/errors#automatic-retries) | Nulla ha risposto all'URL di base: l'indirizzo è sbagliato, o una VPN o firewall blocca il percorso al gateway | Esegui il [test curl di cui sopra](#verify-the-connection), che fallisce immediatamente con la stessa causa, e conferma l'URL e il percorso di rete con il tuo team del gateway |

506| `API returned an empty or malformed response (HTTP 200)` | Il gateway o un proxy intermedio ha restituito una risposta non-API, spesso una pagina di errore HTML o di accesso | Testa con la [richiesta curl di cui sopra](#verify-the-connection); correggi il percorso del gateway che restituisce non-JSON |

507| Errori `400` che nominano `context_management`, `Extra inputs are not permitted`, o altri campi non riconosciuti | Il gateway invia le richieste a un upstream che rifiuta i campi che Claude Code invia agli endpoint in formato Anthropic | Imposta `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, che sopprime la maggior parte dei campi pre-release; vedi [feature pass-through](/it/llm-gateway-protocol#feature-pass-through). Alcuni beta non sono controllati da questo flag; per quelli, imposta la variabile provider `CLAUDE_CODE_USE_*` corrispondente in modo che Claude Code invii solo quello che quel provider accetta |

508| Errori `400` che nominano `thinking` o `adaptive`, come `Input tag 'adaptive' found` | La build del modello upstream non accetta il ragionamento adattivo, che Claude Code richiede per i modelli Claude 4.6 e successivi | Aggiorna l'upstream del gateway. Su Opus 4.6 e Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` funziona invece. Le variabili di capacità della [configurazione del modello](/it/model-config) si applicano solo alle configurazioni del provider, come `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, non dietro un gateway `ANTHROPIC_BASE_URL` |

509| Errori `400` che indicano un contesto o limite di token nelle parole del gateway stesso, come `ContextWindowExceededError` o `prompt token count of N exceeds the limit of M` | Il gateway applica un contesto più piccolo della finestra nativa del modello e riscrive l'errore upstream, quindi il compact-and-retry automatico, che corrisponde alla dicitura `prompt is too long` di Anthropic, non si attiva | Esegui `/compact` per recuperare la sessione. Per prevenirlo, imposta `CLAUDE_CODE_AUTO_COMPACT_WINDOW` al limite del gateway; il valore è bloccato ad almeno 100.000 token e al massimo la finestra di contesto del modello, quindi un limite del gateway inferiore a 100.000 non può essere abbinato e `/compact` rimane il recupero lì. Imposta anche `CLAUDE_CODE_MAX_OUTPUT_TOKENS` sotto il limite di output del modello del gateway |

510| Modelli mancanti dal selettore `/model` | I nomi dei modelli del gateway non sono nell'elenco integrato di Claude Code | Abilita la [scoperta di modelli del gateway](#add-gateway-models-to-the-model-picker) o aggiungi nomi con le variabili della [configurazione del modello](/it/model-config) |

511| Claude Code ti chiede di accedere anche se il [test curl](#verify-the-connection) ha successo | La CLI non ha una credenziale propria: un URL di base raggiungibile non è uno, e un blocco `env` nel `.claude/settings.json` o `.claude/settings.local.json` di un progetto si applica solo dopo la procedura guidata di primo avvio e il prompt di fiducia | Imposta `ANTHROPIC_AUTH_TOKEN` da qualche parte Claude Code legge prima della configurazione di primo avvio: un'esportazione di shell, il blocco `env` in `~/.claude/settings.json`, o impostazioni gestite |

512| `ANTHROPIC_API_KEY` è impostato ma ignorato, senza prompt | La chiave ha bisogno di un'approvazione una tantum nelle sessioni interattive, e una chiave precedentemente rifiutata viene ignorata senza chiedere di nuovo | Abilitala sotto `/config` con l'opzione `Use custom API key` |

513| `This machine's managed settings require a first-party login` | Le impostazioni gestite includono `forceLoginMethod` o `forceLoginOrgUUID`, che su Claude Code v2.1.146 e successivo non possono coesistere con `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` | Il tuo amministratore deve rimuovere `forceLoginMethod` e `forceLoginOrgUUID` dalle impostazioni gestite per usare le credenziali del gateway, o rimuovere la credenziale del gateway per usare l'accesso di prima parte. I due non possono essere combinati |

514| `403` con un corpo HTML come `403 Forbidden`, quando i log del gateway stesso non mostrano alcuna richiesta ricevuta | Un web application firewall o reverse proxy davanti al gateway ha bloccato il corpo della richiesta prima che raggiungesse il gateway. I prompt di Claude Code includono tag di stile XML e codice sorgente che corrispondono alle regole del corpo dello scripting tra siti, quindi un breve test curl passa mentre una sessione reale no | Esenta il percorso `/v1/messages` del gateway dall'ispezione del corpo della richiesta. Su AWS WAF questa è la regola gestita `CrossSiteScripting_Body`; su nginx con ModSecurity è la regola del corpo OWASP CRS equivalente |

515| Errori di certificato o TLS come `SSL certificate verification failed` o `Self-signed certificate detected`, quando il [test curl](#verify-the-connection) ha successo | Il runtime di Claude Code non sta fidando della stessa autorità di certificazione che `curl` usa. Comune dietro proxy di ispezione TLS aziendale | Imposta `NODE_EXTRA_CA_CERTS` al percorso del bundle CA; vedi [archivio di certificati CA](/it/network-config#ca-certificate-store) |

516 

517Se Claude Code ti chiede di accedere ripetutamente dopo aver rimosso la configurazione del gateway, la causa è solitamente l'archiviazione delle credenziali piuttosto che il gateway; vedi [errori di autenticazione](/it/errors#authentication-errors).

518 

519<h2 id="related-resources">

520 Risorse correlate

521</h2>

522 

523* [Panoramica dei gateway LLM](/it/llm-gateway): cos'è un gateway e come interagisce con gli abbonamenti a claude.ai

524* [Distribuisci un gateway LLM per la tua organizzazione](/it/llm-gateway-rollout): la checklist rivolta agli amministratori per distribuire e distribuire la configurazione del gateway

525* [Riferimento del protocollo gateway](/it/llm-gateway-protocol): cosa Claude Code invia a un gateway, incluse le intestazioni e i campi che il gateway deve inoltrar

526* [Impostazioni](/it/settings): dove si trovano i file di impostazioni e come viene letto il blocco `env`

527* [Autenticazione](/it/authentication): come le variabili di credenziale, `apiKeyHelper`, e l'accesso OAuth interagiscono

llm-gateway-protocol.md +208 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Riferimento del protocollo del gateway

6 

7> Il contratto API tra Claude Code e un gateway LLM: endpoint, intestazioni e campi del corpo da inoltrare, degradazione delle funzionalità quando i campi vengono rimossi, intestazioni di attribuzione per il tracciamento dei costi e scoperta dei modelli.

8 

9Questa pagina documenta le richieste che Claude Code invia a un gateway, inclusi gli endpoint che chiama, le intestazioni e i campi del corpo che il gateway deve inoltrare, e quali funzionalità smettono di funzionare quando non lo fa. È scritta per gli operatori che configurano un prodotto gateway per funzionare con Claude Code.

10 

11<Note>

12 * Per distribuire un gateway esistente o di terze parti per la vostra organizzazione, vedere [Distribuire un gateway LLM](/it/llm-gateway-rollout)

13 * Se siete uno sviluppatore individuale che autentica Claude Code a un gateway con una credenziale che vi è stata fornita, vedere [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect)

14</Note>

15 

16Questa pagina copre:

17 

18* [Formati API](#api-formats) e gli endpoint da servire per ciascuno

19* [Intestazioni delle richieste](#request-headers): quali devono raggiungere l'upstream e quali il vostro gateway può consumare

20* Il [blocco di attribuzione del prompt di sistema](#system-prompt-attribution-block) e come interagisce con il prompt caching

21* [Passaggio delle funzionalità](#feature-pass-through): cosa si interrompe quando le intestazioni o i campi del corpo vengono rimossi

22* [Scoperta dei modelli](#model-discovery)

23 

24Questa pagina utilizza due termini per quello che il vostro gateway fa con ogni intestazione e campo del corpo:

25 

26* **Inoltrare invariato**: passarlo all'upstream byte per byte

27* **Consumare**: il gateway può leggerlo per il routing, l'attribuzione o il tracciamento e non è necessario inoltrarlo

28 

29Qualsiasi cosa non contrassegnata come inoltrare invariato è vostro da consumare o ignorare.

30 

31<h2 id="api-formats">

32 Formati API

33</h2>

34 

35Un gateway deve esporre almeno uno dei seguenti formati API ai client Claude Code. Quale formato Claude Code parla è determinato dalla configurazione del client: la variabile nella colonna Selezionato da della tabella sottostante punta Claude Code al vostro gateway in quel formato.

36 

37| Formato | Selezionato da | Endpoint | Inoltrare invariato |

38| :------------------ | :----------------------------------------------------------- | :------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- |

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version` |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` con `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | campi del corpo della richiesta `anthropic_beta` e `anthropic_version` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` con `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version`, e il campo del corpo della richiesta `anthropic_version` |

42 

43<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry e Claude Platform on AWS

45</h3>

46 

47Microsoft Foundry e [Claude Platform on AWS](/it/claude-platform-on-aws) implementano il formato Anthropic Messages. Claude Code instrada verso di loro attraverso le loro variabili, `ANTHROPIC_FOUNDRY_BASE_URL` e `ANTHROPIC_AWS_BASE_URL`, ma un gateway che le fronteggia implementa la riga Anthropic Messages sopra. Un gateway che fronteggia Claude Platform on AWS deve anche inoltrare l'intestazione `anthropic-workspace-id`, che [quella piattaforma richiede su ogni richiesta](/it/claude-platform-on-aws).

48 

49<h3 id="optional-endpoints-and-startup-traffic">

50 Endpoint opzionali e traffico di avvio

51</h3>

52 

53Gli endpoint di conteggio dei token sono gli unici opzionali: quando sono assenti, Claude Code stima l'utilizzo del contesto localmente. Le richieste di inferenza vengono inviate a `/v1/messages?beta=true`, quindi abbinate sul percorso, non sull'URL completo. Il metodo Vertex allega i suffissi al percorso del modello dell'editore, come in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 

55Un gateway vede anche il traffico di avvio best-effort che può rifiutare senza rompere nulla: una sonda di connettività `HEAD /`, e su gateway in formato Bedrock una richiesta `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 

57<h3 id="streaming">

58 Streaming

59</h3>

60 

61Le risposte di inferenza devono essere in streaming. Claude Code consuma gli eventi inviati dal server mentre arrivano, quindi un gateway che memorizza nel buffer le risposte complete prima di inoltrarle blocca il client.

62 

63<h3 id="format-mismatch-with-the-upstream">

64 Mancata corrispondenza del formato con l'upstream

65</h3>

66 

67Quale formato il client parla determina cosa riceve il vostro gateway. La modalità di errore comune è una mancata corrispondenza tra il formato che il client invia al vostro gateway e il formato che il provider upstream dietro di esso accetta.

68 

69* Quando il client parla il formato Bedrock o Vertex, Claude Code invia solo il sottoinsieme del suo set di capacità completo che quei provider accettano

70* Quando il client parla il formato Anthropic Messages, Claude Code invia il set completo, anche se il vostro gateway inoltra a un upstream Bedrock o Vertex

71 

72Colmare quella differenza è il compito del vostro gateway. [Passaggio delle funzionalità](#feature-pass-through) descrive cosa si interrompe quando non lo fa.

73 

74<h2 id="request-headers">

75 Intestazioni delle richieste

76</h2>

77 

78Claude Code include queste intestazioni sulle richieste API. I nomi delle intestazioni non fanno distinzione tra maiuscole e minuscole sul filo. Inoltrare `anthropic-version` e `anthropic-beta` invariate, più `anthropic-workspace-id` quando l'upstream è [Claude Platform on AWS](/it/claude-platform-on-aws); il resto il gateway può consumare per il routing, l'attribuzione e il tracciamento, e non è necessario inoltrare.

79 

80| Intestazione | Descrizione |

81| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

82| `Authorization`, `x-api-key` | La credenziale del gateway dello sviluppatore, in una o entrambe le intestazioni a seconda di quale [variabile di credenziale](/it/llm-gateway-connect#set-the-credential-variable) impostano |

83| `anthropic-version` | Versione API, attualmente `2023-06-01`. Le richieste in formato Bedrock e Vertex portano anche il campo del corpo `anthropic_version`, il cui valore è la stringa del dialetto del provider, non il valore di questa intestazione |

84| `anthropic-beta` | Valori di capacità separati da virgole per la richiesta. Inoltrare l'intestazione verbatim; non creare un elenco di consentiti dei singoli valori, perché l'insieme cambia con i rilasci di Claude Code. Quando lo sviluppatore si autentica con un accesso claude.ai, che è possibile quando `ANTHROPIC_BASE_URL` è impostato senza una variabile di credenziale del gateway, questa intestazione porta anche una capacità OAuth che l'upstream richiede, e rimuoverla fa fallire quelle richieste con `401` |

85| `x-claude-code-session-id` | Un identificatore univoco per la sessione Claude Code corrente. Usarlo per aggregare tutte le richieste da una sessione senza analizzare i corpi delle richieste |

86| `x-claude-code-agent-id` | Identificatore del [subagent](/it/sub-agents) che ha emesso la richiesta, presente solo sulle richieste da un agente che Claude Code ha generato all'interno della sessione. Usarlo con l'ID della sessione per attribuire il costo agli agenti paralleli |

87| `x-claude-code-parent-agent-id` | Identificatore dell'agente che ha generato l'agente richiedente, presente solo per gli agenti annidati |

88 

89Gli ID dei subagent vengono generati freschi per ogni spawn. Gli agenti compagni, i membri denominati di un [team di agenti](/it/agent-teams), riutilizzano un ID stabile basato sul nome tra le riconnessioni. In entrambi i casi l'ID identifica un agente, non una persona o un dispositivo, quindi non trattate l'intestazione dell'ID dell'agente come un identificatore utente.

90 

91Se i vostri sviluppatori impostano `ANTHROPIC_CUSTOM_HEADERS`, quelle intestazioni appaiono anche sulle richieste.

92 

93<h3 id="forward-as-open-lists">

94 Inoltrare come elenchi aperti

95</h3>

96 

97Trattate le intestazioni e i campi del corpo come elenchi aperti, non chiusi. Claude Code guadagna capacità nei rilasci, e arrivano come nuovi valori `anthropic-beta`, nuovi campi del corpo della richiesta, e occasionalmente nuove intestazioni `anthropic-*` o `x-claude-code-*`.

98 

99Quando inoltrate a un upstream in formato Anthropic, passate le intestazioni di richiesta `anthropic-*` e i campi del corpo della richiesta invariati piuttosto che creare un elenco di consentiti di quelli che vedete oggi. Un gateway bloccato a un elenco osservato rimuove l'intestazione o il campo della prossima capacità e lo interrompe nel rilascio che lo introduce.

100 

101L'eccezione è un upstream non-Anthropic come Bedrock o Vertex, dove colmare la differenza dello schema è il compito del gateway; vedere [passaggio delle funzionalità](#feature-pass-through).

102 

103<h2 id="system-prompt-attribution-block">

104 Blocco di attribuzione del prompt di sistema

105</h2>

106 

107Claude Code antepone un breve blocco di attribuzione al prompt di sistema contenente la versione del client e un'impronta digitale derivata dalla conversazione. L'endpoint `api.anthropic.com` rimuove il blocco prima dell'elaborazione, quindi non influisce sul prompt caching di prima parte; qualsiasi altro upstream lo riceve come parte del prompt. Anthropic e gli endpoint Claude dei provider cloud lo leggono per l'attribuzione, quindi per ometterlo impostare [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/it/env-vars) piuttosto che rimuoverlo nel gateway.

108 

109{/* min-version: 2.1.181 */}Da Claude Code v2.1.181, il blocco è stabile per la durata di una conversazione quando le richieste instradano attraverso un URL di base personalizzato, quindi una cache del prompt lato gateway basata sul corpo della richiesta completa funziona senza disabilitarla. Prima di v2.1.181 il blocco includeva un token per richiesta; su quelle versioni, impostare `CLAUDE_CODE_ATTRIBUTION_HEADER=0` se il vostro gateway implementa una tale cache.

110 

111<h2 id="feature-pass-through">

112 Passaggio delle funzionalità

113</h2>

114 

115Claude Code tratta un gateway `ANTHROPIC_BASE_URL` come un endpoint in formato Anthropic e gli invia le intestazioni beta e i campi del corpo della richiesta che invia a `api.anthropic.com`, tranne un piccolo insieme di diagnostica e impostazioni predefinite riservate alle connessioni dirette.

116 

117Le capacità che aggiungono campi del corpo li associano a un'intestazione beta, e la coppia viaggia insieme. Un gateway che rimuove l'intestazione mentre passa il corpo, o inoltra un corpo in formato Anthropic a un upstream con uno schema diverso, produce errori `400` difficili; solo quando entrambe le metà sono assenti insieme la funzionalità si disattiva silenziosamente. Un gateway che riscrive o redige i corpi delle richieste per l'ispezione del contenuto interrompe l'associazione allo stesso modo della rimozione, quindi ispezionare senza modificare. La tabella nota dove una funzionalità si discosta dall'associazione.

118 

119Lo streaming fine degli strumenti è una delle impostazioni predefinite della connessione diretta: è disattivato per impostazione predefinita ogni volta che le richieste instradano attraverso un URL di base personalizzato, e un gateway lo riceve quando gli sviluppatori impostano [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/it/env-vars).

120 

121| Funzionalità | Intestazione e coppia del corpo | Sintomo quando interrotto | Rimedio |

122| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |

123| [Ragionamento adattivo](/it/model-config#adjust-effort-level) | Nessuna intestazione beta. Claude Code invia `thinking: {"type": "adaptive"}` per Claude 4.6 e successivi, e tratta i nomi dei modelli che non riconosce, come gli alias del gateway, come modelli attuali che ricevono il campo | `400` che nomina il campo `thinking` o il tag `adaptive` quando la build del modello upstream non lo accetta | Aggiornare l'upstream. Su Opus 4.6 e Sonnet 4.6, gli sviluppatori possono invece impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |

124| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-management) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra a Bedrock | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/it/env-vars) |

125| [Contesto esteso](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) e [pensiero interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo intestazioni beta, nessun campo del corpo | Silenziosamente non disponibile quando l'intestazione viene rimossa; l'upstream non vede mai la richiesta di capacità | Inoltrare `anthropic-beta` verbatim |

126| Campi dello strumento beta [tool fields](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuno si associa con la sua intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Bedrock e Vertex | Inoltrare il campo e le sue intestazioni insieme |

128| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Claude Code ricade alla stima dell'utilizzo del contesto localmente | Esporre l'endpoint se desiderate conteggi esatti |

129 

130Le variabili `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [variables](/it/model-config) dichiarano le capacità del modello solo nelle configurazioni del provider: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, e [`CLAUDE_CODE_USE_MANTLE`](/it/amazon-bedrock#use-the-mantle-endpoint). Non hanno effetto dietro un gateway `ANTHROPIC_BASE_URL`.

131 

132<h3 id="automatic-retry-and-error-forwarding">

133 Ritentativo automatico e inoltro degli errori

134</h3>

135 

136Claude Code ritenta automaticamente dopo alcuni rifiuti upstream e disabilita la capacità rifiutata per il resto della conversazione. I rifiuti del campo `thinking`, dei [thinking signatures](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), e dei messaggi di sistema a metà conversazione si riprendono in questo modo. I rifiuti di gestione del contesto e di campi dello schema dello strumento non ritentano; quegli errori `400` raggiungono lo sviluppatore.

137 

138La logica di ritentativo corrisponde alla formulazione dell'errore dell'upstream, quindi inoltrare i corpi della risposta di errore invariati. Un gateway che avvolge gli errori upstream nel suo involucro interrompe il percorso di recupero anche quando preserva il codice di stato.

139 

140<h3 id="disable-pre-release-capabilities">

141 Disabilitare le capacità pre-release

142</h3>

143 

144`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` impedisce a Claude Code di inviare capacità pre-release e i loro campi del corpo su ogni provider, inclusa la gestione del contesto e i campi dello strumento beta. Non influisce sul ragionamento adattivo, che è selezionato dal modello piuttosto che da beta, e non sopprime mai la capacità OAuth che l'autenticazione della sottoscrizione richiede.

145 

146L'insieme delle capacità che Claude Code invia cresce nei rilasci. Per le stringhe di intestazione beta attuali, vedere il [riferimento delle intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers); testare il vostro gateway contro i nuovi rilasci di Claude Code piuttosto che bloccare a un elenco osservato.

147 

148<h2 id="model-discovery">

149 Scoperta dei modelli

150</h2>

151 

152Quando `ANTHROPIC_BASE_URL` punta a un gateway che espone il formato Anthropic Messages, Claude Code può interrogare l'endpoint `/v1/models` del gateway all'avvio e aggiungere i modelli restituiti al selettore `/model`.

153 

154Gli sviluppatori lo abilitano impostando [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/it/env-vars), nel loro ambiente o attraverso le impostazioni gestite. La scoperta è disattivata per impostazione predefinita in modo che i gateway supportati da una chiave API condivisa non espongano ogni modello a cui la chiave può accedere a ogni utente. Questo richiede Claude Code v2.1.129 o successivo.

155 

156<h3 id="when-discovery-runs">

157 Quando viene eseguita la scoperta

158</h3>

159 

160La scoperta si applica solo al formato Anthropic Messages. Non viene eseguita quando:

161 

162* Qualsiasi variabile del provider `CLAUDE_CODE_USE_*` è impostata, anche se `ANTHROPIC_BASE_URL` è anche impostato

163* `ANTHROPIC_BASE_URL` non è impostato o punta a `api.anthropic.com`

164* Il traffico non essenziale è disabilitato, attraverso [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/it/env-vars) o la politica dell'organizzazione

165 

166<h3 id="request-and-response">

167 Richiesta e risposta

168</h3>

169 

170La richiesta è `GET /v1/models?limit=1000` con un timeout di 3 secondi, e qualsiasi reindirizzamento è trattato come fallimento in modo che la credenziale non possa trapelare a una destinazione di reindirizzamento. Un gateway che risponde lentamente o reindirizza `/v1/models`, anche da `http` a `https`, fallisce la scoperta silenziosamente; servire l'endpoint direttamente all'URL di base configurato.

171 

172La richiesta di scoperta invia esattamente un'intestazione di credenziale:

173 

174* `ANTHROPIC_AUTH_TOKEN` come token bearer, quando impostato

175* Altrimenti la chiave API risolta, incluso un valore [`apiKeyHelper`](/it/llm-gateway-connect#rotate-credentials-with-apikeyhelper), nell'intestazione `x-api-key`

176 

177Questo differisce dalle richieste di inferenza, che inviano un valore helper in entrambe le intestazioni. Un gateway che autentica `/v1/models` deve accettare `x-api-key` per le distribuzioni helper. Qualsiasi intestazione da `ANTHROPIC_CUSTOM_HEADERS` è inclusa anche.

178 

179Claude Code legge `id` e il `display_name` opzionale da ogni voce nell'array `data` della risposta, e ignora le voci il cui `id` non inizia con `claude` o `anthropic`:

180 

181```json theme={null}

182{

183 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }

186 ]

187}

188```

189 

190<h3 id="picker-entries-and-caching">

191 Voci del selettore e caching

192</h3>

193 

194Il selettore è l'elenco interattivo dei modelli che si apre quando uno sviluppatore esegue `/model` in Claude Code. Ogni voce scoperta è etichettata "From gateway" e utilizza `display_name` quando fornito. Un ID scoperto viene saltato solo quando corrisponde esattamente a una riga già nel selettore, o quando sia l'ID scoperto che quello esistente si risolvono in [Fable](/it/model-config#work-with-fable-5). Le righe integrate sono codificate su alias come `sonnet`, quindi un ID scoperto come `claude-sonnet-4-6` aggiunge la sua propria riga "From gateway" accanto alla voce integrata. L'[impostazione gestita `availableModels`](/it/settings#available-settings) limita quello che la scoperta può aggiungere.

195 

196I risultati vengono memorizzati nella cache in `~/.claude/cache/gateway-models.json`, o `%USERPROFILE%\.claude\cache\gateway-models.json` su Windows, e aggiornati ad ogni avvio. Se la richiesta fallisce o il gateway non implementa `/v1/models`, il selettore ricade all'elenco memorizzato nella cache dall'avvio precedente o all'elenco dei modelli integrati. Se il vostro gateway serve modelli Claude con alias che non corrispondono al filtro di scoperta, gli sviluppatori possono aggiungere quegli alias manualmente con le [variabili di configurazione del modello](/it/model-config).

197 

198<h2 id="related-resources">

199 Risorse correlate

200</h2>

201 

202Per il resto della serie di documentazione del gateway e i riferimenti API sottostanti:

203 

204* [Panoramica dei gateway LLM](/it/llm-gateway): cos'è un gateway e come interagisce con le sottoscrizioni claude.ai

205* [Distribuire un gateway LLM per la vostra organizzazione](/it/llm-gateway-rollout): la checklist dell'amministratore che utilizza questo contratto

206* [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect): configurazione per sviluppatore e la tabella di risoluzione dei problemi

207* [Riferimento delle intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers): l'insieme attuale dei valori `anthropic-beta`

208* [API Messages](https://platform.claude.com/docs/en/api/messages): il formato API che un gateway in formato Anthropic implementa

llm-gateway-rollout.md +296 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Distribuire un gateway LLM per la vostra organizzazione

6 

7> Distribuire un prodotto gateway per Claude Code: configurarlo per inoltrare ciò che Claude Code invia, emettere credenziali per sviluppatori, distribuire la configurazione tramite impostazioni gestite e verificare la distribuzione.

8 

9Questa pagina guida un amministratore nella distribuzione di un gateway LLM per Claude Code. Presuppone che abbiate un prodotto gateway distribuito che soddisfi i [requisiti del gateway](#gateway-requirements). La distribuzione o l'operazione di qualsiasi prodotto specifico non è trattata qui; distribuite il vostro seguendo la documentazione del fornitore.

10 

11<Note>

12 * Per connettere Claude Code sulla vostra macchina a un gateway esistente, vedere [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect)

13 * Per informazioni su ciò che Claude Code invia a un gateway e cosa inoltrare, vedere il [riferimento del protocollo gateway](/it/llm-gateway-protocol)

14</Note>

15 

16<h2 id="prerequisites">

17 Prerequisiti

18</h2>

19 

20Per completare la distribuzione, avrete bisogno di:

21 

22* Un gateway distribuito sulla vostra infrastruttura, che serve HTTPS all'indirizzo esatto che distribuirete agli sviluppatori, non a un indirizzo che vi reindirizza, e configurato per instradare i nomi dei modelli Claude al vostro provider

23* Una credenziale del provider per il gateway da inoltrare con:

24 * Per l'API Anthropic: una chiave API dalla [Claude Console](https://platform.claude.com/settings/keys)

25 * Per un provider cloud: credenziali cloud con accesso ai modelli. Vedere i prerequisiti nella pagina [Amazon Bedrock](/it/amazon-bedrock#prerequisites), [Google Vertex AI](/it/google-vertex-ai#prerequisites) o [Microsoft Foundry](/it/microsoft-foundry#prerequisites)

26* Un modo per consegnare file di impostazioni alle macchine degli sviluppatori, come MDM o gestione della configurazione

27 * Se non ne avete ancora uno, [come le impostazioni raggiungono i dispositivi](/it/admin-setup#decide-how-settings-reach-devices) confronta le opzioni

28 

29<h3 id="gateway-requirements">

30 Requisiti del gateway

31</h3>

32 

33Qualunque prodotto fornisca il gateway, deve:

34 

35* **Accettare un formato API supportato**: uno dei formati nella [tabella dei formati API](/it/llm-gateway-protocol#api-formats). I passaggi di distribuzione di seguito presuppongono l'API Anthropic Messages a `POST /v1/messages`, che la maggior parte dei gateway serve

36* **Trasmettere le risposte in streaming**: passare gli eventi inviati dal server così come arrivano invece di memorizzare l'intera risposta nel buffer

37* **Instradare i nomi dei modelli Claude**: mappare ogni nome che gli sviluppatori usano a un modello upstream. Claude Code invia un nome di modello come `claude-sonnet-4-6` in ogni richiesta; nella maggior parte dei prodotti gateway il mapping è un elenco di modelli o una tabella di instradamento nella configurazione del gateway stesso

38* **Inoltrare intestazioni e corpo invariati**: passare `anthropic-beta`, `anthropic-version` e il corpo della richiesta in entrambe le direzioni; la [tabella di pass-through delle funzionalità](/it/llm-gateway-protocol#feature-pass-through) mappa ciascuno alla funzionalità che si interrompe senza di esso

39* **Restituire gli errori upstream non modificati**: il recupero automatico di Claude Code corrisponde alla formulazione dell'errore, quindi avvolgere gli errori nel proprio envelope del gateway lo interrompe

40* **Esentare il percorso dall'ispezione WAF del corpo della richiesta**: i prompt di Claude Code contengono codice sorgente e tag in stile XML che corrispondono alle regole del corpo dello scripting tra siti; un WAF davanti al gateway restituisce `403` su sessioni reali mentre le brevi richieste di test passano

41 

42Facoltativamente, servire `GET /v1/models` in modo che Claude Code possa popolare il selettore di modelli dal vostro gateway con [model discovery](/it/llm-gateway-protocol#model-discovery). {/* min-version: 2.1.129 */}

43 

44<h2 id="rollout-steps">

45 Passaggi di distribuzione

46</h2>

47 

48La distribuzione richiede cinque passaggi, ciascuno con un checkpoint:

49 

501. [Confermare che il gateway instrada i vostri modelli](#confirm-the-gateway-routes-your-models)

512. [Emettere a ogni sviluppatore una credenziale](#issue-developer-credentials)

523. [Testare Claude Code rispetto al gateway](#test-claude-code-against-the-gateway)

534. [Distribuire l'URL di base e le credenziali](#distribute-the-configuration)

545. [Verificare da una macchina sviluppatore](#verify-the-rollout)

55 

56I passaggi coinvolgono tre credenziali diverse e i checkpoint le nominano per segnaposto in modo che possiate dire quale sia responsabile quando qualcosa fallisce:

57 

58| Credenziale | Chi la detiene | Segnaposto nei checkpoint |

59| :------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------- |

60| Credenziale del provider | Il gateway, che la inoltra al provider upstream | Configurata sul gateway; non appare mai nei comandi client |

61| Credenziale amministrativa del gateway | Voi, se il vostro prodotto gateway ne emette una per la sua interfaccia amministrativa o di test | `<gateway-key>` |

62| Chiave dello sviluppatore | Ogni sviluppatore, emessa dal gateway in [Emettere credenziali per sviluppatori](#issue-developer-credentials) | `<developer-key>` |

63 

64<h3 id="confirm-the-gateway-routes-your-models">

65 Confermare che il gateway instrada i vostri modelli

66</h3>

67 

68Il vostro gateway dovrebbe già essere configurato con la vostra credenziale del provider, in ascolto al suo URL di base e inoltro delle richieste all'API del vostro provider. Testate che il percorso funzioni da capo a fondo con una richiesta minima, sostituendo due valori dalla vostra distribuzione:

69 

70* `<gateway-key>` è qualunque credenziale vi consenta di chiamare il gateway in questo momento: una chiave amministrativa, una chiave di test o la vostra chiave sviluppatore personale se ne avete già emessa una. Non tutti i prodotti gateway hanno una credenziale amministrativa separata; se il vostro non ne ha una, emettete prima una chiave sviluppatore per voi stessi in [Emettere credenziali per sviluppatori](#issue-developer-credentials)

71* `model` è un nome di modello Claude che il vostro gateway è configurato per instradare. L'esempio usa `claude-sonnet-4-6`; sostituite un nome che avete configurato

72 

73<Tabs>

74 <Tab title="Bash o Zsh">

75 ```bash theme={null}

76 curl -X POST "https://llm-gateway.example.com/v1/messages" \

77 -H "Authorization: Bearer <gateway-key>" \

78 -H "anthropic-version: 2023-06-01" \

79 -H "content-type: application/json" \

80 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

81 ```

82 </Tab>

83 

84 <Tab title="PowerShell">

85 ```powershell theme={null}

86 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

87 -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `

88 -ContentType "application/json" `

89 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

90 ```

91 </Tab>

92</Tabs>

93 

94**Checkpoint**: un `200` con un campo `content` significa che il gateway ha raggiunto il provider con quel nome di modello. Un `404` significa che quel nome non è instradato al gateway; un `401` dal provider significa che la credenziale del provider del gateway è sbagliata.

95 

96Ripetete la richiesta una volta per ogni nome di modello Claude nella configurazione di instradamento del vostro gateway. Un nome che il gateway non instrada restituisce `404` a qualsiasi sviluppatore che lo seleziona, quindi testate ogni nome prima della distribuzione.

97 

98<Note>

99 Evitate di servire il gateway dietro un reindirizzamento. Un reindirizzamento può eliminare il corpo della richiesta o rimuovere l'intestazione della credenziale sulle richieste di inferenza, e [model discovery](/it/llm-gateway-protocol#model-discovery) tratta qualsiasi reindirizzamento come un fallimento in modo che la credenziale non possa trapelare a una destinazione di reindirizzamento.

100</Note>

101 

102<h3 id="issue-developer-credentials">

103 Emettere credenziali per sviluppatori

104</h3>

105 

106Ogni sviluppatore ha bisogno della propria chiave gateway per autenticarsi. Create una credenziale per sviluppatore al gateway, seguendo la documentazione di gestione delle credenziali del vostro prodotto.

107 

108Confermate che una chiave appena emessa funzioni rispetto al gateway con la stessa richiesta di [Confermare che il gateway instrada i vostri modelli](#confirm-the-gateway-routes-your-models), sostituendo `<gateway-key>` con la nuova `<developer-key>`:

109 

110<Tabs>

111 <Tab title="Bash o Zsh">

112 ```bash theme={null}

113 curl -X POST "https://llm-gateway.example.com/v1/messages" \

114 -H "Authorization: Bearer <developer-key>" \

115 -H "anthropic-version: 2023-06-01" \

116 -H "content-type: application/json" \

117 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

118 ```

119 </Tab>

120 

121 <Tab title="PowerShell">

122 ```powershell theme={null}

123 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

124 -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `

125 -ContentType "application/json" `

126 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

127 ```

128 </Tab>

129</Tabs>

130 

131**Checkpoint**: un `200` con un campo `content` significa che la chiave dello sviluppatore raggiunge il gateway e il gateway la inoltra. Un `401` qui, quando [il passaggio precedente](#confirm-the-gateway-routes-your-models) ha avuto successo, significa che la chiave dello sviluppatore è sbagliata o non ha ancora avuto effetto al gateway.

132 

133Emettere una chiave per sviluppatore piuttosto che una chiave condivisa è ciò che rende possibile l'attribuzione dell'utilizzo per sviluppatore e l'offboarding individuale. La variabile di ambiente che contiene la chiave dipende da quale intestazione il gateway legge. Per un gateway che controlla le credenziali nell'intestazione `Authorization: Bearer`, gli sviluppatori impostano la loro chiave in `ANTHROPIC_AUTH_TOKEN`. Per un gateway che legge le chiavi dall'intestazione `x-api-key`, gli sviluppatori impostano invece `ANTHROPIC_API_KEY`; la [tabella delle credenziali](/it/llm-gateway-connect#set-the-credential-variable) copre il mapping.

134 

135<h3 id="test-claude-code-against-the-gateway">

136 Testare Claude Code rispetto al gateway

137</h3>

138 

139Eseguite Claude Code attraverso il gateway voi stessi prima di distribuire qualcosa, usando la stessa configurazione che la distribuzione consegnerà a livello di flotta. Digitate questi direttamente in un terminale, non in un file `.env` o di impostazioni; durano solo per questa sessione di terminale, quindi chiuderla restituisce la vostra macchina alla sua configurazione normale. Usate `ANTHROPIC_API_KEY` invece di `ANTHROPIC_AUTH_TOKEN` se il vostro gateway legge l'intestazione `x-api-key`:

140 

141<Tabs>

142 <Tab title="Bash o Zsh">

143 ```bash theme={null}

144 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

145 export ANTHROPIC_AUTH_TOKEN="<developer-key>"

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

152 $env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"

153 ```

154 </Tab>

155</Tabs>

156 

157Quindi inviate un prompt una tantum attraverso il gateway:

158 

159```bash theme={null}

160claude -p "Reply with one word: connected"

161```

162 

163**Checkpoint**: il prompt restituisce una risposta e la richiesta appare nel log del gateway come un `POST` al percorso `/v1/messages` con stato `200`. Claude Code aggiunge una stringa di query come `?beta=true`, quindi abbinate il percorso, non l'URL completo. Due messaggi di errore puntano in direzioni diverse:

164 

165* `Not logged in`: controllate il log del gateway per distinguere le due cause. Se è vuoto, nessuna credenziale ha raggiunto la sessione e nessuna richiesta ha lasciato la macchina; rieseguite le esportazioni nella shell da cui state testando. Se mostra una richiesta rifiutata con `x-api-key` nel corpo `401`, il gateway si aspetta chiavi in quell'intestazione invece; passate a `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` significa che una credenziale è stata inviata e rifiutata, e il log del gateway dice dove: un `401` che nomina `api.anthropic.com` o l'endpoint del vostro provider significa che il gateway ha raggiunto l'upstream ma la sua credenziale del provider è stata rifiutata, quindi la chiave dello sviluppatore ha funzionato e la credenziale del provider che il gateway detiene è sbagliata o un segnaposto

167 

168Un URL di base sbagliato o irraggiungibile produce un sintomo diverso: Claude Code [ritenta la connessione con backoff](/it/errors#automatic-retries) e può stare senza output per diversi minuti prima di segnalare un errore. Se il comando sembra bloccarsi, controllate il log del gateway invece di aspettare; nessuna richiesta in arrivo significa che `ANTHROPIC_BASE_URL` non punta al gateway.

169 

170<h3 id="distribute-the-configuration">

171 Distribuire la configurazione

172</h3>

173 

174Ogni macchina sviluppatore ha bisogno dell'indirizzo del gateway e di una credenziale. Potete distribuirli centralmente tramite [impostazioni gestite](/it/settings#settings-files), in modo che gli sviluppatori non configurino nulla, o consegnate agli sviluppatori i valori da impostare loro stessi.

175 

176<h4 id="what-to-distribute">

177 Cosa distribuire

178</h4>

179 

180Lo stesso insieme di variabili si applica qualunque percorso scegliate. La maggior parte delle distribuzioni ha bisogno solo di `ANTHROPIC_BASE_URL` e di una credenziale; includete le righe condizionali quando la vostra configurazione del gateway lo richiede.

181 

182| Variabile o impostazione | Cosa fa | Includere quando |

183| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Invia le richieste API di Claude Code al gateway invece di `api.anthropic.com` | Sempre |

185| `apiKeyHelper`, o una credenziale in `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY` | Autentica ogni richiesta al gateway. L'helper esegue un comando per recuperare la chiave; le variabili contengono una chiave statica, inviata come `Authorization: Bearer` e `x-api-key` rispettivamente | Sempre; uno dei tre |

186| `ANTHROPIC_CUSTOM_HEADERS` | Aggiunge intestazioni HTTP extra a ogni richiesta API | Il vostro gateway richiede un'intestazione tenant o di instradamento su ogni richiesta |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Interroga il `/v1/models` del gateway all'avvio e aggiunge i nomi restituiti al selettore `/model` | Il vostro gateway serve `/v1/models` e volete che i selettori degli sviluppatori siano popolati da esso |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impedisce a Claude Code di inviare intestazioni di capacità pre-release e campi del corpo | Il vostro gateway inoltra a un upstream Bedrock o Vertex che rifiuta i campi beta; vedere [Requisiti del gateway](#gateway-requirements) |

189| `ANTHROPIC_MODEL` o [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/it/model-config) | Impostare quale nome di modello Claude Code richiede per la sessione principale e per il traffico di background | Il vostro gateway instrada nomi di modelli che non corrispondono ai valori predefiniti di Claude Code, o instradare [funzionalità di background](/it/costs#background-token-usage) a un modello diverso. Instradare sia i nomi di override che i nomi predefiniti di Claude Code al gateway, poiché alcune sub-call possono richiedere il nome predefinito indipendentemente dall'override |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, o `ANTHROPIC_AWS_BASE_URL` con le [variabili per quel provider](/it/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Puntare Claude Code al gateway attraverso un URL di base specifico del provider. Bedrock e Vertex passano anche al formato di richiesta nativo di quei provider | Il vostro gateway fronteggia Bedrock, Vertex, Foundry o la Claude Platform su AWS; vedere [Formati API](/it/llm-gateway-protocol#api-formats) |

191 

192<h4 id="distribute-through-managed-settings">

193 Distribuire tramite impostazioni gestite

194</h4>

195 

196Consegnate le variabili attraverso il blocco `env` di un [file di impostazioni gestite](/it/settings#settings-files), spinto da MDM, criterio di registro o gestione della configurazione:

197 

198```json theme={null}

199{

200 "env": {

201 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com"

202 },

203 "apiKeyHelper": "/usr/local/bin/get-gateway-key"

204}

205```

206 

207Aggiungete le variabili condizionali dalla tabella allo stesso blocco `env`. Un `ANTHROPIC_BASE_URL` gestito è applicato e non può essere sovrascritto da un'esportazione di shell di uno sviluppatore, poiché Claude Code lo applica sopra l'ambiente del processo e le impostazioni di priorità inferiore.

208 

209Non includete `forceLoginMethod` o `forceLoginOrgUUID` nelle impostazioni gestite insieme a una credenziale gateway. Su Claude Code v2.1.146 e successivi, una delle due chiavi blocca `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `apiKeyHelper` all'avvio, in modo che gli sviluppatori vedano `This machine's managed settings require a first-party login` e non possano procedere. {/* min-version: 2.1.146 */}

210 

211La consegna di [impostazioni gestite dal server](/it/server-managed-settings#platform-availability) richiede una connessione diretta a `api.anthropic.com`, quindi non raggiunge le sessioni instradate dal gateway. Le distribuzioni gateway utilizzano questo percorso di impostazioni gestite basato su file, che applica le stesse chiavi.

212 

213Per la credenziale, distribuite un comando [`apiKeyHelper`](/it/llm-gateway-connect#rotate-credentials-with-apikeyhelper) nel file di impostazioni gestite come mostrato sopra; il comando si autentica al vostro archivio di segreti come sviluppatore locale, quindi ogni macchina riceve la propria chiave. In alternativa, consegnate a ogni sviluppatore la sua chiave attraverso il vostro processo di segreti esistente e fate loro impostare `ANTHROPIC_AUTH_TOKEN` loro stessi.

214 

215Alcuni ambienti hanno bisogno di consegna separata:

216 

217* L'app desktop legge l'instradamento del gateway solo dalla sua configurazione di inferenza di terze parti consegnata tramite MDM; distribuite quel file insieme alle impostazioni gestite in modo che le sessioni desktop instradino anche attraverso il gateway. Vedere la [documentazione di configurazione di terze parti del desktop](https://claude.com/docs/cowork/3p/configuration) e la [documentazione del gateway del desktop](https://claude.com/docs/cowork/3p/gateway)

218* I runner CI hanno bisogno di `ANTHROPIC_BASE_URL` e della credenziale impostati nell'[ambiente del runner](/it/llm-gateway-connect#configure-each-surface)

219* WSL su macchine Windows gestite legge le impostazioni gestite di Windows solo quando [`wslInheritsWindowsSettings`](/it/settings#available-settings) è `true`

220 

221<h4 id="hand-developers-the-values-to-set-themselves">

222 Consegnare agli sviluppatori i valori da impostare loro stessi

223</h4>

224 

225Se non avete la distribuzione di impostazioni gestite in atto, inviate a ogni sviluppatore ciò di cui ha bisogno per seguire la [pagina di connessione](/it/llm-gateway-connect#configure-claude-code-yourself):

226 

227* L'URL del gateway

228* La loro credenziale personale

229* **Quale variabile mettere la credenziale in**: `ANTHROPIC_AUTH_TOKEN` per un gateway bearer-token, o `ANTHROPIC_API_KEY` per un gateway `x-api-key`. Dire agli sviluppatori quale uno risparmia loro il trial-and-error descritto nella [pagina di connessione](/it/llm-gateway-connect#set-the-credential-variable)

230* Qualsiasi variabile condizionale dalla [tabella Cosa distribuire](#what-to-distribute), con i loro valori

231 

232La [pagina di connessione](/it/llm-gateway-connect#configure-claude-code-yourself) guida gli sviluppatori attraverso l'impostazione di ciascuno.

233 

234**Checkpoint**: su una macchina sviluppatore, `claude` avvia una sessione senza mostrare la schermata di accesso, poiché la credenziale distribuita soddisfa l'autenticazione. Quindi eseguite `/status` e aprite la scheda **Status**: la riga `Anthropic base URL` mostra l'indirizzo del gateway, e per la distribuzione gestita la riga `Setting sources` include impostazioni gestite. Una schermata di accesso, o una riga `Anthropic base URL` mancante, significa che la configurazione non ha raggiunto la macchina.

235 

236<h3 id="verify-the-rollout">

237 Verificare la distribuzione

238</h3>

239 

240Confermate che tutto funzioni da una macchina sviluppatore, non dall'host del gateway, in modo che il test copra il percorso di rete che gli sviluppatori usano. Inviate una richiesta in streaming, che controlla l'endpoint, il pass-through dello streaming e l'instradamento del modello in una volta:

241 

242<Tabs>

243 <Tab title="Bash o Zsh">

244 ```bash theme={null}

245 curl -N -X POST "https://llm-gateway.example.com/v1/messages" \

246 -H "Authorization: Bearer <developer-key>" \

247 -H "anthropic-version: 2023-06-01" \

248 -H "content-type: application/json" \

249 -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

250 ```

251 </Tab>

252 

253 <Tab title="PowerShell">

254 ```powershell theme={null}

255 $body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

256 $body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `

257 -H "Authorization: Bearer <developer-key>" `

258 -H "anthropic-version: 2023-06-01" `

259 -H "content-type: application/json" `

260 --data-binary '@-'

261 ```

262 </Tab>

263</Tabs>

264 

265Dovreste vedere le righe `data:` arrivare in modo incrementale. L'intera risposta che arriva in una volta dopo una pausa significa che il gateway sta memorizzando nel buffer, il che blocca Claude Code; un `404` significa che il nome del modello non è instradato. Ripetete per nome di modello.

266 

267Quindi avviate `claude` e inviate un messaggio. Ogni sintomo in questo passaggio ha una causa:

268 

269* Un prompt di accesso significa un divario di credenziale. Eseguite `/status` e aprite la scheda **Status**: quando la riga `Setting sources` non include impostazioni gestite, la distribuzione non ha raggiunto la macchina; quando lo fa, la credenziale dello sviluppatore non è stata consegnata, quindi impostate `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper`

270* Gli errori `Failed to authenticate` significano che il gateway sta rifiutando le richieste; il suo log dice quale credenziale ha fallito. Un rifiuto che il gateway registra stesso nomina la chiave dello sviluppatore, mentre un `401` da `api.anthropic.com` o dall'endpoint del vostro provider significa che la credenziale del provider che il gateway detiene è stata rifiutata

271* Un prompt di approvazione una tantum per la chiave è previsto al primo utilizzo quando il gateway si aspetta chiavi nell'intestazione `x-api-key`, impostata come `ANTHROPIC_API_KEY`. Con `ANTHROPIC_AUTH_TOKEN`, nessun prompt appare e la variabile prende il controllo silenziosamente; un accesso claude.ai precedentemente salvato è inattivo per quella sessione

272 

273Infine, controllate i log del gateway per il messaggio che avete inviato: la credenziale identifica lo sviluppatore, e l'[intestazione `x-claude-code-session-id`](/it/llm-gateway-protocol#request-headers) raggruppa le richieste per sessione. Se le funzionalità falliscono con i [sintomi di risoluzione dei problemi](/it/llm-gateway-connect#troubleshoot-gateway-errors), il gateway sta rimuovendo intestazioni o riscrivendo errori; vedere i [requisiti del gateway](#gateway-requirements) sopra.

274 

275<h2 id="maintain-the-gateway">

276 Mantenere il gateway

277</h2>

278 

279Dopo la distribuzione, tre tipi di cambiamento raggiungono il gateway nel tempo. Ciascuno ha un sintomo da osservare e un'azione da intraprendere.

280 

281| Cambiamento | Sintomo quando il gateway non è aggiornato | Azione |

282| :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

283| Le nuove versioni di Claude Code aggiungono valori `anthropic-beta` e campi del corpo della richiesta | Gli sviluppatori segnalano errori `400` che nominano un nuovo campo dopo aver aggiornato Claude Code; vedere [feature pass-through](/it/llm-gateway-protocol#feature-pass-through) | Inoltrare le intestazioni `anthropic-*` e i corpi delle richieste verbatim piuttosto che allowlisting; testare le nuove versioni di Claude Code rispetto al gateway prima che raggiungano gli sviluppatori |

284| Nuovi modelli Claude diventano disponibili | Gli sviluppatori che selezionano un nuovo nome di modello ottengono `404`; il selettore `/model` non lo elenca | Aggiungere il nome del modello alla configurazione di instradamento del gateway, quindi rieseguire il [controllo di instradamento](#confirm-the-gateway-routes-your-models). Se distribuite `ANTHROPIC_MODEL` o le variabili del modello predefinito, aggiornate le impostazioni gestite |

285| Le credenziali scadono o hanno bisogno di rotazione | Tutte le richieste degli sviluppatori iniziano a fallire con `401` dall'upstream | Ruotate la credenziale del provider del gateway secondo il vostro programma; le chiavi dello sviluppatore ruotano al gateway, e un [`apiKeyHelper`](/it/llm-gateway-connect#rotate-credentials-with-apikeyhelper) gestisce la rotazione per sviluppatore senza ridistribuire le impostazioni |

286 

287Quando dimensionate i limiti di velocità per chiave, tenete conto del client che [ritenta i fallimenti transitori](/it/errors#automatic-retries), incluse le risposte `429`, fino a 10 volte con backoff, onorando `Retry-After`. Mantenete il [riferimento del protocollo](/it/llm-gateway-protocol) come il contratto per ciò che ogni versione di Claude Code invia.

288 

289<h2 id="related-resources">

290 Risorse correlate

291</h2>

292 

293* [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect): i passaggi di configurazione rivolti agli sviluppatori, con configurazione per superficie e una tabella di risoluzione dei problemi che potete consegnare agli sviluppatori

294* [Riferimento del protocollo gateway](/it/llm-gateway-protocol): il contratto di rete per gli operatori del gateway, che copre endpoint, intestazioni da inoltrare e la tabella di pass-through delle funzionalità

295* [File di impostazioni e precedenza](/it/settings#settings-files): come le impostazioni gestite, di progetto e utente si combinano, e dove va il file gestito su ogni piattaforma

296* [Configurare Claude Code per la vostra organizzazione](/it/admin-setup): la distribuzione più ampia di cui questo gateway è una parte, inclusa l'applicazione delle politiche, la visibilità dell'utilizzo e la gestione dei dati

mcp.md +3 −1

Details

196 196 

197Lo stesso backoff si applica quando un server HTTP o SSE non riesce la sua connessione iniziale all'avvio. A partire dalla v2.1.121, Claude Code ritenta la connessione iniziale fino a tre volte su errori transitori come una risposta 5xx, una connessione rifiutata o un timeout, quindi contrassegna il server come non riuscito se ancora non riesce a connettersi. Gli errori di autenticazione e di non trovato non vengono ritentati perché richiedono una modifica della configurazione per essere risolti.197Lo stesso backoff si applica quando un server HTTP o SSE non riesce la sua connessione iniziale all'avvio. A partire dalla v2.1.121, Claude Code ritenta la connessione iniziale fino a tre volte su errori transitori come una risposta 5xx, una connessione rifiutata o un timeout, quindi contrassegna il server come non riuscito se ancora non riesce a connettersi. Gli errori di autenticazione e di non trovato non vengono ritentati perché richiedono una modifica della configurazione per essere risolti.

198 198 

199A partire dalla v2.1.191, le richieste di scoperta delle capacità che vengono eseguite dopo una connessione riuscita, come `tools/list`, `prompts/list`, e `resources/list`, ritentano anche gli errori di rete transitori e del server fino a tre volte con backoff breve. Gli errori di autenticazione, le risposte 4xx e i timeout delle richieste non vengono ritentati.

200 

199<h3 id="push-messages-with-channels">201<h3 id="push-messages-with-channels">

200 Invia messaggi con canali202 Invia messaggi con canali

201</h3>203</h3>


568 570 

569Per cancellare le credenziali archiviate in seguito, esegui `claude mcp logout <name>`.571Per cancellare le credenziali archiviate in seguito, esegui `claude mcp logout <name>`.

570 572 

571Quando sei connesso tramite SSH, aggiungi `--no-browser` in modo che il comando stampi l'URL di autorizzazione invece di aprire un browser. Apri l'URL sulla tua macchina locale, quindi incolla l'URL di reindirizzamento completo dalla barra degli indirizzi del tuo browser al prompt. Il comando ha bisogno di un terminale interattivo per il passaggio di incollamento, quindi connettiti con `ssh -t`.573A partire da v2.1.191, il comando rileva quando nessun browser locale è disponibile, ad esempio durante una sessione SSH o su Linux senza un server di visualizzazione, e stampa l'URL di autorizzazione invece di provare ad aprire un browser. Apri l'URL sulla tua macchina locale, quindi incolla l'URL di reindirizzamento completo dalla barra degli indirizzi del tuo browser al prompt. Il comando ha bisogno di un terminale interattivo per il passaggio di incollamento, quindi connettiti con `ssh -t`. Passa `--no-browser` per forzare il prompt dell'URL anche quando viene rilevato un browser locale.

572 574 

573```bash theme={null}575```bash theme={null}

574claude mcp login sentry --no-browser576claude mcp login sentry --no-browser

model-config.md +3 −3

Details

20 * Vertex: un nome di versione20 * Vertex: un nome di versione

21 21 

22<Note>22<Note>

23 `ANTHROPIC_BASE_URL` cambia dove vengono inviate le richieste, non quale modello le risponde. Per instradare Claude attraverso un gateway LLM, vedere [configurazione del gateway LLM](/it/llm-gateway).23 `ANTHROPIC_BASE_URL` cambia dove vengono inviate le richieste, non quale modello le risponde. Per instradare Claude attraverso un gateway LLM, vedere [gateway LLM](/it/llm-gateway).

24</Note>24</Note>

25 25 

26<h3 id="model-aliases">26<h3 id="model-aliases">


493 Aggiungere un'opzione di modello personalizzato493 Aggiungere un'opzione di modello personalizzato

494</h2>494</h2>

495 495 

496Utilizzare `ANTHROPIC_CUSTOM_MODEL_OPTION` per aggiungere una singola voce personalizzata al selettore `/model` senza sostituire gli alias incorporati. Questo è utile per testare ID di modello che Claude Code non elenca per impostazione predefinita. Per le distribuzioni di gateway LLM, Claude Code può popolare il selettore dall'endpoint `/v1/models` del gateway quando `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` è impostato, quindi questa variabile è necessaria solo quando la scoperta è disabilitata o non restituisce il modello desiderato. Vedere [Selezione del modello del gateway LLM](/it/llm-gateway#model-selection).496Utilizzare `ANTHROPIC_CUSTOM_MODEL_OPTION` per aggiungere una singola voce personalizzata al selettore `/model` senza sostituire gli alias incorporati. Questo è utile per testare ID di modello che Claude Code non elenca per impostazione predefinita. Per le distribuzioni di gateway LLM, Claude Code può popolare il selettore dall'endpoint `/v1/models` del gateway quando `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` è impostato, quindi questa variabile è necessaria solo quando la scoperta è disabilitata o non restituisce il modello desiderato. Vedere [gateway model discovery](/it/llm-gateway-protocol#model-discovery).

497 497 

498Questo esempio imposta tutte e tre le variabili per rendere selezionabile una distribuzione Opus instradata tramite gateway:498Questo esempio imposta tutte e tre le variabili per rendere selezionabile una distribuzione Opus instradata tramite gateway:

499 499 


505 505 

506La voce personalizzata appare in fondo al selettore `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` e `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sono facoltativi. Se omessi, l'ID del modello viene utilizzato come nome e la descrizione per impostazione predefinita è `Custom model (<model-id>)`.506La voce personalizzata appare in fondo al selettore `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` e `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sono facoltativi. Se omessi, l'ID del modello viene utilizzato come nome e la descrizione per impostazione predefinita è `Custom model (<model-id>)`.

507 507 

508Claude Code salta la convalida per l'ID del modello impostato in `ANTHROPIC_CUSTOM_MODEL_OPTION`, quindi è possibile utilizzare qualsiasi stringa che l'endpoint API accetta. Quando [`availableModels`](#restrict-model-selection) è impostato, includere l'ID del modello personalizzato anche nell'elenco di autorizzazione: la voce personalizzata viene filtrata dal selettore e una selezione `--model` di essa viene rifiutata come qualsiasi altro modello escluso. Un ID personalizzato che incorpora un nome di famiglia, come `my-gateway/claude-opus-4-7`, conta come una voce specifica per quella famiglia e disabilita il suo wildcard, quindi elencare anche le versioni che intendete mantenere selezionabili. Vedere [Comportamento di unione](#merge-behavior).508Claude Code salta la convalida per l'ID del modello impostato in `ANTHROPIC_CUSTOM_MODEL_OPTION`, quindi è possibile utilizzare qualsiasi stringa che l'endpoint API accetta. Quando [`availableModels`](#restrict-model-selection) è impostato, includere l'ID del modello personalizzato anche nell'elenco di autorizzazione: la voce personalizzata viene filtrata dal selettore e una selezione `--model` di essa viene rifiutata come qualsiasi altro modello escluso. Un ID personalizzato che incorpora un nome di famiglia, come `my-gateway/claude-opus-4-7`, conta come una voce specifica per quella famiglia e disabilita il suo wildcard, quindi elencare anche le versioni che intendete mantenere selezionabili. Vedere [Merge behavior](#merge-behavior).

509 509 

510<h2 id="environment-variables">510<h2 id="environment-variables">

511 Variabili di ambiente511 Variabili di ambiente

sandboxing.md +1 −1

Details

256 256 

257L'accesso alla rete è controllato tramite un server proxy in esecuzione al di fuori della sandbox:257L'accesso alla rete è controllato tramite un server proxy in esecuzione al di fuori della sandbox:

258 258 

259* **Restrizioni di dominio**: nessun dominio è pre-consentito. La prima volta che un comando ha bisogno di un nuovo dominio, Claude Code richiede l'approvazione. Pre-consenti i domini con [`allowedDomains`](/it/settings#sandbox-settings) per evitare il prompt.259* **Restrizioni di dominio**: nessun dominio è pre-consentito. La prima volta che un comando ha bisogno di un nuovo dominio, Claude Code richiede l'approvazione. {/* min-version: 2.1.191 */}A partire dalla v2.1.191, scegliere Sì consente l'host per il resto della sessione corrente, quindi le connessioni successive allo stesso host non richiedono di nuovo il prompt. Pre-consenti i domini con [`allowedDomains`](/it/settings#sandbox-settings) per evitare completamente il prompt.

260* **Blocco gestito**: se [`allowManagedDomainsOnly`](/it/settings#sandbox-settings) è impostato nelle impostazioni gestite, i domini non consentiti vengono bloccati automaticamente invece di richiedere, e solo `allowedDomains` dalle impostazioni gestite vengono rispettati.260* **Blocco gestito**: se [`allowManagedDomainsOnly`](/it/settings#sandbox-settings) è impostato nelle impostazioni gestite, i domini non consentiti vengono bloccati automaticamente invece di richiedere, e solo `allowedDomains` dalle impostazioni gestite vengono rispettati.

261* **Supporto proxy personalizzato**: gli utenti avanzati possono implementare regole personalizzate sul traffico in uscita261* **Supporto proxy personalizzato**: gli utenti avanzati possono implementare regole personalizzate sul traffico in uscita

262* **Copertura completa**: le restrizioni si applicano a tutti gli script, programmi e sottoprocessi generati dai comandi262* **Copertura completa**: le restrizioni si applicano a tutti gli script, programmi e sottoprocessi generati dai comandi

Details

204}204}

205```205```

206 206 

207Potete anche impostare questa chiave in un [profilo MDM gestito dall'endpoint](/it/settings#settings-files) o in un file `managed-settings.json` di sistema per applicare il comportamento fail-closed al primo avvio, prima che qualsiasi payload del server sia stato consegnato. A partire dalla v2.1.191, questo flag è un'eccezione alla [regola di precedenza](#settings-precedence) sopra: viene rispettato quando impostato in qualsiasi fonte gestita anche se è presente anche un payload memorizzato nella cache gestito dal server, quindi un valore consegnato da MDM non viene ignorato quando esistono impostazioni gestite dal server. Il recupero delle impostazioni invia anche un'intestazione `Cache-Control: no-cache` in modo che i proxy HTTP intermedi non servano una risposta non aggiornata.

208 

207Prima di abilitare questa impostazione, assicurarsi che le politiche di rete consentano la connettività a `api.anthropic.com`. Se tale endpoint non è raggiungibile, la CLI esce all'avvio e gli utenti non possono avviare Claude Code.209Prima di abilitare questa impostazione, assicurarsi che le politiche di rete consentano la connettività a `api.anthropic.com`. Se tale endpoint non è raggiungibile, la CLI esce all'avvio e gli utenti non possono avviare Claude Code.

208 210 

209A partire dalla v2.1.139, i sottocomandi `claude auth` come `claude auth login` sono esenti da questo controllo, in modo che gli utenti possano autenticarsi nuovamente quando le credenziali scadute sono il motivo per cui il recupero delle impostazioni non riesce.211A partire dalla v2.1.139, i sottocomandi `claude auth` come `claude auth login` sono esenti da questo controllo, in modo che gli utenti possano autenticarsi nuovamente quando le credenziali scadute sono il motivo per cui il recupero delle impostazioni non riesce.

Details

206La maggior parte delle organizzazioni può utilizzare un provider cloud direttamente senza configurazione aggiuntiva. Tuttavia, potrebbe essere necessario configurare un proxy aziendale o un gateway LLM se la tua organizzazione ha requisiti di rete o gestione specifici. Queste sono configurazioni diverse che possono essere utilizzate insieme:206La maggior parte delle organizzazioni può utilizzare un provider cloud direttamente senza configurazione aggiuntiva. Tuttavia, potrebbe essere necessario configurare un proxy aziendale o un gateway LLM se la tua organizzazione ha requisiti di rete o gestione specifici. Queste sono configurazioni diverse che possono essere utilizzate insieme:

207 207 

208* **Corporate proxy**: Instrada il traffico attraverso un proxy HTTP/HTTPS. Utilizzalo se la tua organizzazione richiede che tutto il traffico in uscita passi attraverso un server proxy per il monitoraggio della sicurezza, la conformità o l'applicazione della policy di rete. Configura con le variabili di ambiente `HTTPS_PROXY` o `HTTP_PROXY`. Scopri di più in [Enterprise network configuration](/it/network-config).208* **Corporate proxy**: Instrada il traffico attraverso un proxy HTTP/HTTPS. Utilizzalo se la tua organizzazione richiede che tutto il traffico in uscita passi attraverso un server proxy per il monitoraggio della sicurezza, la conformità o l'applicazione della policy di rete. Configura con le variabili di ambiente `HTTPS_PROXY` o `HTTP_PROXY`. Scopri di più in [Enterprise network configuration](/it/network-config).

209* **LLM Gateway**: Un servizio che si trova tra Claude Code e il provider cloud per gestire l'autenticazione e il routing. Utilizzalo se hai bisogno di tracciamento centralizzato dell'utilizzo tra i team, rate limiting personalizzato o budget, o gestione centralizzata dell'autenticazione. Configura con le variabili di ambiente `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, o `ANTHROPIC_VERTEX_BASE_URL`. Scopri di più in [LLM gateway configuration](/it/llm-gateway).209* **LLM Gateway**: Un servizio che si trova tra Claude Code e il provider cloud per gestire l'autenticazione e il routing. Utilizzalo se hai bisogno di tracciamento centralizzato dell'utilizzo tra i team, rate limiting personalizzato o budget, o gestione centralizzata dell'autenticazione. Configura con le variabili di ambiente `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, o `ANTHROPIC_VERTEX_BASE_URL`. Scopri di più in [LLM gateways](/it/llm-gateway).

210 210 

211I seguenti esempi mostrano le variabili di ambiente da impostare nella tua shell o nel profilo shell (`.bashrc`, `.zshrc`). Vedi [Settings](/it/settings) per altri metodi di configurazione.211I seguenti esempi mostrano le variabili di ambiente da impostare nella tua shell o nel profilo shell (`.bashrc`, `.zshrc`). Vedi [Settings](/it/settings) per altri metodi di configurazione.

212 212 


270 270 

271 # Configure LLM gateway271 # Configure LLM gateway

272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'

273 export CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 # If gateway handles Azure auth273 export ANTHROPIC_FOUNDRY_API_KEY=your-gateway-key # Sent as x-api-key

274 ```274 ```

275 </Tab>275 </Tab>

276</Tabs>276</Tabs>


304 # Configure LLM gateway304 # Configure LLM gateway

305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'

306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # If gateway handles GCP auth306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # If gateway handles GCP auth

307 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

308 export CLOUD_ML_REGION=us-east5

307 ```309 ```

308 </Tab>310 </Tab>

309</Tabs>311</Tabs>