SpyBara
Go Premium

Documentation 2026-10-01 23:59 UTC to 2026-10-02 02:02 UTC

39 files changed +2,283 −1,817. View all changes and history on the product overview
2026
Fri 2 03:00 Thu 1 23:59

accessibility.md +11 −5

Details

44| [`CLAUDE_AX_SCREEN_READER`](/docs/it/env-vars#variables) | Variabile di ambiente | Modalità lettore di schermo per sessioni avviate dalla shell dove l'avete impostata. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/it/env-vars#variables) | Variabile di ambiente | Modalità lettore di schermo per sessioni avviate dalla shell dove l'avete impostata. |

45| [`axScreenReader`](/docs/it/settings-reference#axscreenreader) | Impostazione | Modalità lettore di schermo per ogni sessione quando `true`. |45| [`axScreenReader`](/docs/it/settings-reference#axscreenreader) | Impostazione | Modalità lettore di schermo per ogni sessione quando `true`. |

46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/it/env-vars#variables) | Variabile di ambiente | Quanto tempo Claude Code attende dopo la riga di conferma prima di disegnare il primo prompt in modalità lettore di schermo. Richiede Claude Code v2.1.217 o successivo. |46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/it/env-vars#variables) | Variabile di ambiente | Quanto tempo Claude Code attende dopo la riga di conferma prima di disegnare il primo prompt in modalità lettore di schermo. Richiede Claude Code v2.1.217 o successivo. |

47| [`CLAUDE_AX_PREPARK_MS`](/docs/it/env-vars#variables) | Variabile di ambiente | Quanto tempo Claude Code attende, con il cursore all'inizio della riga, prima di scrivere una riga nuova o modificata in modalità lettore di schermo. Richiede Claude Code v2.1.233 o successivo. |47| [`CLAUDE_AX_PREPARK_MS`](/docs/it/env-vars#variables) | Variabile d'ambiente | Quando la imposti, per quanti millisecondi Claude Code mantiene il cursore del terminale all'inizio della riga corrente prima di scrivere una riga nuova o modificata in modalità lettore di schermo. Richiede Claude Code v2.1.233 o successivo. |

48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/it/env-vars#variables) | Variabile di ambiente | Un cursore terminale che rimane visibile per ingranditori dello schermo come macOS Zoom quando lo impostate su `1`. Il cursore segue il cursore di input e, su Claude Code v2.1.218 o successivo, la riga evidenziata in menu e pannelli come `/config` e `/plugin`. |48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/it/env-vars#variables) | Variabile di ambiente | Un cursore terminale che rimane visibile per ingranditori dello schermo come macOS Zoom quando lo impostate su `1`. Il cursore segue il cursore di input e, su Claude Code v2.1.218 o successivo, la riga evidenziata in menu e pannelli come `/config` e `/plugin`. |

49| [`prefersReducedMotion`](/docs/it/settings-reference#prefersreducedmotion) | Impostazione | Spinner, shimmer e altre animazioni ridotti o assenti quando `true`. |49| [`prefersReducedMotion`](/docs/it/settings-reference#prefersreducedmotion) | Impostazione | Spinner, shimmer e altre animazioni ridotti o assenti quando `true`. |

50| [`theme`](/docs/it/settings-reference#theme) | Impostazione | I colori dell'interfaccia, inclusi i temi adatti ai daltonici `dark-daltonized` e `light-daltonized`. Potete anche sceglierne uno con [`/theme`](/docs/it/commands#all-commands). |50| [`theme`](/docs/it/settings-reference#theme) | Impostazione | I colori dell'interfaccia, inclusi i temi adatti ai daltonici `dark-daltonized` e `light-daltonized`. Potete anche sceglierne uno con [`/theme`](/docs/it/commands#all-commands). |


60* Nessun suggerimento basato solo sul colore60* Nessun suggerimento basato solo sul colore

61* Nessun ridisegno del contenuto che non è cambiato. Gli spinner di progresso vengono renderizzati come testo statico61* Nessun ridisegno del contenuto che non è cambiato. Gli spinner di progresso vengono renderizzati come testo statico

62* Le tabelle nelle risposte di Claude vengono lette come frasi `Header: value` invece di una griglia di caratteri di casella62* Le tabelle nelle risposte di Claude vengono lette come frasi `Header: value` invece di una griglia di caratteri di casella

63* I diff vengono letti come testo semplice, riga per riga, con `+` e `-` a indicare le righe aggiunte e rimosse, così puoi ascoltare la modifica proposta in una richiesta di approvazione di una modifica a un file prima di rispondere

63 64 

64Claude Code lascia tutto ciò che stampa nello scrollback del vostro terminale, in modo che possiate rileggere i turni precedenti con i comandi di revisione del vostro lettore di schermo o la ricerca del vostro terminale. Claude Code ignora l'[impostazione `tui`](/docs/it/settings-reference#tui) in modalità lettore di schermo. A parte le sessioni in background allegate elencate sotto [Limitazioni note](#known-limitations), stampa testo scorrevole invece di [rendering a schermo intero](/docs/it/fullscreen).65Claude Code lascia tutto ciò che stampa nello scrollback del vostro terminale, in modo che possiate rileggere i turni precedenti con i comandi di revisione del vostro lettore di schermo o la ricerca del vostro terminale. Claude Code ignora l'[impostazione `tui`](/docs/it/settings-reference#tui) in modalità lettore di schermo. A parte le sessioni in background allegate elencate sotto [Limitazioni note](#known-limitations), stampa testo scorrevole invece di [rendering a schermo intero](/docs/it/fullscreen).

65 66 

66Claude Code attende anche in due punti in modo che il vostro lettore di schermo possa stare al passo:67Dopo che Claude Code stampa la [riga di conferma](#turn-on-screen-reader-mode) all'avvio, attende 3 secondi prima di disegnare il prompt, in modo che il tuo lettore di schermo possa finire la riga. Premi un tasto qualsiasi per terminare l'attesa. Per cambiare la durata dell'attesa, imposta [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/it/env-vars#variables).

67 

68* Dopo che Claude Code stampa la riga di conferma, attende 3 secondi prima di disegnare il prompt, in modo che il vostro lettore di schermo possa finire la riga. Premete un tasto qualsiasi per terminare l'attesa. Per cambiare la durata dell'attesa, impostate [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/it/env-vars#variables).

69* Prima che Claude Code scriva una riga nuova o modificata, come un suggerimento o più della risposta di Claude, sposta il cursore all'inizio della riga e attende 50 millisecondi. Il vostro lettore di schermo legge quindi la riga dal suo primo carattere. I caratteri che digitate o eliminate alla fine della riga di input appaiono immediatamente. Per cambiare la durata dell'attesa, impostate [`CLAUDE_AX_PREPARK_MS`](/docs/it/env-vars#variables).

70 68 

71Ogni messaggio nella trascrizione inizia con un'etichetta che il vostro lettore di schermo annuncia, denominando cosa sia: i vostri messaggi, le risposte e il pensiero di Claude, l'attività degli strumenti, gli errori e gli avvisi e i prompt. Le etichette sono anche ricercabili, in modo che possiate saltare tra le sezioni della trascrizione cercando nello scrollback del vostro terminale:69Ogni messaggio nella trascrizione inizia con un'etichetta che il vostro lettore di schermo annuncia, denominando cosa sia: i vostri messaggi, le risposte e il pensiero di Claude, l'attività degli strumenti, gli errori e gli avvisi e i prompt. Le etichette sono anche ricercabili, in modo che possiate saltare tra le sezioni della trascrizione cercando nello scrollback del vostro terminale:

72 70 


94 92 

95Quando ciclete [modalità di permesso](/docs/it/permission-modes) con `Shift+Tab`, Claude Code annuncia la modalità di permesso su cui atterrate, come `[plan mode on]` o `[accept edits on]`. Claude Code stampa l'annuncio una volta e non lo ripete su ridisegni successivi.93Quando ciclete [modalità di permesso](/docs/it/permission-modes) con `Shift+Tab`, Claude Code annuncia la modalità di permesso su cui atterrate, come `[plan mode on]` o `[accept edits on]`. Claude Code stampa l'annuncio una volta e non lo ripete su ridisegni successivi.

96 94 

95<h3 id="read-earlier-output-without-losing-your-place">

96 Leggi l'output precedente senza perdere il segno

97</h3>

98 

99Se il tuo lettore di schermo torna al prompt mentre stai leggendo l'output precedente, sta seguendo il cursore del terminale. Claude Code riporta il cursore del terminale sul prompt ogni volta che scrive nuovo testo.

100 

101Per non perdere il segno mentre leggi, impedisci al tuo lettore di schermo di seguire il cursore del terminale. In NVDA, premi `NVDA+6` per impedire al cursore di revisione di seguire il cursore del terminale. Premi di nuovo `NVDA+6` per riattivare l'inseguimento.

102 

97<h3 id="jump-between-turns">103<h3 id="jump-between-turns">

98 Salta tra i turni104 Salta tra i turni

99</h3>105</h3>

Details

325 325 

326Alcune strategie per gli agenti a lunga durata:326Alcune strategie per gli agenti a lunga durata:

327 327 

328* **Utilizzare subagenti per sottoattività.** Ogni subagente inizia con una conversazione fresca (nessuna cronologia di messaggi precedenti, anche se carica il suo prompt di sistema e il contesto a livello di progetto come CLAUDE.md). Non vede i turni del genitore e solo la sua risposta finale ritorna al genitore come risultato dello strumento. Il contesto dell'agente principale cresce per quel riassunto, non per la trascrizione completa della sottoattività. Vedere [Cosa ereditano i subagenti](/docs/it/agent-sdk/subagents#what-subagents-inherit) per i dettagli.328* **Usa i subagent per le sottoattività.** Ogni subagent inizia con una conversazione nuova (nessuna cronologia di messaggi precedenti, anche se carica il proprio prompt di sistema e il contesto a livello di progetto come CLAUDE.md). Non vede i turni del genitore e solo la sua risposta finale ritorna al genitore. Il contesto dell'agente principale cresce per quel riassunto, non per la trascrizione completa della sottoattività. Consulta [Cosa ereditano i subagent](/docs/it/agent-sdk/subagents#what-subagents-inherit) per i dettagli.

329* **Essere selettivi con gli strumenti.** Ogni definizione di strumento occupa spazio di contesto. Utilizzate il campo `tools` su [`AgentDefinition`](/docs/it/agent-sdk/subagents#agentdefinition-configuration) per limitare i subagenti al set minimo di cui hanno bisogno.329* **Essere selettivi con gli strumenti.** Ogni definizione di strumento occupa spazio di contesto. Utilizzate il campo `tools` su [`AgentDefinition`](/docs/it/agent-sdk/subagents#agentdefinition-configuration) per limitare i subagenti al set minimo di cui hanno bisogno.

330* **Controllare i costi dei server MCP.** [MCP tool search](/docs/it/agent-sdk/mcp#mcp-tool-search) differisce gli schemi degli strumenti MCP per impostazione predefinita e li carica su richiesta. Quando la ricerca degli strumenti è disattivata o ha ricaduto nel caricamento anticipato, ogni server MCP aggiunge tutti i suoi schemi di strumenti ad ogni richiesta, quindi pochi server con molti strumenti possono consumare un contesto significativo prima che l'agente faccia qualsiasi lavoro. Vedere [Configure tool search](/docs/it/agent-sdk/tool-search#configure-tool-search) per le configurazioni in cui si applica il fallback.330* **Controllare i costi dei server MCP.** [MCP tool search](/docs/it/agent-sdk/mcp#mcp-tool-search) differisce gli schemi degli strumenti MCP per impostazione predefinita e li carica su richiesta. Quando la ricerca degli strumenti è disattivata o ha ricaduto nel caricamento anticipato, ogni server MCP aggiunge tutti i suoi schemi di strumenti ad ogni richiesta, quindi pochi server con molti strumenti possono consumare un contesto significativo prima che l'agente faccia qualsiasi lavoro. Vedere [Configure tool search](/docs/it/agent-sdk/tool-search#configure-tool-search) per le configurazioni in cui si applica il fallback.

331* **Utilizzare uno sforzo inferiore per attività di routine.** Impostare [effort](#effort-level) a `"low"` per gli agenti che hanno solo bisogno di leggere file o elencare directory. Questo riduce l'utilizzo dei token e il costo.331* **Utilizzare uno sforzo inferiore per attività di routine.** Impostare [effort](#effort-level) a `"low"` per gli agenti che hanno solo bisogno di leggere file o elencare directory. Questo riduce l'utilizzo dei token e il costo.

Details

1488Usa con il campo `betas` in `ClaudeAgentOptions` per abilitare le funzionalità beta.1488Usa con il campo `betas` in `ClaudeAgentOptions` per abilitare le funzionalità beta.

1489 1489 

1490<Warning>1490<Warning>

1491 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo header con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per utilizzare una finestra di contesto di 1M token, esegui la migrazione a [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), che includono 1M di contesto a prezzi standard senza header beta richiesto.1491 Sulla Claude API, la beta `context-1m-2025-08-07` è ritirata per Claude Sonnet 4.5 e Claude Sonnet 4. Se la passi ancora con uno dei due modelli, le richieste che superano la finestra di contesto standard di 200K token restituiscono un errore, quindi rimuovila da `betas`. Per eseguire una sessione con una finestra di contesto di 1M token, imposta `model` su un modello che [usa la finestra da 1M per impostazione predefinita](/docs/it/model-config#extended-context), come `claude-sonnet-5-5` o `claude-opus-5-5`. Per un modello che raggiunge 1M solo tramite la sua variante `[1m]`, aggiungi il suffisso all'ID del modello, come in `claude-opus-4-6[1m]`.

1492</Warning>1492</Warning>

1493 1493 

1494<h3 id="mcpsdkserverconfig">1494<h3 id="mcpsdkserverconfig">

Details

166 166 

167Quando eseguite l'esempio, la versione TypeScript stampa ogni risposta al completamento. Il ciclo `receive_response()` della versione Python termina al primo messaggio di risultato, quindi stampa l'analisi di sicurezza; per leggere entrambe le risposte, utilizzate una coppia `query()` e `receive_response()` per messaggio come mostrato nell'[esempio di continuazione di una conversazione del riferimento Python](/docs/it/agent-sdk/python#example-continuing-a-conversation).167Quando eseguite l'esempio, la versione TypeScript stampa ogni risposta al completamento. Il ciclo `receive_response()` della versione Python termina al primo messaggio di risultato, quindi stampa l'analisi di sicurezza; per leggere entrambe le risposte, utilizzate una coppia `query()` e `receive_response()` per messaggio come mostrato nell'[esempio di continuazione di una conversazione del riferimento Python](/docs/it/agent-sdk/python#example-continuing-a-conversation).

168 168 

169Se il `source` di un blocco immagine manca o non è un oggetto, l'SDK non segnala alcun errore. Claude Code invia a Claude una nota testuale al posto dell'immagine, come `[Image could not be processed: image block has no source object]`, e la sessione continua.

170 

169<Note>171<Note>

170 In TypeScript SDK, se il vostro generatore di messaggi genera un'eccezione, ad esempio quando un file che legge è mancante, il flusso termina con un errore che recita `Claude Code process aborted by user` invece dell'errore originale, quindi controllate il codice all'interno del vostro generatore per primo quando vedete quel messaggio. L'errore potrebbe anche essere preceduto da una lunga riga minificata del codice sorgente SDK raggruppato, quindi leggete fino alla fine dell'output per il testo dell'errore.172 In TypeScript SDK, se il vostro generatore di messaggi genera un'eccezione, ad esempio quando un file che legge è mancante, il flusso termina con un errore che recita `Claude Code process aborted by user` invece dell'errore originale, quindi controllate il codice all'interno del vostro generatore per primo quando vedete quel messaggio. L'errore potrebbe anche essere preceduto da una lunga riga minificata del codice sorgente SDK raggruppato, quindi leggete fino alla fine dell'output per il testo dell'errore.

171 173 

Details

204| Definizioni degli strumenti (ereditate dal padre o il sottoinsieme in `tools`, [filtrate per esecuzioni in background](/docs/it/sub-agents#available-tools)) | Il prompt di sistema del padre |204| Definizioni degli strumenti (ereditate dal padre o il sottoinsieme in `tools`, [filtrate per esecuzioni in background](/docs/it/sub-agents#available-tools)) | Il prompt di sistema del padre |

205 205 

206<Note>206<Note>

207 Il padre riceve il messaggio finale del subagent come risultato dello strumento Agent, ma potrebbe riassumerlo nella sua risposta. Per preservare l'output del subagent verbatim nella risposta rivolta all'utente, includi un'istruzione per farlo nel prompt o nell'opzione `systemPrompt` che passi alla chiamata principale `query()`.207 Il padre riceve il report finale del subagent, ma potrebbe riassumerlo nella sua risposta. Per preservare l'output del subagent verbatim nella risposta rivolta all'utente, includi un'istruzione per farlo nel prompt o nell'opzione `systemPrompt` che passi alla chiamata principale `query()`.

208 208 

209 Nella versione 2.1.210 e successive, Claude Code [scansiona il messaggio finale per modelli a forma di istruzione](/docs/it/sub-agents#subagent-output-scanning) prima che il padre lo legga. La scansione tratta tre tipi di modello diversamente:209 Nella versione 2.1.210 e successive, Claude Code [scansiona il messaggio finale per modelli a forma di istruzione](/docs/it/sub-agents#subagent-output-scanning) prima che il padre lo legga. La scansione tratta tre tipi di modello diversamente:

210 210 

Details

1596 1596 

1597Su un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento piuttosto che il testo inviato al modello. La sua forma dipende dallo strumento denominato dal blocco `tool_use` corrispondente, quindi il campo è tipizzato `unknown`; le forme integrate sono elencate in [Tipi di output dello strumento](#tool-output-types).1597Su un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento piuttosto che il testo inviato al modello. La sua forma dipende dallo strumento denominato dal blocco `tool_use` corrispondente, quindi il campo è tipizzato `unknown`; le forme integrate sono elencate in [Tipi di output dello strumento](#tool-output-types).

1598 1598 

1599Per lo strumento `Agent`, `tool_use_result` è [`AgentOutput`](#agent-2). Su un risultato `completed`, `content` contiene il rapporto del subagente senza l'ID agente e il trailer di utilizzo che Claude Code aggiunge al testo `tool_result`, quindi eseguite il rendering da `tool_use_result` invece di analizzare quel testo.1599Per lo strumento `Agent`, `tool_use_result` è [`AgentOutput`](#agent-2). Esegui il rendering a partire da esso invece di analizzare il testo di `tool_result`. Il `content` di un risultato `completed` contiene il rapporto del subagent oppure, per un subagent il cui rapporto passa attraverso una chiamata allo strumento `SubagentHandback`, una breve nota su quella consegna al posto del rapporto. In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su Claude Code v2.1.271 o successivo, ogni subagent che produce un risultato `completed` riporta in quel modo, a meno che non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation), e Claude riceve il rapporto come messaggio separato dal subagent.

1600 1600 

1601Per uno strumento MCP il cui risultato contiene blocchi `resource_link`, `tool_use_result` è un oggetto con un array `resourceLinks` di voci [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude riceve ogni link come una riga di testo nel blocco `tool_result`, quindi leggete `resourceLinks` per rendere i file che il server ha restituito invece di analizzare quel testo. Claude Code omette `resourceLinks` quando il risultato non ha link e sui risultati dei subagenti, mantiene al massimo 50 link per risultato, e smette di aggiungere link una volta che l'array raggiunge 64 KiB di JSON serializzato. `resourceLinks` richiede Agent SDK v0.3.257 o successivo.1601Per uno strumento MCP il cui risultato contiene blocchi `resource_link`, `tool_use_result` è un oggetto con un array `resourceLinks` di voci [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude riceve ogni link come una riga di testo nel blocco `tool_result`, quindi leggete `resourceLinks` per rendere i file che il server ha restituito invece di analizzare quel testo. Claude Code omette `resourceLinks` quando il risultato non ha link e sui risultati dei subagenti, mantiene al massimo 50 link per risultato, e smette di aggiungere link una volta che l'array raggiunge 64 KiB di JSON serializzato. `resourceLinks` richiede Agent SDK v0.3.257 o successivo.

1602 1602 


5095 5095 

5096| Valore | Chiave in uso |5096| Valore | Chiave in uso |

5097| - | - |5097| - | - |

5098| `ANTHROPIC_API_KEY` | La chiave nella variabile di ambiente `ANTHROPIC_API_KEY` |5098| `ANTHROPIC_API_KEY` | La chiave nella variabile d'ambiente `ANTHROPIC_API_KEY` |

5099| `apiKeyHelper` | La chiave restituita dal tuo comando [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) |5099| `apiKeyHelper` | La chiave restituita dal tuo comando [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) |

5100| `/login managed key` | La chiave che Claude Code ha memorizzato quando hai effettuato l'accesso con un [account Claude Console](/docs/it/authentication#claude-console-authentication) |5100| `/login managed key` | La chiave che Claude Code ha memorizzato quando hai effettuato l'accesso con un [account Claude Console](/docs/it/authentication#claude-console-authentication) |

5101| `none` | Nessuna chiave API. La sessione si autentica in un altro modo, ad esempio un accesso a claude.ai, un token bearer, o un provider cloud |5101| `none` | Nessuna chiave API. La sessione si autentica in un altro modo, ad esempio un accesso a claude.ai, un token bearer, o un provider cloud |


5113```5113```

5114 5114 

5115<Warning>5115<Warning>

5116 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo valore con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per usare una finestra di contesto di 1M token, esegui la migrazione a [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), che includono 1M di contesto ai prezzi standard senza intestazione beta richiesta.5116 Sull'API Claude, la beta `context-1m-2025-08-07` è ritirata per Claude Sonnet 4.5 e Claude Sonnet 4. Se la passi ancora con uno dei due modelli, le richieste che superano la finestra di contesto standard di 200K token restituiscono un errore, quindi rimuovila da `betas`. Per eseguire una sessione con una finestra di contesto di 1M token, imposta `model` su un modello che [usa la finestra da 1M per impostazione predefinita](/docs/it/model-config#extended-context), come `claude-sonnet-5-5` o `claude-opus-5-5`. Per un modello che raggiunge 1M solo tramite la sua variante `[1m]`, aggiungi il suffisso all'ID del modello, come in `claude-opus-4-6[1m]`.

5117</Warning>5117</Warning>

5118 5118 

5119<h3 id="slashcommand">5119<h3 id="slashcommand">


5157| Campo | Tipo | Descrizione |5157| Campo | Tipo | Descrizione |

5158| :- | :- | :- |5158| :- | :- | :- |

5159| `value` | `string` | Identificatore del modello da passare nelle chiamate API |5159| `value` | `string` | Identificatore del modello da passare nelle chiamate API |

5160| `resolvedModel` | `string \| undefined` | ID del modello wire canonico a cui il `value` di questa voce si risolve. Una voce di alias come `sonnet` si risolve a un ID di modello esplicito come `claude-sonnet-5`, quindi un host può abbinare un ID di modello esplicito memorizzato rispetto alla voce di alias che lo copre. Richiede Claude Code v2.1.197 o successivo. |5160| `resolvedModel` | `string \| undefined` | L'ID del modello a cui si risolve il `value` di questa voce, come `claude-sonnet-5-5` per la voce dell'alias `sonnet`. Richiede Claude Code v2.1.197 o successivo. |

5161| `displayName` | `string` | Nome di visualizzazione leggibile dall'uomo |5161| `displayName` | `string` | Nome di visualizzazione leggibile dall'uomo |

5162| `description` | `string` | Descrizione delle capacità del modello |5162| `description` | `string` | Descrizione delle capacità del modello |

5163| `supportsEffort` | `boolean \| undefined` | Se questo modello supporta i livelli di sforzo |5163| `supportsEffort` | `boolean \| undefined` | Se questo modello supporta i livelli di sforzo |

5164| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Livelli di sforzo che questo modello accetta |5164| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Livelli di sforzo che questo modello accetta |

5165| `supportsAdaptiveThinking` | `boolean \| undefined` | Se questo modello supporta il pensiero adattivo, dove Claude decide quando e quanto pensare |5165| `supportsAdaptiveThinking` | `boolean \| undefined` | Se questo modello supporta il ragionamento adattivo, dove Claude decide quando e quanto ragionare |

5166| `supportsFastMode` | `boolean \| undefined` | Se questo modello supporta la modalità veloce |5166| `supportsFastMode` | `boolean \| undefined` | Se questo modello supporta la modalità veloce |

5167| `supportsAutoMode` | `boolean \| undefined` | Se questo modello supporta la modalità auto |5167| `supportsAutoMode` | `boolean \| undefined` | Se questo modello supporta la modalità auto |

5168 5168 


5170 `AgentInfo`5170 `AgentInfo`

5171</h3>5171</h3>

5172 5172 

5173Informazioni su un subagente disponibile che può essere invocato tramite il tool Agent.5173Informazioni su un subagent disponibile che può essere invocato tramite lo strumento Agent.

5174 5174 

5175```typescript theme={null}5175```typescript theme={null}

5176type AgentInfo = {5176type AgentInfo = {


5184| :- | :- | :- |5184| :- | :- | :- |

5185| `name` | `string` | Identificatore del tipo di agente (ad esempio, `"Explore"`, `"general-purpose"`) |5185| `name` | `string` | Identificatore del tipo di agente (ad esempio, `"Explore"`, `"general-purpose"`) |

5186| `description` | `string` | Descrizione di quando usare questo agente |5186| `description` | `string` | Descrizione di quando usare questo agente |

5187| `model` | `string \| undefined` | Modello che questo agente usa: un alias o un ID di modello, o `'inherit'` per il modello del genitore. Quando è `undefined`, Claude Code sceglie il modello nell'[ordine del modello del subagente](/docs/it/sub-agents#choose-a-model) |5187| `model` | `string \| undefined` | Modello che questo agente usa: un alias o un ID di modello, o `'inherit'` per il modello del genitore. Quando è `undefined`, Claude Code sceglie il modello nell'[ordine del modello del subagent](/docs/it/sub-agents#choose-a-model) |

5188 5188 

5189<h3 id="mcpserverprovenance">5189<h3 id="mcpserverprovenance">

5190 `McpServerProvenance`5190 `McpServerProvenance`

5191</h3>5191</h3>

5192 5192 

5193Il server MCP che serve un tool `mcp__*`, e da dove proviene la definizione di quel server. Gli input dei hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` e `PermissionDenied` lo portano come `mcp_server`, e le opzioni [`CanUseTool`](#canusetool) lo portano come `mcpServer`. Entrambi lo omettono per i tool che non provengono da un server MCP.5193Il server MCP che serve uno strumento `mcp__*`, e da dove proviene la definizione di quel server. Gli input degli hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` e `PermissionDenied` lo portano come `mcp_server`, e le opzioni [`CanUseTool`](#canusetool) lo portano come `mcpServer`. Entrambi lo omettono per gli strumenti che non provengono da un server MCP.

5194 5194 

5195```typescript theme={null}5195```typescript theme={null}

5196type McpServerProvenance = {5196type McpServerProvenance = {


5210* **`plugin`**: un server che un [plugin](/docs/it/agent-sdk/plugins) fornisce. Il suo `name` è la forma con ambito `plugin:<plugin-name>:<server-name>` descritta sotto [server MCP forniti da plugin](/docs/it/mcp#plugin-provided-mcp-servers).5210* **`plugin`**: un server che un [plugin](/docs/it/agent-sdk/plugins) fornisce. Il suo `name` è la forma con ambito `plugin:<plugin-name>:<server-name>` descritta sotto [server MCP forniti da plugin](/docs/it/mcp#plugin-provided-mcp-servers).

5211* **Un ambito di configurazione**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai`, o `agent`. Un server `.mcp.json` segnala `project`, e [ambiti di installazione MCP](/docs/it/mcp#mcp-installation-scopes) definisce `local`, `project` e `user`. I server che la tua applicazione passa nell'opzione [`mcpServers`](#options), diversi dai server SDK in-process, segnalano `dynamic`.5211* **Un ambito di configurazione**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai`, o `agent`. Un server `.mcp.json` segnala `project`, e [ambiti di installazione MCP](/docs/it/mcp#mcp-installation-scopes) definisce `local`, `project` e `user`. I server che la tua applicazione passa nell'opzione [`mcpServers`](#options), diversi dai server SDK in-process, segnalano `dynamic`.

5212 5212 

5213Basa le decisioni di fiducia su `source`, non su `name` o il prefisso del nome del tool `mcp__<server>__`. Per qualsiasi fonte diversa da `sdk`, `name` è testo non attendibile: sfuggilo prima della visualizzazione.5213Basa le decisioni di fiducia su `source`, non su `name` o il prefisso del nome dello strumento `mcp__<server>__`. Per qualsiasi fonte diversa da `sdk`, `name` è testo non attendibile: eseguine l'escape prima della visualizzazione.

5214 5214 

5215`McpServerProvenance` e i campi che lo portano richiedono Agent SDK v0.3.274 o successivo.5215`McpServerProvenance` e i campi che lo portano richiedono Agent SDK v0.3.274 o successivo.

5216 5216 


5247 5247 

5248`source` dice da dove proviene la definizione del server, con gli stessi valori e regola di fiducia di [`McpServerProvenance`](#mcpserverprovenance) `source`. Il campo richiede Agent SDK v0.3.274 o successivo ed è assente nelle versioni precedenti.5248`source` dice da dove proviene la definizione del server, con gli stessi valori e regola di fiducia di [`McpServerProvenance`](#mcpserverprovenance) `source`. Il campo richiede Agent SDK v0.3.274 o successivo ed è assente nelle versioni precedenti.

5249 5249 

5250`_meta` su una voce `tools` contiene i membri MCP Apps di `_meta` di quel tool, quindi la tua applicazione può trovare la risorsa `ui://` da rendere con [`readMcpResource()`](#query-object). Claude Code passa attraverso l'oggetto `ui` e la stringa deprecata `ui/resourceUri`, e trattiene ogni altra chiave. All'interno di `ui`, `resourceUri` è una stringa `ui://` e `visibility` è un array di `"model"` e `"app"` quando il server li imposta, e qualsiasi altro membro passa attraverso invariato. Claude Code scarta entrambe le chiavi quando il valore è malformato, e omette `_meta` da un tool che non dichiara nessuno. Il campo è presente solo quando le [`capabilities`](#sdksystemmessage) del messaggio di inizializzazione includono `mcp_tool_ui_meta_v1`, e richiede TypeScript Agent SDK v0.3.280 o successivo.5250`_meta` su una voce `tools` contiene i membri MCP Apps di `_meta` di quello strumento, quindi la tua applicazione può trovare la risorsa `ui://` da rendere con [`readMcpResource()`](#query-object). Claude Code passa attraverso l'oggetto `ui` e la stringa deprecata `ui/resourceUri`, e trattiene ogni altra chiave. All'interno di `ui`, `resourceUri` è una stringa `ui://` e `visibility` è un array di `"model"` e `"app"` quando il server li imposta, e qualsiasi altro membro passa attraverso invariato. Claude Code scarta entrambe le chiavi quando il valore è malformato, e omette `_meta` da uno strumento che non dichiara nessuna delle due. Il campo è presente solo quando le [`capabilities`](#sdksystemmessage) del messaggio di inizializzazione includono `mcp_tool_ui_meta_v1`, e richiede TypeScript Agent SDK v0.3.280 o successivo.

5251 5251 

5252<h3 id="mcpserverstatusconfig">5252<h3 id="mcpserverstatusconfig">

5253 `McpServerStatusConfig`5253 `McpServerStatusConfig`


5305};5305};

5306```5306```

5307 5307 

5308`thinkingTokens` conta i token di pensiero che questo modello ha generato. `outputTokens` li include già, quindi non sommare i due insieme. Il campo è assente fino a quando un turno non viene eseguito su una versione di Claude Code che lo registra, quindi una sessione ripresa che è iniziata su una versione precedente segnala un conteggio parziale. `thinkingTokens` richiede Agent SDK v0.3.257 o successivo.5308`thinkingTokens` conta i token di ragionamento che questo modello ha generato. `outputTokens` li include già, quindi non sommare i due insieme. Il campo è assente fino a quando un turno non viene eseguito su una versione di Claude Code che lo registra, quindi una sessione ripresa che è iniziata su una versione precedente segnala un conteggio parziale. `thinkingTokens` richiede Agent SDK v0.3.257 o successivo.

5309 5309 

5310I campi `canonicalModel` e `provider` richiedono Claude Code v2.1.218 o successivo. `canonicalModel` è l'ID del modello canonico che la ricerca dei prezzi utilizza; può differire dalla stringa del modello grezzo che chiave la voce, ad esempio quando quella stringa è un ID specifico del provider o un alias.5310I campi `canonicalModel` e `provider` richiedono Claude Code v2.1.218 o successivo. `canonicalModel` è l'ID del modello canonico che la ricerca dei prezzi utilizza; può differire dalla stringa del modello grezzo che fa da chiave alla voce, ad esempio quando quella stringa è un ID specifico del provider o un alias.

5311 5311 

5312`provider` nomina il backend API che ha servito il modello, come `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle`, o `gateway`.5312`provider` nomina il backend API che ha servito il modello, come `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle`, o `gateway`.

5313 5313 


5360 5360 

5361`BetaServerToolUsage`, `BetaIterationsUsage` e `BetaOutputTokensDetails` sono definiti in `@anthropic-ai/sdk`.5361`BetaServerToolUsage`, `BetaIterationsUsage` e `BetaOutputTokensDetails` sono definiti in `@anthropic-ai/sdk`.

5362 5362 

5363`output_tokens_details` suddivide l'output fatturato per categoria. Attualmente contiene un campo, `thinking_tokens: number`, che conta i token di output che il modello ha generato come ragionamento interno, inclusi i delimitatori del blocco di pensiero. Il campo `output_tokens_details` richiede TypeScript SDK v0.3.228 o successivo, che raggruppa Claude Code v2.1.228.5363`output_tokens_details` suddivide l'output fatturato per categoria. Attualmente contiene un campo, `thinking_tokens: number`, che conta i token di output che il modello ha generato come ragionamento interno, inclusi i delimitatori del blocco di ragionamento. Il campo `output_tokens_details` richiede TypeScript SDK v0.3.228 o successivo, che include Claude Code v2.1.228.

5364 5364 

5365* **Fatturazione**: leggi la suddivisione per l'osservabilità, non per la fatturazione. `output_tokens` rimane il totale autorevole, e `output_tokens - thinking_tokens` approssima l'output non di ragionamento.5365* **Fatturazione**: leggi la suddivisione per l'osservabilità, non per la fatturazione. `output_tokens` rimane il totale autorevole, e `output_tokens - thinking_tokens` approssima l'output non di ragionamento.

5366* **Cosa conta il conteggio**: il ragionamento grezzo che il modello ha prodotto, che può essere più lungo del testo di pensiero restituito nel corpo della risposta. L'API lo calcola ritokenizzando quel testo grezzo, quindi può differire dal conteggio esatto della generazione del modello di alcuni token.5366* **Cosa copre il conteggio**: il ragionamento grezzo che il modello ha prodotto, che può essere più lungo del testo di ragionamento restituito nel corpo della risposta. L'API lo calcola ritokenizzando quel testo grezzo, quindi può differire dal conteggio esatto della generazione del modello di alcuni token.

5367* **Streaming**: sui messaggi dell'assistente trasmessi questa suddivisione, come `output_tokens`, è un placeholder `message_start` e non contiene un conteggio reale, quindi leggilo dal messaggio di risultato `usage` come [Leggi i token di output dal messaggio di risultato](/docs/it/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) descrive. Nel messaggio di risultato, `thinking_tokens` legge `0` quando il modello o il provider non segnala alcuna suddivisione.5367* **Streaming**: sui messaggi dell'assistente trasmessi in streaming questa suddivisione, come `output_tokens`, è un placeholder `message_start` e non contiene un conteggio reale, quindi leggila da `usage` del messaggio di risultato come descritto in [Leggi i token di output dal messaggio di risultato](/docs/it/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message). Nel messaggio di risultato, `thinking_tokens` vale `0` quando il modello o il provider non segnala alcuna suddivisione.

5368* **Casi `null`**: `output_tokens_details` stesso è `null` sui messaggi dell'assistente che Claude Code sintetizza, come i messaggi di errore API.5368* **Casi `null`**: `output_tokens_details` stesso è `null` sui messaggi dell'assistente che Claude Code sintetizza, come i messaggi di errore API.

5369 5369 

5370<h3 id="calltoolresult">5370<h3 id="calltoolresult">

5371 `CallToolResult`5371 `CallToolResult`

5372</h3>5372</h3>

5373 5373 

5374Tipo di risultato del tool MCP (da `@modelcontextprotocol/sdk/types.js`). `structuredContent` è un oggetto JSON che può essere restituito insieme a `content`, inclusi blocchi di immagini. Vedi [Restituisci dati strutturati](/docs/it/agent-sdk/custom-tools#return-structured-data).5374Tipo di risultato dello strumento MCP (da `@modelcontextprotocol/sdk/types.js`). `structuredContent` è un oggetto JSON che può essere restituito insieme a `content`, inclusi blocchi di immagini. Vedi [Restituisci dati strutturati](/docs/it/agent-sdk/custom-tools#return-structured-data).

5375 5375 

5376```typescript theme={null}5376```typescript theme={null}

5377type CallToolResult = {5377type CallToolResult = {


5388 `SDKMcpResourceLink`5388 `SDKMcpResourceLink`

5389</h3>5389</h3>

5390 5390 

5391Un file che un tool MCP ha restituito per riferimento. Claude Code costruisce ogni voce da un blocco `resource_link` nel risultato del tool e fornisce l'elenco come `resourceLinks` su [`SDKUserMessage.tool_use_result`](#sdkusermessage), o come `resource_links` su [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) quando la chiamata è terminata in background. Richiede Agent SDK v0.3.257 o successivo.5391Un file che uno strumento MCP ha restituito per riferimento. Claude Code crea ogni voce da un blocco `resource_link` nel risultato dello strumento e fornisce l'elenco come `resourceLinks` su [`SDKUserMessage.tool_use_result`](#sdkusermessage), o come `resource_links` su [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) quando la chiamata è terminata in background. Richiede Agent SDK v0.3.257 o successivo.

5392 5392 

5393```typescript theme={null}5393```typescript theme={null}

5394type SDKMcpResourceLink = {5394type SDKMcpResourceLink = {


5409| `uri` | `string` | URI della risorsa, come il server l'ha restituito |5409| `uri` | `string` | URI della risorsa, come il server l'ha restituito |

5410| `name` | `string` | Nome che il server ha dato alla risorsa |5410| `name` | `string` | Nome che il server ha dato alla risorsa |

5411| `title` | `string \| undefined` | Titolo di visualizzazione, quando il server ne ha impostato uno |5411| `title` | `string \| undefined` | Titolo di visualizzazione, quando il server ne ha impostato uno |

5412| `description` | `string \| undefined` | Descrizione, quando il server ne ha impostato una |5412| `description` | `string \| undefined` | Descrizione, quando il server ne ha impostata una |

5413| `mimeType` | `string \| undefined` | Tipo MIME, quando il server ne ha impostato uno |5413| `mimeType` | `string \| undefined` | Tipo MIME, quando il server ne ha impostato uno |

5414| `size` | `number \| undefined` | Dimensione in byte, quando il server ne ha impostato una |5414| `size` | `number \| undefined` | Dimensione in byte, quando il server ne ha impostata una |

5415| `annotations` | `Record<string, unknown> \| undefined` | L'oggetto annotazioni MCP del blocco, quando il server ne ha impostato uno |5415| `annotations` | `Record<string, unknown> \| undefined` | L'oggetto annotazioni MCP del blocco, quando il server ne ha impostato uno |

5416 5416 

5417<h3 id="thinkingconfig">5417<h3 id="thinkingconfig">

5418 `ThinkingConfig`5418 `ThinkingConfig`

5419</h3>5419</h3>

5420 5420 

5421Controlla il comportamento di pensiero/ragionamento di Claude. Ha precedenza sul deprecato `maxThinkingTokens`.5421Controlla il comportamento di ragionamento di Claude. Ha la precedenza sul deprecato `maxThinkingTokens`.

5422 5422 

5423```typescript theme={null}5423```typescript theme={null}

5424type ThinkingDisplay = "summarized" | "omitted";5424type ThinkingDisplay = "summarized" | "omitted";

5425 5425 

5426type ThinkingConfig =5426type ThinkingConfig =

5427 | { type: "adaptive"; display?: ThinkingDisplay } // Il modello determina quando e quanto ragionare (Opus 4.6+)5427 | { type: "adaptive"; display?: ThinkingDisplay } // Il modello determina quando e quanto ragionare (Opus 4.6+)

5428 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Budget di token di pensiero fisso5428 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Budget di token di ragionamento fisso

5429 | { type: "disabled" }; // Nessun pensiero esteso5429 | { type: "disabled" }; // Nessun ragionamento esteso

5430```5430```

5431 5431 

5432Il campo opzionale `display` controlla se il testo di pensiero viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, l'impostazione predefinita dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto di pensiero nei blocchi `thinking`. Claude Code non invia `display` ad Amazon Bedrock o alla piattaforma Agent di Google Cloud, quindi su quei provider Opus 4.7 e versioni successive restituiscono blocchi `thinking` vuoti anche quando imposti `display` su `"summarized"`.5432Il campo opzionale `display` controlla se il testo di ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, l'impostazione predefinita dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto di ragionamento nei blocchi `thinking`. Claude Code non invia `display` ad Amazon Bedrock o alla piattaforma Agent di Google Cloud, quindi su quei provider Opus 4.7 e versioni successive restituiscono blocchi `thinking` vuoti anche quando imposti `display` su `"summarized"`.

5433 5433 

5434<h3 id="spawnedprocess">5434<h3 id="spawnedprocess">

5435 `SpawnedProcess`5435 `SpawnedProcess`


5481<Note>5481<Note>

5482 Il campo `signal` comunica alla tua funzione di generazione quando smontare il processo. Passalo come opzione `signal` al `spawn()` di Node, oppure passalo al tuo gestore di smontaggio della VM o del contenitore.5482 Il campo `signal` comunica alla tua funzione di generazione quando smontare il processo. Passalo come opzione `signal` al `spawn()` di Node, oppure passalo al tuo gestore di smontaggio della VM o del contenitore.

5483 5483 

5484 Questo segnale non si attiva nell'istante in cui [`Options.abortController`](#options) si interrompe. L'SDK prima chiude lo stdin del processo e attende circa due secondi affinché la CLI si arresti correttamente, quindi interrompe questo segnale. Per reagire nel momento in cui il chiamante si interrompe, ascolta il tuo `Options.abortController.signal`, che la tua funzione di generazione può referenziare dal suo ambito di chiusura.5484 Questo segnale non si attiva nell'istante in cui [`Options.abortController`](#options) si interrompe. L'SDK prima chiude lo stdin del processo e attende circa due secondi affinché la CLI si arresti correttamente, quindi interrompe questo segnale. Per reagire invece nel momento in cui il chiamante si interrompe, ascolta il tuo `Options.abortController.signal`, che la tua funzione di generazione può referenziare dal suo ambito di chiusura.

5485</Note>5485</Note>

5486 5486 

5487<h3 id="mcpsetserversresult">5487<h3 id="mcpsetserversresult">


5504* **Server che la chiamata nomina**: ad eccezione dei server integrati che la CLI ha avviato all'avvio, Claude Code sostituisce un server in esecuzione solo quando la sua configurazione differisce da quella che hai passato.5504* **Server che la chiamata nomina**: ad eccezione dei server integrati che la CLI ha avviato all'avvio, Claude Code sostituisce un server in esecuzione solo quando la sua configurazione differisce da quella che hai passato.

5505* **Server integrati che la CLI ha avviato all'avvio**: se la chiamata ne nomina uno, Claude Code scarta quella voce e la segnala in `errors`.5505* **Server integrati che la CLI ha avviato all'avvio**: se la chiamata ne nomina uno, Claude Code scarta quella voce e la segnala in `errors`.

5506 5506 

5507La promessa si risolve dopo che i server stdio, HTTP e SSE appena aggiunti si connettono o falliscono, quindi i tool dai server che si sono connessi sono disponibili al turno successivo.5507La promessa si risolve dopo che i server stdio, HTTP e SSE appena aggiunti si connettono o falliscono, quindi gli strumenti dai server che si sono connessi sono disponibili al turno successivo.

5508 5508 

5509`added` elenca i server che Claude Code ha aggiunto o sostituito, indipendentemente dal fatto che si siano connessi. Un server che non si è connesso appare sia in `added` che in `errors`, con il testo di errore sotto `errors` e una riga `failed` in [`mcpServerStatus()`](#methods). Prima di Claude Code v2.1.257, un server il cui tentativo di connessione ha lanciato un'eccezione era segnalato solo sotto `errors`.5509`added` elenca i server che Claude Code ha aggiunto o sostituito, indipendentemente dal fatto che si siano connessi. Un server che non si è connesso appare sia in `added` che in `errors`, con il testo di errore sotto `errors` e una riga `failed` in [`mcpServerStatus()`](#methods). Prima di Claude Code v2.1.257, un server il cui tentativo di connessione ha lanciato un'eccezione era segnalato solo sotto `errors`.

5510 5510 


5525};5525};

5526```5526```

5527 5527 

5528`skippedLinks` conta i percorsi tracciati che il rewind ha rifiutato di ripristinare o eliminare per la sicurezza dei link: un symlink, hard link, o altro file non regolare nel percorso tracciato, una directory padre che non si risolve più a dove puntava quando il checkpoint è stato preso, o un backup che non poteva essere letto in sicurezza. Il campo richiede Claude Code v2.1.216 o successivo. Una chiamata di anteprima con `rewindFiles(userMessageId, { dryRun: true })` non lo imposta mai.5528`skippedLinks` conta i percorsi tracciati che il rewind ha rifiutato di ripristinare o eliminare per la sicurezza dei link: un collegamento simbolico, hard link, o altro file non regolare nel percorso tracciato, una directory padre che non si risolve più a dove puntava quando il checkpoint è stato creato, o un backup che non poteva essere letto in sicurezza. Il campo richiede Claude Code v2.1.216 o successivo. Una chiamata di anteprima con `rewindFiles(userMessageId, { dryRun: true })` non lo imposta mai.

5529 5529 

5530<h3 id="sdkstatusmessage">5530<h3 id="sdkstatusmessage">

5531 `SDKStatusMessage`5531 `SDKStatusMessage`


5548 `SDKTaskNotificationMessage`5548 `SDKTaskNotificationMessage`

5549</h3>5549</h3>

5550 5550 

5551Notifica quando un'attività di background si completa, fallisce o viene interrotta. Le attività di background includono i comandi Bash `run_in_background`, i watch [Monitor](#monitor) e i subagenti di background. Per il campo `ambient`, vedi [`SDKTaskStartedMessage`](#sdktaskstartedmessage), che lo definisce e il suo requisito di versione.5551Notifica quando un'attività in background si completa, fallisce o viene interrotta. Le attività in background includono i comandi Bash `run_in_background`, i watch [Monitor](#monitor) e i subagent in background. Per il campo `ambient`, vedi [`SDKTaskStartedMessage`](#sdktaskstartedmessage), che lo definisce insieme al suo requisito di versione.

5552 5552 

5553```typescript theme={null}5553```typescript theme={null}

5554type SDKTaskNotificationMessage = {5554type SDKTaskNotificationMessage = {


5571};5571};

5572```5572```

5573 5573 

5574Quando Claude Code [sposta una lunga chiamata al tool MCP in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), il blocco `tool_result` per quella chiamata contiene solo un placeholder e il risultato reale della chiamata arriva in questa notifica. Abbina la notifica alla chiamata con `tool_use_id`. Su una notifica `completed`, `resource_links` elenca i file che il tool ha restituito per riferimento come voci [`SDKMcpResourceLink`](#sdkmcpresourcelink), con gli stessi limiti di 50 link e 64 KiB di [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omette `resource_links` quando il risultato non aveva link e sulle notifiche per attività che non sono chiamate al tool MCP. `resource_links` richiede Agent SDK v0.3.257 o successivo.5574Quando Claude Code [sposta una lunga chiamata a uno strumento MCP in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), il blocco `tool_result` per quella chiamata contiene solo un placeholder e il risultato reale della chiamata arriva in questa notifica. Abbina la notifica alla chiamata con `tool_use_id`. Su una notifica `completed`, `resource_links` elenca i file che lo strumento ha restituito per riferimento come voci [`SDKMcpResourceLink`](#sdkmcpresourcelink), con gli stessi limiti di 50 link e 64 KiB di [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omette `resource_links` quando il risultato non aveva link e sulle notifiche per attività che non sono chiamate a strumenti MCP. `resource_links` richiede Agent SDK v0.3.257 o successivo.

5575 5575 

5576Claude Code antepone un avviso a ogni notifica di attività che invia al modello, ad eccezione delle consegne contrassegnate con il sottotipo [`scheduled-trigger`](#task-notification-subkinds), che portano invece un inquadramento di attività assegnata. L'avviso afferma che non si è verificato alcun input umano, quindi il modello non tratta la notifica come un'istruzione o un'approvazione dell'utente.5576Claude Code antepone un avviso a ogni notifica di attività che invia al modello, ad eccezione delle consegne contrassegnate con il sottotipo [`scheduled-trigger`](#task-notification-subkinds), che portano invece un inquadramento di attività assegnata. L'avviso afferma che non si è verificato alcun input umano, quindi il modello non tratta la notifica come un'istruzione o un'approvazione dell'utente.

5577 5577 


5581 `SDKToolUseSummaryMessage`5581 `SDKToolUseSummaryMessage`

5582</h3>5582</h3>

5583 5583 

5584Riepilogo dell'uso dei tool in una conversazione.5584Riepilogo dell'uso degli strumenti in una conversazione.

5585 5585 

5586```typescript theme={null}5586```typescript theme={null}

5587type SDKToolUseSummaryMessage = {5587type SDKToolUseSummaryMessage = {


5599 5599 

5600Emesso quando un hook inizia l'esecuzione.5600Emesso quando un hook inizia l'esecuzione.

5601 5601 

5602Claude Code fornisce questo messaggio, [`SDKHookProgressMessage`](#sdkhookprogressmessage), e [`SDKHookResponseMessage`](#sdkhookresponsemessage) al flusso di messaggi immediatamente, incluso mentre un hook `SessionStart` o `Setup` è ancora in esecuzione durante l'avvio della sessione. Claude Code v2.1.169 attraverso v2.1.203 ha fornito questi messaggi in un batch dopo che un hook `SessionStart` o `Setup` era completato; v2.1.204 ha ripristinato la consegna dal vivo.5602Claude Code fornisce questo messaggio, [`SDKHookProgressMessage`](#sdkhookprogressmessage), e [`SDKHookResponseMessage`](#sdkhookresponsemessage) al flusso di messaggi immediatamente, incluso mentre un hook `SessionStart` o `Setup` è ancora in esecuzione durante l'avvio della sessione. Claude Code dalla v2.1.169 alla v2.1.203 ha fornito questi messaggi in un unico batch dopo che un hook `SessionStart` o `Setup` era completato; la v2.1.204 ha ripristinato la consegna dal vivo.

5603 5603 

5604```typescript theme={null}5604```typescript theme={null}

5605type SDKHookStartedMessage = {5605type SDKHookStartedMessage = {


5661 `SDKToolProgressMessage`5661 `SDKToolProgressMessage`

5662</h3>5662</h3>

5663 5663 

5664Emesso periodicamente mentre un tool è in esecuzione per indicare il progresso.5664Emesso periodicamente mentre uno strumento è in esecuzione per indicare il progresso.

5665 5665 

5666```typescript theme={null}5666```typescript theme={null}

5667type SDKToolProgressMessage = {5667type SDKToolProgressMessage = {


5686};5686};

5687```5687```

5688 5688 

5689Mentre una chiamata al tool viene eseguita nella conversazione principale, Claude Code emette un messaggio `tool_progress` ogni 30 secondi con `heartbeat: true`. Ogni heartbeat contiene il nome del tool e i secondi trascorsi, quindi puoi distinguere una chiamata di lunga durata da una sessione bloccata. Claude Code non emette heartbeat per le chiamate al tool all'interno di un subagente. Il campo `heartbeat` richiede Agent SDK v0.3.214 o successivo. Prima di v2.1.257, Claude Code non emetteva heartbeat nemmeno per una chiamata al tool Agent in primo piano.5689Mentre una chiamata a uno strumento viene eseguita nella conversazione principale, Claude Code emette un messaggio `tool_progress` ogni 30 secondi con `heartbeat: true`. Ogni heartbeat contiene il nome dello strumento e i secondi trascorsi, quindi puoi distinguere una chiamata di lunga durata da una sessione bloccata. Claude Code non emette heartbeat per le chiamate agli strumenti all'interno di un subagent. Il campo `heartbeat` richiede Agent SDK v0.3.214 o successivo. Prima di v2.1.257, Claude Code non emetteva heartbeat nemmeno per una chiamata allo strumento Agent in primo piano.

5690 5690 

5691Sui messaggi `tool_progress` per il tool Agent diversi dagli heartbeat, `subagent_type` nomina il tipo di subagente in esecuzione, come `general-purpose`. `subagent_retry` è presente mentre quel subagente attende un backoff di errore API, come un limite di velocità o un sovraccarico, con un messaggio per tentativo di ripetizione. Entrambi i campi richiedono Agent SDK v0.3.214 o successivo.5691Sui messaggi `tool_progress` per lo strumento Agent diversi dagli heartbeat, `subagent_type` nomina il tipo di subagent in esecuzione, come `general-purpose`. `subagent_retry` è presente mentre quel subagent attende un backoff di errore API, come un rate limit o un sovraccarico, con un messaggio per ogni nuovo tentativo. Entrambi i campi richiedono Agent SDK v0.3.214 o successivo.

5692 5692 

5693Per rendere un indicatore di ripetizione da `subagent_retry`:5693Per rendere un indicatore di nuovo tentativo da `subagent_retry`:

5694 5694 

5695* Traccia l'indicatore per `parent_tool_use_id`, che è univoco per subagente. `tool_use_id` è condiviso da subagenti paralleli da un turno dell'assistente, quindi tracciare per esso lascerebbe che l'aggiornamento di un subagente cancelli l'indicatore di un altro.5695* Traccia l'indicatore per `parent_tool_use_id`, che è univoco per subagent. `tool_use_id` è condiviso da subagent paralleli di uno stesso turno dell'assistente, quindi tracciare per esso lascerebbe che l'aggiornamento di un subagent cancelli l'indicatore di un altro.

5696* Cancella l'indicatore quando un successivo `tool_progress` per lo stesso `parent_tool_use_id` arriva senza `subagent_retry` né `heartbeat: true`, o quando arriva il messaggio di risultato del tool. I frame con `heartbeat: true` segnalano solo vivacità, quindi mantieni l'indicatore quando uno arriva. `attempt` può superare `max_retries` sotto ripetizione persistente, quindi non derivare la cancellazione dai contatori.5696* Cancella l'indicatore quando un successivo `tool_progress` per lo stesso `parent_tool_use_id` arriva senza `subagent_retry` né `heartbeat: true`, o quando arriva il messaggio di risultato dello strumento. I frame con `heartbeat: true` segnalano solo che il processo è attivo, quindi mantieni l'indicatore quando ne arriva uno. `attempt` può superare `max_retries` in caso di nuovi tentativi persistenti, quindi non derivare la cancellazione dai contatori.

5697* Tratta `error_category` come un token per scegliere il tuo testo di messaggio, non come testo di visualizzazione. I valori sono `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` e `unknown`. Gestisci un valore che non riconosci come gestisci `unknown`, perché le versioni successive possono aggiungere valori.5697* Tratta `error_category` come un token per scegliere il tuo testo di messaggio, non come testo di visualizzazione. I valori sono `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` e `unknown`. Gestisci un valore che non riconosci come gestisci `unknown`, perché le versioni successive possono aggiungere valori.

5698 5698 

5699<h3 id="sdkauthstatusmessage">5699<h3 id="sdkauthstatusmessage">


5717 `SDKTaskStartedMessage`5717 `SDKTaskStartedMessage`

5718</h3>5718</h3>

5719 5719 

5720Emesso quando un'attività inizia. Il campo `task_type` è `"local_bash"` per i comandi Bash e i watch [Monitor](#monitor), `"local_agent"` per i subagenti, o `"remote_agent"`.5720Emesso quando un'attività inizia. Il campo `task_type` è `"local_bash"` per i comandi Bash e i watch [Monitor](#monitor), `"local_agent"` per i subagent, o `"remote_agent"`.

5721 5721 

5722```typescript theme={null}5722```typescript theme={null}

5723type SDKTaskStartedMessage = {5723type SDKTaskStartedMessage = {


5735};5735};

5736```5736```

5737 5737 

5738`ambient` è `true` per le attività che non fanno parte del lavoro della sessione, come le attività che Claude Code esegue per la sua stessa operazione. I watcher di aggiornamento dal vivo sono anche ambient, inclusi i watcher che l'utente ha chiesto. Escludi le attività ambient dagli indicatori di attività. Il campo richiede Agent SDK v0.3.247 o successivo.5738`ambient` è `true` per le attività che non fanno parte del lavoro della sessione, come le attività che Claude Code esegue per il proprio funzionamento. Anche i watcher di aggiornamento dal vivo sono ambient, inclusi i watcher che l'utente ha richiesto. Escludi le attività ambient dagli indicatori di attività. Il campo richiede Agent SDK v0.3.247 o successivo.

5739 5739 

5740`ambient` appare anche su [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e su voci [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5740`ambient` appare anche su [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e sulle voci di [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).

5741 5741 

5742`is_backgrounded` e `spawn_depth` descrivono come Claude Code ha avviato l'attività. Entrambi i campi richiedono Agent SDK v0.3.238 o successivo.5742`is_backgrounded` e `spawn_depth` descrivono come Claude Code ha avviato l'attività. Entrambi i campi richiedono Agent SDK v0.3.238 o successivo.

5743 5743 

5744* `is_backgrounded`: Claude Code lo imposta su attività `"local_agent"` e `"local_bash"`. `true` significa che l'attività viene eseguita in background. `false` significa che l'attività viene eseguita in primo piano, e la chiamata al tool che l'ha avviata rimane bloccata fino a quando l'attività non finisce o si sposta in background.5744* `is_backgrounded`: Claude Code lo imposta su attività `"local_agent"` e `"local_bash"`. `true` significa che l'attività viene eseguita in background. `false` significa che l'attività viene eseguita in primo piano, e la chiamata allo strumento che l'ha avviata rimane bloccata fino a quando l'attività non finisce o si sposta in background.

5745* `spawn_depth`: Claude Code lo imposta solo su attività `"local_agent"`. Un subagente che il thread principale ha generato ha profondità `1`. Un subagente che un subagente di profondità `1` ha generato ha profondità `2`, e così via.5745* `spawn_depth`: Claude Code lo imposta solo su attività `"local_agent"`. Un subagent che il thread principale ha generato ha profondità `1`. Un subagent che un subagent di profondità `1` ha generato ha profondità `2`, e così via.

5746 5746 

5747Un [subagente ripreso](/docs/it/agent-sdk/subagents#resume-subagents) segnala sempre `is_backgrounded: true`, perché Claude Code esegue ogni subagente ripreso in background. Quando un'attività in primo piano si sposta in background in seguito, Claude Code segnala il nuovo valore `is_backgrounded` in un messaggio [`task_updated`](#sdktaskupdatedmessage) piuttosto che inviare un secondo `task_started`.5747Un [subagent ripreso](/docs/it/agent-sdk/subagents#resume-subagents) segnala sempre `is_backgrounded: true`, perché Claude Code esegue ogni subagent ripreso in background. Quando un'attività in primo piano si sposta in background in seguito, Claude Code segnala il nuovo valore `is_backgrounded` in un messaggio [`task_updated`](#sdktaskupdatedmessage) piuttosto che inviare un secondo `task_started`.

5748 5748 

5749<h3 id="sdktaskprogressmessage">5749<h3 id="sdktaskprogressmessage">

5750 `SDKTaskProgressMessage`5750 `SDKTaskProgressMessage`

5751</h3>5751</h3>

5752 5752 

5753Emesso periodicamente mentre un subagente o un'attività di background è in esecuzione.5753Emesso periodicamente mentre un subagent o un'attività in background è in esecuzione.

5754 5754 

5755Per un'attività di subagente, il campo `summary` contiene un riepilogo del progresso generato dal modello ed è popolato solo quando [`agentProgressSummaries`](#options) è abilitato. Per una [chiamata al tool MCP messa in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), `summary` contiene il progresso più recente segnalato dal server MCP e non dipende da questa opzione.5755Per un'attività di subagent, il campo `summary` contiene un riepilogo del progresso generato dal modello ed è popolato solo quando [`agentProgressSummaries`](#options) è abilitato. Per una [chiamata a uno strumento MCP messa in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), `summary` contiene il progresso più recente segnalato dal server MCP e non dipende da questa opzione.

5756 5756 

5757```typescript theme={null}5757```typescript theme={null}

5758type SDKTaskProgressMessage = {5758type SDKTaskProgressMessage = {


5778 `SDKTaskUpdatedMessage`5778 `SDKTaskUpdatedMessage`

5779</h3>5779</h3>

5780 5780 

5781Emesso quando lo stato di un'attività di background cambia, ad esempio quando passa da `running` a `completed`. Unisci `patch` nella tua mappa attività locale con chiave `task_id`. Il campo `end_time` è un timestamp Unix epoch in millisecondi, confrontabile con `Date.now()`.5781Emesso quando lo stato di un'attività in background cambia, ad esempio quando passa da `running` a `completed`. Esegui il merge di `patch` nella tua mappa locale delle attività con chiave `task_id`. Il campo `end_time` è un timestamp Unix epoch in millisecondi, confrontabile con `Date.now()`.

5782 5782 

5783```typescript theme={null}5783```typescript theme={null}

5784type SDKTaskUpdatedMessage = {5784type SDKTaskUpdatedMessage = {


5802 `SDKBackgroundTasksChangedMessage`5802 `SDKBackgroundTasksChangedMessage`

5803</h3>5803</h3>

5804 5804 

5805Emesso ogni volta che l'insieme delle attività di background attive cambia: un'attività inizia, si completa, viene terminata, un agente in primo piano viene messo in background, o il campo `description` o `ambient` di un'attività cambia.5805Emesso ogni volta che l'insieme delle attività in background attive cambia: un'attività inizia, si completa, viene terminata, un agente in primo piano viene messo in background, o il campo `description` o `ambient` di un'attività cambia.

5806 5806 

5807L'array `tasks` è l'insieme completo attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che il prossimo cambio di appartenenza corregga qualsiasi evento che hai perso.5807L'array `tasks` è l'insieme completo attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che il prossimo cambio di appartenenza corregga qualsiasi evento che hai perso.

5808 5808 

5809L'ordine relativo a quegli eventi per attività è non specificato, quindi non correlare i due flussi.5809L'ordine relativo a quegli eventi per attività non è specificato, quindi non correlare i due flussi.

5810 5810 

5811Nulla viene emesso all'avvio. Reimposta a un insieme vuoto ogni volta che il processo CLI della sessione inizia o si riavvia e lascia che il prossimo cambio di appartenenza lo ripopoli.5811Nulla viene emesso all'avvio. Reimposta a un insieme vuoto ogni volta che il processo CLI della sessione si avvia o si riavvia e lascia che il prossimo cambio di appartenenza lo ripopoli.

5812 5812 

5813Quando invii una richiesta di controllo `initialize` ripetuta a una sessione in esecuzione, ad esempio con [`reinitialize()`](#query-object) dopo un gap di trasporto, Claude Code segue la risposta con uno snapshot dell'insieme attivo corrente, anche quando è vuoto. Un host che si ricollega quindi apprende cosa è in esecuzione senza aspettare il prossimo cambio di appartenenza. Prima di Agent SDK v0.3.239, Claude Code non inviava snapshot dopo un `initialize` ripetuto.5813Quando invii una richiesta di controllo `initialize` ripetuta a una sessione in esecuzione, ad esempio con [`reinitialize()`](#query-object) dopo un'interruzione del trasporto, Claude Code fa seguire alla risposta uno snapshot dell'insieme attivo corrente, anche quando è vuoto. Un host che si ricollega quindi apprende cosa è in esecuzione senza aspettare il prossimo cambio di appartenenza. Prima di Agent SDK v0.3.239, Claude Code non inviava snapshot dopo un `initialize` ripetuto.

5814 5814 

5815Richiede Claude Code v2.1.203 o successivo.5815Richiede Claude Code v2.1.203 o successivo.

5816 5816 


5833 `SDKThinkingTokensMessage`5833 `SDKThinkingTokensMessage`

5834</h3>5834</h3>

5835 5835 

5836Emesso mentre Claude sta producendo un blocco di pensiero, incluso uno redatto. `estimated_tokens` è una stima in esecuzione dei token di pensiero generati finora nel blocco corrente, e `estimated_tokens_delta` è l'incremento portato da questo frame. Usa queste stime per la visualizzazione del progresso.5836Emesso mentre Claude sta producendo un blocco di ragionamento, incluso uno redatto. `estimated_tokens` è una stima progressiva dei token di ragionamento generati finora nel blocco corrente, e `estimated_tokens_delta` è l'incremento portato da questo frame. Usa queste stime per la visualizzazione del progresso.

5837 5837 

5838Quando il modello o il provider segnala una suddivisione, il conteggio finale per il ciclo dell'agente di primo livello è il [`usage.output_tokens_details.thinking_tokens`](#usage) del messaggio di risultato, che [non include i token dei subagenti](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).5838Quando il modello o il provider segnala una suddivisione, il conteggio finale per il ciclo dell'agente di primo livello è il [`usage.output_tokens_details.thinking_tokens`](#usage) del messaggio di risultato, che [non include i token dei subagent](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).

5839 5839 

5840Richiede Claude Code v2.1.153 o successivo.5840Richiede Claude Code v2.1.153 o successivo.

5841 5841 


5873 `SDKRateLimitEvent`5873 `SDKRateLimitEvent`

5874</h3>5874</h3>

5875 5875 

5876Emesso quando la sessione incontra un limite di velocità.5876Emesso quando la sessione incontra un rate limit.

5877 5877 

5878```typescript theme={null}5878```typescript theme={null}

5879type SDKRateLimitEvent = {5879type SDKRateLimitEvent = {


5891};5891};

5892```5892```

5893 5893 

5894Quando `errorCode` è `"credits_required"`, il rifiuto proviene da un abbonamento claude.ai il cui utilizzo incluso è esaurito, e la sessione non può continuare fino a quando l'utente non acquista crediti di utilizzo. `canUserPurchaseCredits` indica se l'utente autenticato può acquistare crediti per l'account, e `hasChargeableSavedPaymentMethod` indica se un metodo di pagamento salvato è registrato. Tutti e tre i campi sono assenti negli eventi di limite di velocità che non sono rifiuti con crediti richiesti. Richiede Claude Code v2.1.181 o successivo.5894Quando `errorCode` è `"credits_required"`, il rifiuto proviene da un abbonamento claude.ai il cui utilizzo incluso è esaurito, e la sessione non può continuare fino a quando l'utente non acquista crediti di utilizzo. `canUserPurchaseCredits` indica se l'utente autenticato può acquistare crediti per l'account, e `hasChargeableSavedPaymentMethod` indica se un metodo di pagamento salvato è registrato. Tutti e tre i campi sono assenti negli eventi di rate limit che non sono rifiuti con crediti richiesti. Richiede Claude Code v2.1.181 o successivo.

5895 5895 

5896<h3 id="sdklocalcommandoutputmessage">5896<h3 id="sdklocalcommandoutputmessage">

5897 `SDKLocalCommandOutputMessage`5897 `SDKLocalCommandOutputMessage`


5915 5915 

5916Emesso quando l'insieme dei comandi disponibili cambia durante la sessione, ad esempio quando Claude Code scopre skill mentre l'agente entra in una sottodirectory. L'array `commands` è l'elenco completo aggiornato, quindi sostituisci qualsiasi elenco di comandi memorizzato nella cache con questo payload. Chiamare [`supportedCommands()`](#query-object) dopo questo messaggio restituisce lo stesso elenco aggiornato, perché il metodo traccia l'ultimo push; questo richiede Agent SDK v0.3.216 o successivo. Nelle versioni SDK precedenti, `supportedCommands()` restituisce lo snapshot acquisito all'inizializzazione e non riflette mai i cambiamenti durante la sessione.5916Emesso quando l'insieme dei comandi disponibili cambia durante la sessione, ad esempio quando Claude Code scopre skill mentre l'agente entra in una sottodirectory. L'array `commands` è l'elenco completo aggiornato, quindi sostituisci qualsiasi elenco di comandi memorizzato nella cache con questo payload. Chiamare [`supportedCommands()`](#query-object) dopo questo messaggio restituisce lo stesso elenco aggiornato, perché il metodo traccia l'ultimo push; questo richiede Agent SDK v0.3.216 o successivo. Nelle versioni SDK precedenti, `supportedCommands()` restituisce lo snapshot acquisito all'inizializzazione e non riflette mai i cambiamenti durante la sessione.

5917 5917 

5918Claude Code emette anche questo messaggio quando i [prompt](/docs/it/mcp#use-mcp-prompts-as-commands) di un server MCP si uniscono o lasciano l'elenco, ad esempio quando un server finisce di connettersi dopo l'avvio della sessione. Questo richiede Claude Code v2.1.281 o successivo.5918Claude Code emette questo messaggio anche quando i [prompt](/docs/it/mcp#use-mcp-prompts-as-commands) di un server MCP entrano o escono dall'elenco, ad esempio quando un server finisce di connettersi dopo l'avvio della sessione. Questo richiede Claude Code v2.1.281 o successivo.

5919 5919 

5920```typescript theme={null}5920```typescript theme={null}

5921type SDKCommandsChangedMessage = {5921type SDKCommandsChangedMessage = {


5963I campi opzionali descrivono il ripristino:5963I campi opzionali descrivono il ripristino:

5964 5964 

5965* `trigger`: cosa ha scartato la conversazione. Ripristina la tua trascrizione su ogni messaggio `conversation_reset`, incluso uno in cui questo campo è assente o contiene un valore che non riconosci.5965* `trigger`: cosa ha scartato la conversazione. Ripristina la tua trascrizione su ogni messaggio `conversation_reset`, incluso uno in cui questo campo è assente o contiene un valore che non riconosci.

5966* `user_message_uuid`: l'`uuid` del messaggio utente che ha portato il `/clear`. Usalo per abbinare il ripristino a quel messaggio.5966* `user_message_uuid`: l'`uuid` del messaggio utente che conteneva il `/clear`. Usalo per abbinare il ripristino a quel messaggio.

5967* `timestamp`: quando è avvenuto il ripristino, come una stringa ISO 8601 in UTC. Usalo per la visualizzazione, non per ordinare i messaggi.5967* `timestamp`: quando è avvenuto il ripristino, come una stringa ISO 8601 in UTC. Usalo per la visualizzazione, non per ordinare i messaggi.

5968 5968 

5969I campi `trigger`, `user_message_uuid` e `timestamp` richiedono Claude Code v2.1.281 o successivo.5969I campi `trigger`, `user_message_uuid` e `timestamp` richiedono Claude Code v2.1.281 o successivo.

5970 5970 

5971I tipi pubblicati dall'SDK dichiarano `SDKConversationResetMessage` in Claude Code v2.1.203 e successivo. Prima di v2.1.203, `SDKMessage` faceva riferimento al tipo senza dichiararlo, quindi il restringimento su `type === "conversation_reset"` non riusciva a typecheck quando `skipLibCheck` era disabilitato.5971I tipi pubblicati dall'SDK dichiarano `SDKConversationResetMessage` in Claude Code v2.1.203 e successivo. Prima di v2.1.203, `SDKMessage` faceva riferimento al tipo senza dichiararlo, quindi il restringimento su `type === "conversation_reset"` non superava il controllo dei tipi quando `skipLibCheck` era disabilitato.

5972 5972 

5973<h3 id="aborterror">5973<h3 id="aborterror">

5974 `AbortError`5974 `AbortError`


5980class AbortError extends Error {}5980class AbortError extends Error {}

5981```5981```

5982 5982 

5983`AbortError` è l'unica classe di errore nell'API tipizzata dell'SDK. Altri errori, come il processo Claude Code che esce o non riesce ad avviarsi, rifiutano l'iterazione del messaggio con errori che non portano alcuna classe SDK su cui abbinare. [Troubleshooting](/docs/it/agent-sdk/troubleshooting) chiave quegli errori per messaggio, con la causa e la correzione per ciascuno.5983`AbortError` è l'unica classe di errore nell'API tipizzata dell'SDK. Altri errori, come il processo Claude Code che esce o non riesce ad avviarsi, rifiutano l'iterazione dei messaggi con errori che non portano alcuna classe SDK su cui fare il confronto. [Risoluzione dei problemi](/docs/it/agent-sdk/troubleshooting) cataloga quegli errori per messaggio, con la causa e la correzione per ciascuno.

5984 5984 

5985<h2 id="sandbox-configuration">5985<h2 id="sandbox-configuration">

5986 Configurazione della sandbox5986 Configurazione della sandbox

Details

526 526 

527Se la tua organizzazione fornisce le intestazioni del guardrail attraverso una politica di [gateway delle app Claude](/docs/it/claude-apps-gateway), contano come [impostazioni che richiedono approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog).527Se la tua organizzazione fornisce le intestazioni del guardrail attraverso una politica di [gateway delle app Claude](/docs/it/claude-apps-gateway), contano come [impostazioni che richiedono approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog).

528 528 

529Quando il guardrail blocca una risposta a metà, il testo trasmesso fino a quel momento rimane e la risposta termina con il messaggio configurato sul guardrail per le risposte bloccate.

530 

529<h2 id="use-the-mantle-endpoint">531<h2 id="use-the-mantle-endpoint">

530 Utilizza l'endpoint Mantle532 Utilizza l'endpoint Mantle

531</h2>533</h2>

Details

64| - | - | - |64| - | - | - |

65| `host` | No | Indirizzo di binding. Predefinito `0.0.0.0`. |65| `host` | No | Indirizzo di binding. Predefinito `0.0.0.0`. |

66| `port` | No | Porta di binding. Predefinito `8080`. |66| `port` | No | Porta di binding. Predefinito `8080`. |

67| `public_url` | Se non è loopback | L'origine `https://` visibile esternamente, utilizzata per costruire il `redirect_uri` dell'IdP e i metadati di scoperta. Obbligatorio ogni volta che `host` non è un indirizzo loopback, sia che TLS termini a un proxy come un ALB, Ingress o Cloud Run o al gateway stesso tramite `tls`, perché il gateway non deriva mai la sua stessa origine dagli header `X-Forwarded-*`; sono falsificabili dal client. L'avvio fallisce senza di esso. `trusted_proxies` di seguito governa solo la risoluzione dell'IP del client. Obbligatorio anche per abilitare la [telemetria](#telemetry), perché il gateway costruisce l'endpoint OTLP che spinge ai client da questo URL. |67| `public_url` | A meno che `host` non sia loopback | L'origine `https://` visibile esternamente, utilizzata per costruire il `redirect_uri` dell'IdP e i metadati di scoperta. Obbligatorio ogni volta che `host` non è un indirizzo loopback, sia che TLS termini a un proxy come un ALB, Ingress o Cloud Run o al gateway stesso tramite `tls`, perché il gateway non deriva mai la sua stessa origine dagli header `X-Forwarded-*`; sono falsificabili dal client. L'avvio fallisce senza di esso. `trusted_proxies` di seguito governa solo la risoluzione dell'IP del client. Obbligatorio anche per abilitare la [telemetria](#telemetry), perché il gateway costruisce l'endpoint OTLP che spinge ai client da questo URL. |

68| `tls.cert` / `tls.key` | No | Percorsi PEM se il gateway termina TLS stesso |68| `tls.cert` / `tls.key` | No | Percorsi PEM se il gateway termina TLS stesso |

69| `trusted_proxies` | No | CIDR o IP dei load balancer davanti al gateway. Quando impostato, il gateway si fida di `X-Forwarded-For` solo da questi peer e registra l'IP client reale per il rate limiting per IP e l'audit. Equivalente a nginx `set_real_ip_from`. Le voci `X-Forwarded-For` scritte come `ipv4:port` o `[ipv6]:port`, come fanno alcuni load balancer, vengono lette con la porta eliminata. Un indirizzo IPv6 con una porta aggiunta e senza parentesi può essere letto come un indirizzo diverso o non letto affatto, quindi disattivate l'opzione della porta su qualsiasi proxy che scrive quella forma. |69| `trusted_proxies` | No | CIDR o IP dei load balancer davanti al gateway. Quando impostato, il gateway si fida di `X-Forwarded-For` solo da questi peer e registra l'IP client reale per il rate limiting per IP e l'audit. Equivalente a nginx `set_real_ip_from`. Le voci `X-Forwarded-For` scritte come `ipv4:port` o `[ipv6]:port`, come fanno alcuni load balancer, vengono lette con la porta eliminata. Un indirizzo IPv6 con una porta aggiunta e senza parentesi può essere letto come un indirizzo diverso o non letto affatto, quindi disattiva l'opzione della porta su qualsiasi proxy che scrive quella forma. |

70 70 

71<h3 id="oidc">71<h3 id="oidc">

72 `oidc`72 `oidc`

73</h3>73</h3>

74 74 

75Il blocco `oidc` connette il gateway al vostro provider di identità e decide chi può accedere. Nomina l'emittente e il client OAuth, mappa i claim che portano email e gruppi e limita l'accesso per dominio email o gruppo.75Il blocco `oidc` connette il gateway al tuo provider di identità e decide chi può accedere. Nomina l'emittente e il client OAuth, mappa i claim che portano email e gruppi e limita l'accesso per dominio email o gruppo.

76 76 

77OpenID Connect (OIDC) è il protocollo SSO che il gateway utilizza con il vostro provider di identità; vedere [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup) per ciò che registrare sul lato IdP.77OpenID Connect (OIDC) è il protocollo SSO che il gateway utilizza con il tuo provider di identità; consulta [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup) per ciò che registrare sul lato IdP.

78 78 

79| Campo | Obbligatorio | Descrizione |79| Campo | Obbligatorio | Descrizione |

80| - | - | - |80| - | - | - |

81| `issuer` | Sì | Base di scoperta OIDC. Deve servire la scoperta su `/.well-known/openid-configuration`. Usate HTTPS in produzione; il gateway accetta un emittente `http://`. Un emittente loopback come `http://localhost:8081` è rifiutato dalla [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) a meno che `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` non sia impostato nell'ambiente del gateway. |81| `issuer` | Sì | Base di scoperta OIDC. Deve servire la scoperta su `/.well-known/openid-configuration`. Usa HTTPS in produzione; il gateway accetta un emittente `http://`. Un emittente loopback come `http://localhost:8081` è rifiutato dalla [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) a meno che `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` non sia impostato nell'ambiente del gateway. |

82| `client_id` / `client_secret` | Sì | Dalla vostra registrazione del client OAuth |82| `client_id` / `client_secret` | Sì | Dalla tua registrazione del client OAuth |

83| `allowed_email_domains` | No | Rifiutate i token id i cui claim `email` non sono in uno di questi domini, case-insensitive. Difesa in profondità contro la misconfiguration dell'IdP multi-tenant. Indipendentemente da questa impostazione, un id\_token il cui claim `email_verified` è esplicitamente `false` è sempre rifiutato. |83| `allowed_email_domains` | No | Rifiuta gli id\_token il cui claim `email` non è in uno di questi domini, senza distinzione tra maiuscole e minuscole. Difesa in profondità contro la configurazione errata dell'IdP multi-tenant. Indipendentemente da questa impostazione, un id\_token il cui claim `email_verified` è esplicitamente `false` è sempre rifiutato. |

84| `allowed_groups` | No | Limitate l'accesso ai membri di questi gruppi IdP, abbinati rispetto a `groups_claim`. Un utente in un dominio email consentito ma in nessuno di questi gruppi è rifiutato. Richiede che l'IdP emetta il claim dei gruppi. L'abbinamento è un confronto di stringhe esatto e case-sensitive rispetto ai valori in quel claim, e il gateway non espande i gruppi annidati: per ammettere i membri di un sottogruppo, elencate il sottogruppo qui o configurate l'IdP per emettere l'appartenenza appiattita. |84| `allowed_groups` | No | Limita l'accesso ai membri di questi gruppi IdP, abbinati rispetto a `groups_claim`. Un utente in un dominio email consentito ma in nessuno di questi gruppi è rifiutato. Richiede che l'IdP emetta il claim dei gruppi. L'abbinamento è un confronto di stringhe esatto e case-sensitive rispetto ai valori in quel claim, e il gateway non espande i gruppi annidati: per ammettere i membri di un sottogruppo, elenca il sottogruppo qui o configura l'IdP per emettere l'appartenenza appiattita. |

85| `groups_claim` | No | Quale claim id\_token porta l'appartenenza al gruppo. Predefinito `groups`. Microsoft Entra emette i ruoli dell'app sotto `roles`. Accetta una chiave flat o un JSON Pointer RFC 6901 come `/resource_access/gateway/roles` per i claim annidati. |85| `groups_claim` | No | Quale claim dell'id\_token porta l'appartenenza al gruppo. Predefinito `groups`. Microsoft Entra emette i ruoli dell'app sotto `roles`. Accetta una chiave flat o un JSON Pointer RFC 6901 come `/resource_access/gateway/roles` per i claim annidati. |

86| `google_groups` | No | Cercate i gruppi dell'utente che ha effettuato l'accesso tramite l'API Google Workspace Admin SDK Directory, perché il token id di Google non porta alcun claim di gruppi. Impostate `service_account_json_path` su un file di chiave dell'account di servizio con delega a livello di dominio sull'ambito `https://www.googleapis.com/auth/admin.directory.group.readonly` e `admin_email` su un amministratore di Workspace che l'account di servizio rappresenta; l'API Directory richiede un soggetto amministratore reale. Gli indirizzi email dei gruppi di ogni utente diventano il loro claim di gruppi, quindi `allowed_groups` e `managed.policies.match.groups` corrispondono agli indirizzi email dei gruppi. |86| `google_groups` | No | Cerca i gruppi dell'utente che ha effettuato l'accesso tramite la Directory API del Google Workspace Admin SDK, perché l'id\_token di Google non porta alcun claim di gruppi. Imposta `service_account_json_path` su un file di chiave dell'account di servizio con delega a livello di dominio sullo scope `https://www.googleapis.com/auth/admin.directory.group.readonly` e `admin_email` su un amministratore di Workspace che l'account di servizio impersona; la Directory API richiede un soggetto amministratore reale. Gli indirizzi email dei gruppi di ogni utente diventano il suo claim di gruppi, quindi `allowed_groups` e `managed.policies.match.groups` corrispondono agli indirizzi email dei gruppi. |

87| `email_claim` | No | Quale claim id\_token porta l'email dell'utente. Predefinito `email`. Alcuni IdP, come ADFS ed Entra B2C, emettono `upn` o `preferred_username` invece. Accetta una chiave flat, un JSON Pointer o un elenco di chiavi di fallback dove viene utilizzata la prima chiave presente. |87| `email_claim` | No | Quale claim dell'id\_token porta l'email dell'utente. Predefinito `email`. Alcuni IdP, come ADFS ed Entra B2C, emettono invece `upn` o `preferred_username`. Accetta una chiave flat, un JSON Pointer o un elenco di chiavi di fallback dove viene utilizzata la prima chiave presente. |

88| `scopes` | No | Override completo degli ambiti OIDC che il gateway richiede. Predefinito `[openid, profile, email, offline_access]`. Impostate quando il vostro IdP rifiuta gli ambiti che non riconosce o richiede un ambito personalizzato per emettere gruppi o email. Deve includere `openid`. Eliminare `offline_access` disabilita i token di aggiornamento, quindi gli sviluppatori rieseguono l'accesso al browser ogni `session.ttl_hours`. Vedere [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup) per ricette di ambito per IdP come il flusso di token di aggiornamento di Google. |88| `scopes` | No | Override completo degli scope OIDC che il gateway richiede. Predefinito `[openid, profile, email, offline_access]`. Impostalo quando il tuo IdP rifiuta gli scope che non riconosce o richiede uno scope personalizzato per emettere gruppi o email. Deve includere `openid`. Eliminare `offline_access` disabilita i token di aggiornamento, quindi gli sviluppatori rieseguono l'accesso nel browser ogni `session.ttl_hours`. Consulta [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup) per ricette di scope per IdP come il flusso dei token di aggiornamento di Google. |

89| `scope_on_refresh` | No | Inviate anche `scope`, con lo stesso elenco della richiesta di accesso, quando il gateway scambia un token di aggiornamento. Predefinito `false`: la richiesta di aggiornamento omette `scope`. La maggior parte degli IdP restituisce un id\_token ad ogni aggiornamento e non ha bisogno di questo. Impostate `true` quando il vostro IdP restituisce un id\_token al momento dell'aggiornamento solo se richiesto di nuovo `openid`, che Okta documenta per il suo grant di aggiornamento. Senza un id\_token, ogni aggiornamento dipende dall'endpoint userinfo dell'IdP che accetta il token di accesso aggiornato. Se controllate l'accesso o abbinate le politiche sui gruppi e l'id\_token dell'IdP al momento dell'aggiornamento li omette, impostate anche `userinfo_fallback: true` in modo che il gateway li riempia dall'endpoint userinfo. Un IdP che ha concesso meno ambiti di quelli richiesti può rifiutare l'aggiornamento con `invalid_scope`, incluso per le sessioni esistenti se aggiungete voci a `scopes` mentre questo è attivo. Deselezionate la chiave se gli aggiornamenti iniziano a fallire su `token_endpoint` dopo averla impostata. Richiede Claude Code v2.1.260 o successivo sul server del gateway. |89| `scope_on_refresh` | No | Invia anche `scope`, con lo stesso elenco della richiesta di accesso, quando il gateway scambia un token di aggiornamento. Predefinito `false`: la richiesta di aggiornamento omette `scope`. La maggior parte degli IdP restituisce un id\_token ad ogni aggiornamento e non ne ha bisogno. Imposta `true` quando il tuo IdP restituisce un id\_token all'aggiornamento solo se gli viene richiesto di nuovo `openid`, cosa che Okta documenta per il suo grant di aggiornamento. Senza un id\_token, ogni aggiornamento dipende dal fatto che l'endpoint userinfo dell'IdP accetti il token di accesso aggiornato. Se limiti l'accesso o abbini le policy in base ai gruppi e l'id\_token dell'IdP al momento dell'aggiornamento li omette, imposta anche `userinfo_fallback: true` in modo che il gateway li recuperi dall'endpoint userinfo. Un IdP che ha concesso meno scope di quelli richiesti può rifiutare l'aggiornamento con `invalid_scope`, anche per le sessioni esistenti se aggiungi voci a `scopes` mentre questa opzione è attiva. Rimuovi la chiave se gli aggiornamenti iniziano a fallire su `token_endpoint` dopo averla impostata. Richiede Claude Code v2.1.260 o successivo sul server del gateway. |

90| `extra_auth_params` | No | Parametri di query extra aggiunti alla richiesta di autorizzazione dell'IdP, verbatim. Questo è il meccanismo di override per il comportamento specifico dell'IdP, come `access_type: offline` per i token di aggiornamento di Google, `domain_hint` per alcuni tenant Entra o `acr_values` per i flussi step-up. Non può sovrascrivere i parametri del protocollo gestiti dal gateway: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` e `client_id`. |90| `extra_auth_params` | No | Parametri di query extra aggiunti alla richiesta di autorizzazione dell'IdP, testualmente. Questo è il meccanismo di override per il comportamento specifico dell'IdP, come `access_type: offline` per i token di aggiornamento di Google, `domain_hint` per alcuni tenant Entra o `acr_values` per i flussi step-up. Non può sovrascrivere i parametri del protocollo gestiti dal gateway: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` e `client_id`. |

91| `userinfo_fallback` | No | Quando l'id\_token omette email o gruppi, recuperateli da `/userinfo`. Necessario per i token di accesso leggeri di Keycloak, il server org di Okta e i token minimi di ADFS. L'id\_token rimane autorevole; userinfo riempie solo i vuoti. Predefinito `false`. |91| `userinfo_fallback` | No | Quando l'id\_token omette email o gruppi, recuperali da `/userinfo`. Necessario per i token di accesso leggeri di Keycloak, il server org di Okta e i token minimi di ADFS. L'id\_token rimane autorevole; userinfo riempie solo i vuoti. Predefinito `false`. |

92| `use_pkce` | No | Inviate una sfida PKCE (S256) sulla richiesta di autorizzazione. Predefinito `true`. Impostate `false` solo se il vostro IdP rifiuta PKCE per questo client confidenziale. |92| `use_pkce` | No | Invia una sfida PKCE (S256) sulla richiesta di autorizzazione. Predefinito `true`. Imposta `false` solo se il tuo IdP rifiuta PKCE per questo client confidenziale. |

93| `clock_skew_seconds` | No | Tollerare la deriva dell'orologio quando si convalidano i claim temporali dell'id\_token. Predefinito `0`, che è rigoroso. Aumentate se vedete errori "token scaduto / non ancora valido" subito dopo l'accesso a causa della deriva dell'orologio host/IdP. |93| `clock_skew_seconds` | No | Tollera la deriva dell'orologio quando si convalidano i claim temporali dell'id\_token. Predefinito `0`, che è rigoroso. Aumentalo se vedi errori "token scaduto / non ancora valido" subito dopo l'accesso a causa della deriva dell'orologio tra host e IdP. |

94| `token_endpoint_auth_method` | No | Override del metodo di autenticazione dell'endpoint del token. Accetta `client_secret_basic` o `client_secret_post`. Negoziato automaticamente per impostazione predefinita. |94| `token_endpoint_auth_method` | No | Override del metodo di autenticazione dell'endpoint del token. Accetta `client_secret_basic` o `client_secret_post`. Negoziato automaticamente per impostazione predefinita. |

95| `id_token_signed_response_alg` | No | Algoritmo di firma id\_token previsto. Predefinito `RS256`. Impostate per gli IdP che firmano con ES256, PS256 o EdDSA. |95| `id_token_signed_response_alg` | No | Algoritmo di firma dell'id\_token previsto. Predefinito `RS256`. Impostalo per gli IdP che firmano con ES256, PS256 o EdDSA. |

96| `additional_authorized_parties` | No | Valori `azp` extra da accettare oltre a `client_id`, per i flussi di broker e scambio di token di Keycloak |96| `additional_authorized_parties` | No | Valori `azp` extra da accettare oltre a `client_id`, per i flussi di broker e scambio di token di Keycloak |

97| `discovery_url` | No | Recuperate il documento di scoperta da questo URL invece di derivarlo da `issuer`, per gli IdP dietro un proxy che riscrive l'host dell'emittente. Il percorso deve contenere `/.well-known/`. |97| `discovery_url` | No | Recupera il documento di scoperta da questo URL invece di derivarlo da `issuer`, per gli IdP dietro un proxy che riscrive l'host dell'emittente. Il percorso deve contenere `/.well-known/`. |

98| `use_proxy` | No | Inviate le richieste IdP del gateway stesso attraverso il proxy forward in `HTTPS_PROXY` o `HTTP_PROXY`, onorando `NO_PROXY`. `false` mantiene quelle richieste dirette. Richiede v2.1.227 o successivo; vedere [Richieste IdP attraverso un proxy forward](#idp-requests-through-a-forward-proxy) di seguito. |98| `use_proxy` | No | Invia le richieste IdP del gateway stesso attraverso il forward proxy in `HTTPS_PROXY` o `HTTP_PROXY`, rispettando `NO_PROXY`. `false` mantiene quelle richieste dirette. Richiede v2.1.227 o successivo; consulta [Richieste IdP attraverso un forward proxy](#idp-requests-through-a-forward-proxy) di seguito. |

99| `form_action_origins` | No | Origini aggiuntive per la direttiva `Content-Security-Policy: form-action` della pagina `/device`. Il gateway consente già `'self'` e l'origine dell'`authorization_endpoint` scoperta, ma Chrome applica `form-action` all'intera catena di reindirizzamento. Se il vostro IdP reindirizza attraverso un secondo host, come Azure AD federato ad ADFS, Okta hub-spoke o un intercettore SSO aziendale, elencate ogni origine attraverso cui la richiesta di autorizzazione può reindirizzare. |99| `form_action_origins` | No | Origini aggiuntive per la direttiva `Content-Security-Policy: form-action` della pagina `/device`. Il gateway consente già `'self'` e l'origine dell'`authorization_endpoint` scoperta, ma Chrome applica `form-action` all'intera catena di reindirizzamento. Se il tuo IdP reindirizza attraverso un secondo host, come Azure AD federato ad ADFS, Okta hub-spoke o un intercettore SSO aziendale, elenca ogni origine attraverso cui la richiesta di autorizzazione può essere reindirizzata. |

100| `ca_cert_pem` | No | Il certificato CA PEM stesso, non un percorso a un file. Sostituisce l'archivio di fiducia del sistema solo per le richieste IdP. Per caricare un file montato, scrivete `${file:/etc/gateway/idp-ca.pem}`. Usate per Keycloak o Dex dietro PKI aziendale. |100| `ca_cert_pem` | No | Il certificato CA codificato in PEM stesso, non un percorso a un file. Sostituisce l'archivio di attendibilità del sistema solo per le richieste IdP. Per caricare un file montato, scrivi `${file:/etc/gateway/idp-ca.pem}`. Usalo per Keycloak o Dex dietro una PKI aziendale. |

101 101 

102<h4 id="idp-requests-through-a-forward-proxy">102<h4 id="idp-requests-through-a-forward-proxy">

103 Richieste IdP attraverso un proxy forward103 Richieste IdP attraverso un forward proxy

104</h4>104</h4>

105 105 

106Gli upstream di inferenza onorare `HTTPS_PROXY` e `HTTP_PROXY` su ogni versione. Le richieste del gateway stesso all'IdP, scoperta, JWKS, token e userinfo, vanno dirette a meno che non impostiate `oidc.use_proxy: true`, che richiede v2.1.227 o successivo. Quando una variabile proxy è impostata, `use_proxy` non è impostato e l'emittente non è coperto da `NO_PROXY`, il gateway mantiene quelle richieste dirette e registra un avviso all'avvio chiedendovi di scegliere; `use_proxy: false` le mantiene dirette e silenzia l'avviso.106Gli upstream di inferenza rispettano `HTTPS_PROXY` e `HTTP_PROXY` in ogni versione. Le richieste del gateway stesso all'IdP (scoperta, JWKS, token e userinfo) vanno dirette a meno che non imposti `oidc.use_proxy: true`, che richiede v2.1.227 o successivo. Quando una variabile proxy è impostata, `use_proxy` non è impostato e l'emittente non è coperto da `NO_PROXY`, il gateway mantiene quelle richieste dirette e registra un avviso all'avvio chiedendoti di scegliere; `use_proxy: false` le mantiene dirette e silenzia l'avviso.

107 107 

108Con `use_proxy: true`, il pod risolve il nome host di ogni endpoint IdP stesso e chiede al proxy di `CONNECT` all'indirizzo IP risolto, quindi il proxy deve accettare `CONNECT` all'indirizzo IP di ogni host che il documento di scoperta nomina, non solo l'emittente. Usate un URL proxy `http://`. `ca_cert_pem` e la [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) si applicano anche sul percorso proxato.108Con `use_proxy: true`, il pod risolve da sé il nome host di ogni endpoint IdP e chiede al proxy di eseguire `CONNECT` verso l'indirizzo IP risolto, quindi il proxy deve accettare `CONNECT` verso l'indirizzo IP di ogni host indicato dal documento di scoperta, non solo dell'emittente. Usa un URL proxy `http://`. `ca_cert_pem` e la [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) si applicano anche sul percorso tramite proxy.

109 109 

110[Egress solo proxy](#proxy-only-egress) cambia entrambi questi: mentre è attivo, le richieste IdP seguono il proxy a meno che non impostiate `use_proxy: false`, e il gateway consegna al proxy ogni nome host IdP senza risolverlo prima.110L'[egress solo tramite proxy](#proxy-only-egress) cambia entrambi questi aspetti: mentre è attivo, le richieste IdP passano per il proxy a meno che tu non imposti `use_proxy: false`, e il gateway consegna al proxy ogni nome host IdP senza risolverlo prima.

111 111 

112<h4 id="proxy-only-egress">112<h4 id="proxy-only-egress">

113 Egress solo proxy113 Egress solo tramite proxy

114</h4>114</h4>

115 115 

116Impostate `CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1` nell'ambiente del gateway, accanto a `HTTPS_PROXY`, quando il pod raggiunge altri host solo attraverso quel proxy forward e non può risolvere i nomi DNS pubblici stesso, o quando il proxy rifiuta `CONNECT` a un indirizzo IP. Richiede v2.1.277 o successivo. È una variabile di ambiente piuttosto che una chiave `gateway.yaml` in modo che nulla nel file di configurazione possa rilassare il controllo dell'indirizzo del gateway.116Imposta `CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1` nell'ambiente del gateway, accanto a `HTTPS_PROXY`, quando il pod raggiunge altri host solo attraverso quel forward proxy e non può risolvere da sé i nomi DNS pubblici, o quando il proxy rifiuta `CONNECT` verso un indirizzo IP. Richiede v2.1.277 o successivo. È una variabile d'ambiente anziché una chiave di `gateway.yaml` in modo che nulla nel file di configurazione possa allentare il controllo degli indirizzi del gateway.

117 117 

118```bash theme={null}118```bash theme={null}

119export HTTPS_PROXY=http://proxy.corp.example.com:3128119export HTTPS_PROXY=http://proxy.corp.example.com:3128


122export CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1122export CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1

123```123```

124 124 

125Il gateway registra una riga `network:` all'avvio mentre l'egress solo proxy è attivo.125Il gateway registra una riga `network:` all'avvio mentre l'egress solo tramite proxy è attivo.

126 126 

127Ogni riga di seguito è una classe di richiesta in uscita su un gateway con `HTTPS_PROXY` impostato, per impostazione predefinita e mentre l'egress solo proxy è attivo.127Ogni riga di seguito è una classe di richiesta in uscita su un gateway con `HTTPS_PROXY` impostato, per impostazione predefinita e mentre l'egress solo tramite proxy è attivo.

128 128 

129| Richiesta in uscita | Predefinito | Egress solo proxy attivo |129| Richiesta in uscita | Predefinito | Egress solo tramite proxy attivo |

130| - | - | - |130| - | - | - |

131| `provider: anthropic` upstream, scambio di token Workload Identity Federation, esportazioni `telemetry.forward_to` | Risolto e controllato localmente, quindi `CONNECT` all'indirizzo IP controllato attraverso il proxy. Un collettore di telemetria elencato in `NO_PROXY` viene raggiunto direttamente invece | Nome host consegnato al proxy |131| Upstream `provider: anthropic`, scambio di token Workload Identity Federation, esportazioni `telemetry.forward_to` | Risolto e controllato localmente, quindi `CONNECT` verso l'indirizzo IP controllato attraverso il proxy. Un collettore di telemetria elencato in `NO_PROXY` viene invece raggiunto direttamente | Nome host consegnato al proxy |

132| Scoperta IdP, JWKS, token e userinfo | Diretto a meno che [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), quindi `CONNECT` all'indirizzo IP controllato | Nome host consegnato al proxy, a meno che `oidc.use_proxy: false` non mantenga un IdP interno diretto |132| Scoperta IdP, JWKS, token e userinfo | Diretto a meno che [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), quindi `CONNECT` verso l'indirizzo IP controllato | Nome host consegnato al proxy, a meno che `oidc.use_proxy: false` non mantenga diretto un IdP interno |

133| Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud e upstream Microsoft Foundry; ricerche di gruppi Google | Nome host consegnato al proxy | Invariato |133| Upstream Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud e Microsoft Foundry; ricerche di gruppi Google | Nome host consegnato al proxy | Invariato |

134 134 

135L'egress solo proxy rimane disattivato a meno che l'ambiente del gateway non soddisfi tutti e tre questi condizioni:135L'egress solo tramite proxy rimane disattivato a meno che l'ambiente del gateway non soddisfi tutte e tre queste condizioni:

136 136 

137* `HTTPS_PROXY` o `HTTP_PROXY` è impostato.137* `HTTPS_PROXY` o `HTTP_PROXY` è impostato.

138* `NO_PROXY` e `no_proxy` sono vuoti. Se la vostra piattaforma inietta uno di questi nei pod, impostate entrambi a un valore vuoto sul contenitore del gateway. Elencando un collettore di telemetria in `NO_PROXY` mantiene l'egress solo proxy disattivato.138* `NO_PROXY` e `no_proxy` sono vuoti. Se la tua piattaforma inietta una delle due nei pod, imposta entrambe a un valore vuoto sul container del gateway. Elencare un collettore di telemetria in `NO_PROXY` mantiene disattivato l'egress solo tramite proxy.

139* `CLAUDE_GATEWAY_ALLOW_LOOPBACK` non è attivato. Un collettore o IdP sul loopback proprio del pod non può essere combinato con l'egress solo proxy, perché un indirizzo loopback consegnato al proxy sarebbe il proprio dell'host proxy, quindi date a quei servizi un indirizzo che il proxy può raggiungere invece. Per lo stesso motivo il gateway rifiuta i nomi di stile `localhost` completamente mentre l'egress solo proxy è attivo.139* `CLAUDE_GATEWAY_ALLOW_LOOPBACK` non è attivato. Un collettore o un IdP sul loopback del pod stesso non può essere combinato con l'egress solo tramite proxy, perché un indirizzo loopback consegnato al proxy sarebbe quello dell'host del proxy, quindi assegna invece a quei servizi un indirizzo che il proxy può raggiungere. Per lo stesso motivo il gateway rifiuta del tutto i nomi di tipo `localhost` mentre l'egress solo tramite proxy è attivo.

140 140 

141Quando una di queste condizioni non è soddisfatta, il gateway registra un avviso all'avvio nominando la variabile che l'ha fermato e mantiene il comportamento predefinito.141Quando una di queste condizioni non è soddisfatta, il gateway registra un avviso all'avvio indicando la variabile che l'ha impedito e mantiene il comportamento predefinito.

142 142 

143Una volta che l'egress solo proxy è attivo, consentite ogni destinazione nel proxy, incluso un collettore interno e qualsiasi host configurato per indirizzo IP. Potete ancora mantenere un IdP interno diretto con [`oidc.use_proxy: false`](#idp-requests-through-a-forward-proxy).143Una volta attivo l'egress solo tramite proxy, consenti nel proxy ogni destinazione, incluso un collettore interno e qualsiasi host configurato per indirizzo IP. Puoi comunque mantenere diretto un IdP interno con [`oidc.use_proxy: false`](#idp-requests-through-a-forward-proxy).

144 144 

145<Warning>145<Warning>

146 Attivate questo solo quando l'allowlist del proxy è almeno altrettanto rigoroso del controllo del gateway stesso. Il proxy deve rifiutare gli endpoint dei metadati cloud come `169.254.169.254` e `metadata.google.internal`, gli indirizzi link-local e il loopback dell'host proxy stesso, e deve rifiutarli per l'indirizzo a cui un nome si risolve, non solo per nome, perché il gateway non cattura più un nome host che si risolve a uno di essi. Un proxy che si connette ovunque gli viene chiesto rimuove la [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) del gateway per queste richieste.146 Attiva questa opzione solo quando l'allowlist del proxy è rigorosa almeno quanto il controllo del gateway stesso. Il proxy deve rifiutare gli endpoint dei metadati cloud come `169.254.169.254` e `metadata.google.internal`, gli indirizzi link-local e il loopback dell'host del proxy stesso, e deve rifiutarli in base all'indirizzo in cui un nome si risolve, non solo in base al nome, perché il gateway non intercetta più un nome host che si risolve in uno di essi. Un proxy che si connette ovunque gli venga chiesto rimuove la [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) del gateway per queste richieste.

147</Warning>147</Warning>

148 148 

149<h3 id="session">149<h3 id="session">

150 `session`150 `session`

151</h3>151</h3>

152 152 

153Il blocco `session` modella i token bearer che il gateway conia dopo l'accesso: il segreto che li firma e quanto a lungo vivono.153Il blocco `session` definisce i token bearer che il gateway emette dopo l'accesso: il segreto che li firma e per quanto tempo restano validi.

154 154 

155| Campo | Obbligatorio | Descrizione |155| Campo | Obbligatorio | Descrizione |

156| - | - | - |156| - | - | - |

157| `jwt_secret` | Sì | Almeno 32 byte di entropia, ad esempio da `openssl rand -base64 32`. Firma i token bearer HS256 del gateway. Accetta una singola stringa o un array per la rotazione: l'indice 0 firma e tutte le voci verificano. Per ruotare, antepone un nuovo segreto, attendi `ttl_hours`, quindi elimina quello vecchio. |157| `jwt_secret` | Sì | Almeno 32 byte di entropia, ad esempio da `openssl rand -base64 32`. Firma i token bearer HS256 del gateway. Accetta una singola stringa o un array per la rotazione: l'indice 0 firma e tutte le voci verificano. Per ruotare, anteponi un nuovo segreto, attendi `ttl_hours`, quindi elimina quello vecchio. |

158| `ttl_hours` | No | Durata del token bearer del gateway. Predefinito `1`. La CLI aggiorna silenziosamente prima della scadenza quando l'IdP emette token di aggiornamento. Una durata più breve deprovvede più velocemente; una più lunga fa meno round-trip IdP. Se il vostro IdP non può emettere token di aggiornamento perché `offline_access` non è disponibile, non c'è aggiornamento silenzioso, quindi aumentate a `8` o `12` per evitare di rimandare gli sviluppatori all'accesso al browser ogni ora. |158| `ttl_hours` | No | Durata del token bearer del gateway. Predefinito `1`. La CLI aggiorna silenziosamente prima della scadenza quando l'IdP emette token di aggiornamento. Una durata più breve revoca l'accesso più velocemente; una più lunga richiede meno round-trip verso l'IdP. Se il tuo IdP non può emettere token di aggiornamento perché `offline_access` non è disponibile, non c'è aggiornamento silenzioso, quindi aumentalo a `8` o `12` per evitare di rimandare gli sviluppatori all'accesso nel browser ogni ora. |

159 159 

160<h3 id="store">160<h3 id="store">

161 `store`161 `store`

162</h3>162</h3>

163 163 

164Il blocco `store` punta il gateway al suo database PostgreSQL, che contiene le concessioni dei dispositivi e i contatori dei limiti di velocità.164Il blocco `store` punta il gateway al suo database PostgreSQL, che contiene le concessioni dei dispositivi e i contatori dei rate limit.

165 165 

166| Campo | Obbligatorio | Descrizione |166| Campo | Obbligatorio | Descrizione |

167| - | - | - |167| - | - | - |

168| `postgres_url` | Sì | URL `postgres://` o `postgresql://`. Obbligatorio: il rendezvous della concessione del dispositivo, dove il callback del browser scrive e la CLI di polling legge, ha bisogno di uno stato cross-replica. Il gateway esegue le sue migrazioni dello schema all'avvio e all'aggiornamento, quindi il ruolo ha bisogno di diritti per creare e alterare le tabelle sullo schema di destinazione. Vedere [Aggiornamenti](/docs/it/claude-apps-gateway-deploy#upgrades) e [Postgres](/docs/it/claude-apps-gateway-deploy#postgres). |168| `postgres_url` | Sì | URL `postgres://` o `postgresql://`. Obbligatorio: il punto d'incontro della concessione del dispositivo, dove il callback del browser scrive e la CLI in polling legge, richiede uno stato condiviso tra repliche. Il gateway esegue le proprie migrazioni dello schema all'avvio e all'aggiornamento, quindi il ruolo ha bisogno dei diritti per creare e modificare tabelle sullo schema di destinazione. Consulta [Aggiornamenti](/docs/it/claude-apps-gateway-deploy#upgrades) e [Postgres](/docs/it/claude-apps-gateway-deploy#postgres). |

169| `username` | No | Sovrascrive l'utente in `postgres_url` |169| `username` | No | Sovrascrive l'utente in `postgres_url` |

170| `password` | No | Credenziale del database. Impostatela qui piuttosto che in `postgres_url` in modo che la credenziale rimanga fuori dall'URL. Accetta qualsiasi carattere e ha la precedenza sulle credenziali dell'URL. |170| `password` | No | Credenziale del database. Impostala qui anziché in `postgres_url` in modo che la credenziale rimanga fuori dall'URL. Accetta qualsiasi carattere e ha la precedenza sulle credenziali dell'URL. |

171| `max_connections` | No | Dimensione del pool di connessioni Postgres per replica. Predefinito `5`, che è conservativo e amichevole ai database condivisi. Con i [limiti di spesa](#admin) abilitati, il percorso caldo esegue alcune operazioni per richiesta di inferenza, quindi aumentatelo per un database dedicato sotto carico e mantenete repliche × questo sotto il `max_connections` del database. |171| `max_connections` | No | Dimensione del pool di connessioni Postgres per replica. Predefinito `5`, che è conservativo e adatto ai database condivisi. Con i [limiti di spesa](#admin) abilitati, il percorso critico esegue alcune operazioni per richiesta di inferenza, quindi aumentalo per un database dedicato sotto carico e mantieni repliche × questo valore al di sotto del `max_connections` del database. |

172| `connect_timeout_seconds` | No | Secondi che il gateway attende quando apre una connessione Postgres. Un numero intero da `1` a `60`, predefinito `5`. Aumentatelo se i tentativi di connessione scadono quando una nuova istanza del gateway si avvia. Richiede Claude Code v2.1.274 o successivo sul server del gateway. Le versioni precedenti si rifiutano di avviarsi quando la chiave è impostata. |172| `connect_timeout_seconds` | No | Secondi che il gateway attende quando apre una connessione Postgres. Un numero intero da `1` a `60`, predefinito `5`. Aumentalo se i tentativi di connessione vanno in timeout quando si avvia una nuova istanza del gateway. Richiede Claude Code v2.1.274 o successivo sul server del gateway. Le versioni precedenti si rifiutano di avviarsi quando la chiave è impostata. |

173| `readiness_grace_seconds` | No | Per quanti secondi `/readyz` continua a segnalare lo stato di pronto dopo che Postgres smette di rispondere. Un numero intero da `0` a `3600`, predefinito `0`. Consulta [Comportamento in caso di interruzione](/docs/it/claude-apps-gateway-deploy#outage-behavior) per come scegliere un valore. Richiede Claude Code v2.1.282 o successivo sul server del gateway. Le versioni precedenti si rifiutano di avviarsi quando la chiave è impostata. |

173 174 

174Per lo sviluppo locale, puntate `postgres_url` a un contenitore Postgres usa e getta, ad esempio `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.175Per lo sviluppo locale, punta `postgres_url` a un container Postgres usa e getta, ad esempio `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

175 176 

176<h3 id="upstreams">177<h3 id="upstreams">

177 `upstreams`178 `upstreams`


179 180 

180`upstreams` è un elenco ordinato. Il gateway inoltra l'inferenza al primo upstream che risolve il modello richiesto.181`upstreams` è un elenco ordinato. Il gateway inoltra l'inferenza al primo upstream che risolve il modello richiesto.

181 182 

182Su `5xx`, `429`, `401`, `403`, `404` o timeout il gateway esegue il failover al successivo; altri `4xx` no, perché questi errori sono attribuibili alla richiesta piuttosto che all'upstream. Un `401` o `403` significa che la credenziale del gateway stesso non ha funzionato contro quell'upstream. Un `404` significa che quell'upstream non serve il modello richiesto, quindi un upstream successivo nell'elenco può ancora servirlo.183Su `5xx`, `429`, `401`, `403`, `404` o timeout il gateway esegue il failover all'upstream successivo; sugli altri `4xx` no, perché questi errori sono attribuibili alla richiesta anziché all'upstream. Un `401` o `403` significa che la credenziale usata dal gateway verso quell'upstream non ha funzionato. Un `404` significa che quell'upstream non serve il modello richiesto, quindi un upstream successivo nell'elenco può ancora servirlo.

183 184 

184Se impostate `forward_user_identity: true` su un upstream, un `429` che restituisce a una richiesta che portava l'email dello sviluppatore non esegue il failover. Vedere [come un rifiuto di limite per utente raggiunge lo sviluppatore](#per-user-identity-headers-for-a-proxy-you-run).185Se imposti `forward_user_identity: true` su un upstream, un `429` che questo restituisce a una richiesta che portava l'email dello sviluppatore non esegue il failover. Consulta [come un rifiuto per limite per utente raggiunge lo sviluppatore](#per-user-identity-headers-for-a-proxy-you-run).

185 186 

186Il failover su `404` richiede gateway v2.1.198 o successivo. Le versioni precedenti hanno restituito il primo `404` al client anche quando un upstream successivo nell'elenco serviva il modello.187Il failover su `404` richiede il gateway v2.1.198 o successivo. Le versioni precedenti restituivano il primo `404` al client anche quando un upstream successivo nell'elenco serviva il modello.

187 188 

188Più upstream dello stesso provider devono impostare un `name:` distinto.189Più upstream dello stesso provider devono impostare un `name:` distinto.

189 190 

190I client Amazon Bedrock, Claude Platform on AWS, Google Cloud Agent Platform e Microsoft Foundry sono costruiti una volta all'avvio e i loro SDK aggiornano le credenziali internamente, quindi la rotazione delle credenziali cloud non richiede un riavvio. Le chiavi API Anthropic statiche e i bearer sono letti all'avvio; vedere [API Anthropic](#anthropic-api).191I client Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud e Microsoft Foundry vengono creati una volta all'avvio e i loro SDK aggiornano le credenziali internamente, quindi la rotazione delle credenziali cloud non richiede un riavvio. Le chiavi API Anthropic statiche e i bearer vengono letti all'avvio; consulta [API Anthropic](#anthropic-api).

191 192 

192<h4 id="upstream-error-messages">193<h4 id="upstream-error-messages">

193 Messaggi di errore dell'upstream194 Messaggi di errore dell'upstream

194</h4>195</h4>

195 196 

196Il gateway restituisce la risposta di errore di un upstream o il suo proprio `502`, a seconda di come gli upstream hanno risposto:197Il gateway restituisce la risposta di errore di un upstream o il proprio `502`, a seconda di come hanno risposto gli upstream:

197 198 

198* **Un upstream ha restituito uno stato su cui il gateway non [esegue il failover](#multiple-upstreams)**: quella risposta dell'upstream. Il gateway non prova ulteriori upstream.199* **Un upstream ha restituito uno stato su cui il gateway non [esegue il failover](#multiple-upstreams)**: la risposta di quell'upstream. Il gateway non prova altri upstream.

199* **Ogni upstream che il gateway ha provato ha fallito in un modo su cui [esegue il failover](#multiple-upstreams)**: l'ultimo `429`. Quando nessuno ha restituito un `429`, il gateway preferisce, in ordine, l'ultimo `401` o `403`, l'ultimo `404` e l'ultimo `501`. Quando nessuno ha restituito nessuno di quelli, il proprio `502` del gateway, `all upstreams failed (N attempted)`, dove N conta ogni voce in [`upstreams`](#upstreams), incluse le voci che il gateway ha saltato perché non servono il modello richiesto.200* **Ogni upstream provato dal gateway ha fallito in un modo su cui [esegue il failover](#multiple-upstreams)**: l'ultimo `429`. Quando nessuno ha restituito un `429`, il gateway preferisce, nell'ordine, l'ultimo `401` o `403`, l'ultimo `404` e l'ultimo `501`. Quando nessuno ha restituito nessuno di questi, il `502` del gateway stesso, `all upstreams failed (N attempted)`, dove N conta ogni voce in [`upstreams`](#upstreams), incluse le voci che il gateway ha saltato perché non servono il modello richiesto.

200 201 

201Quando il gateway restituisce la risposta di un upstream, mantiene il codice di stato dell'upstream. Se mantiene il messaggio dell'upstream dipende dal provider. Il corpo di errore di un upstream API Anthropic raggiunge lo sviluppatore invariato.202Quando il gateway restituisce la risposta di un upstream, mantiene il codice di stato dell'upstream. Se mantenga anche il messaggio dell'upstream dipende dal provider. Il corpo di errore di un upstream API Anthropic raggiunge lo sviluppatore invariato.

202 203 

203Gli upstream Amazon Bedrock, Claude Platform on AWS, Google Cloud Agent Platform e Microsoft Foundry possono nominare i vostri ID account, ARN di ruolo e ID di progetto nel loro testo di errore. Il gateway registra quel testo completo nel [log operativo](/docs/it/claude-apps-gateway-deploy#logs). Ciò che lo sviluppatore vede da questi upstream dipende dal rifiuto:204Gli upstream Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud e Microsoft Foundry possono indicare i tuoi ID account, ARN di ruolo e ID progetto nel loro testo di errore. Il gateway registra quel testo completo nel [log operativo](/docs/it/claude-apps-gateway-deploy#logs). Ciò che lo sviluppatore vede da questi upstream dipende dal rifiuto:

204 205 

205* `400` o `413` nell'envelope di errore standard di Anthropic: il messaggio dell'upstream stesso, come `prompt is too long`. Claude Platform on AWS, Agent Platform e Microsoft Foundry restituiscono questo envelope per i rifiuti dell'API del modello.206* `400` o `413` nell'envelope di errore standard di Anthropic: il messaggio dell'upstream stesso, come `prompt is too long`. Claude Platform on AWS, Agent Platform e Microsoft Foundry restituiscono questo envelope per i rifiuti dell'API del modello.

206* `400` o `413` nella forma propria del provider: un token `capability_rejected:`. Quando il gateway non può classificare il rifiuto, `upstream rejected the request` su un `400` o `request too large for this upstream` su un `413`.207* `400` o `413` nel formato proprio del provider: un token `capability_rejected:`. Quando il gateway non riesce a classificare il rifiuto, `upstream rejected the request` su un `400` o `request too large for this upstream` su un `413`.

207* Qualsiasi altro stato: copia generica per stato, come `upstream rate limit exceeded` su un `429`.208* Qualsiasi altro stato: un testo generico per stato, come `upstream rate limit exceeded` su un `429`.

208 209 

209Ad esempio, il gateway sostituisce `Input is too long for requested model.` di Amazon Bedrock con `capability_rejected: prompt_too_long`. Claude Code [compatta automaticamente](/docs/it/errors#prompt-is-too-long) su quel token, come fa su `prompt is too long`.210Ad esempio, il gateway sostituisce `Input is too long for requested model.` di Amazon Bedrock con `capability_rejected: prompt_too_long`. Claude Code [compatta automaticamente](/docs/it/errors#prompt-is-too-long) su quel token, come fa su `prompt is too long`.

210 211 

211Mantenere il messaggio `400` o `413` di un upstream cloud o sostituirlo con un token `capability_rejected:` richiede gateway v2.1.233 o successivo.212Mantenere il messaggio `400` o `413` di un upstream cloud, o sostituirlo con un token `capability_rejected:`, richiede il gateway v2.1.233 o successivo.

212 213 

213<h4 id="anthropic-api">214<h4 id="anthropic-api">

214 API Anthropic215 API Anthropic

215</h4>216</h4>

216 217 

217L'upstream Anthropic minimo è una chiave API dalla [Console Claude](https://platform.claude.com):218L'upstream Anthropic minimo è una chiave API dalla [Claude Console](https://platform.claude.com):

218 219 

219```yaml theme={null}220```yaml theme={null}

220upstreams:221upstreams:


228 229 

229Le due forme di credenziale differiscono nell'header che inviano:230Le due forme di credenziale differiscono nell'header che inviano:

230 231 

231* **`api_key`**: invia `x-api-key`. Ruotatela nella Console Claude e aggiornate la variabile env.232* **`api_key`**: invia `x-api-key`. Ruotala nella Claude Console e aggiorna la variabile d'ambiente.

232* **`oauth_token`**: invia `Authorization: Bearer`. Usate la forma bearer quando la vostra organizzazione emette token a breve durata invece di chiavi API a lunga durata. Il bearer è letto una volta all'avvio, quindi aggiornate rimontando il segreto e riavviando.233* **`oauth_token`**: invia `Authorization: Bearer`. Usa la forma bearer quando la tua organizzazione emette token a breve durata invece di chiavi API a lunga durata. Il bearer viene letto una volta all'avvio, quindi aggiornalo rimontando il segreto e riavviando.

233 234 

234Invece di una chiave statica o un bearer, potete usare Workload Identity Federation. Create una regola di federazione seguendo la [guida Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), quindi montate il JWT OIDC del vostro carico di lavoro come file, come un token dell'account di servizio proiettato di Kubernetes o un id-token della piattaforma CI. Il gateway scambia il JWT per un bearer a breve durata e lo aggiorna automaticamente. Il file del token viene riletto ad ogni scambio, quindi i token proiettati ruotati vengono ripresi senza un riavvio.235Invece di una chiave statica o di un bearer, puoi usare Workload Identity Federation. Crea una regola di federazione seguendo la [guida a Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), quindi monta come file il JWT OIDC del tuo workload, ad esempio un token dell'account di servizio proiettato di Kubernetes o l'id-token di una piattaforma CI. Il gateway scambia il JWT con un bearer a breve durata e lo aggiorna automaticamente. Il file del token viene riletto a ogni scambio, quindi i token proiettati ruotati vengono acquisiti senza un riavvio.

235 236 

236```yaml theme={null}237```yaml theme={null}

237upstreams:238upstreams:


247<a id="per-user-identity-headers-for-a-proxy-you-run" />248<a id="per-user-identity-headers-for-a-proxy-you-run" />

248 249 

249<h5 id="per-user-identity-headers-for-a-proxy-you-run">250<h5 id="per-user-identity-headers-for-a-proxy-you-run">

250 Intestazioni di identità per utente per un proxy che gestite251 Header di identità per utente per un proxy che gestisci

251</h5>252</h5>

252 253 

253Potete puntare l'`base_url` di un upstream `provider: anthropic` a un proxy che gestite invece che all'API Anthropic. Per dire a quel proxy quale sviluppatore ha inviato ogni richiesta, impostate `forward_user_identity: true` su quell'upstream. Il proxy può quindi attribuire la spesa per sviluppatore. Richiede un gateway che esegue Claude Code v2.1.233 o successivo.254Puoi puntare il `base_url` di un upstream `provider: anthropic` a un proxy che gestisci invece che all'API Anthropic. Per indicare a quel proxy quale sviluppatore ha inviato ogni richiesta, imposta `forward_user_identity: true` su quell'upstream. Il proxy può quindi attribuire la spesa per sviluppatore. Richiede un gateway che esegue Claude Code v2.1.233 o successivo.

254 255 

255Ad esempio, per un proxy su `upstream-gateway.internal.example.com`:256Ad esempio, per un proxy su `upstream-gateway.internal.example.com`:

256 257 


263 forward_user_identity: true # default false264 forward_user_identity: true # default false

264```265```

265 266 

266Il gateway aggiunge questi intestazioni a ogni richiesta che inoltra a quell'upstream.267Il gateway aggiunge questi header a ogni richiesta che inoltra a quell'upstream.

267 268 

268| Intestazione | Valore |269| Header | Valore |

269| - | - |270| - | - |

270| `x-litellm-end-user-id` | L'email dello sviluppatore, quando l'IdP l'ha fornita. |271| `x-litellm-end-user-id` | L'email dello sviluppatore, quando l'IdP l'ha fornita. |

271| `x-claude-gateway-user-id` | Il soggetto IdP dello sviluppatore, dal claim `sub` del token. |272| `x-claude-gateway-user-id` | Il soggetto IdP dello sviluppatore, dal claim `sub` del token. |

272| `x-claude-gateway-user-email` | L'email dello sviluppatore, quando l'IdP l'ha fornita. |273| `x-claude-gateway-user-email` | L'email dello sviluppatore, quando l'IdP l'ha fornita. |

273 274 

274Quando il token IdP non porta email, il gateway invia solo `x-claude-gateway-user-id` e omette i due intestazioni email. Se il vostro IdP mette l'email in un claim diverso, impostate [`oidc.email_claim`](#oidc) a quel claim.275Quando il token IdP non contiene un'email, il gateway invia solo `x-claude-gateway-user-id` e omette i due header email. Se il tuo IdP inserisce l'email in un claim diverso, imposta [`oidc.email_claim`](#oidc) su quel claim.

275 276 

276Quando il vostro proxy risponde `429` a una richiesta che portava l'email dello sviluppatore, il gateway restituisce quella risposta allo sviluppatore così com'è invece di eseguire il failover al successivo upstream, quindi il vostro budget per utente del proxy o il limite di velocità tiene. Le altre risposte del proxy seguono le [regole di failover](#upstreams) ordinarie. Se il token IdP di uno sviluppatore non porta email, il gateway inoltra le sue richieste senza gli intestazioni email, quindi un `429` a una di quelle richieste conta come capacità upstream e esegue il failover. Prima della v2.1.267 sul server del gateway, ogni `429` eseguiva il failover.277Quando il tuo proxy risponde `429` a una richiesta che portava l'email dello sviluppatore, il gateway restituisce quella risposta allo sviluppatore così com'è invece di eseguire il failover all'upstream successivo, in modo che il budget per utente o il rate limit del tuo proxy vengano rispettati. Le altre risposte del proxy seguono le normali [regole di failover](#upstreams). Se il token IdP di uno sviluppatore non contiene un'email, il gateway inoltra le sue richieste senza gli header email, quindi un `429` a una di quelle richieste conta come capacità dell'upstream ed esegue il failover. Prima della v2.1.267 sul server del gateway, ogni `429` eseguiva il failover.

277 278 

278Impostate `forward_user_identity` solo su un upstream il cui `base_url` è un proxy che gestite. Il gateway invia email degli sviluppatori a qualsiasi server che `base_url` nomina. Se `base_url` è l'API Anthropic, che è il predefinito, il gateway si rifiuta di avviarsi.279Imposta `forward_user_identity` solo su un upstream il cui `base_url` è un proxy che gestisci. Il gateway invia le email degli sviluppatori a qualunque server indicato da quel `base_url`. Se il `base_url` è l'API Anthropic, che è il valore predefinito, il gateway si rifiuta di avviarsi.

279 280 

280<h4 id="amazon-bedrock">281<h4 id="amazon-bedrock">

281 Amazon Bedrock282 Amazon Bedrock

282</h4>283</h4>

283 284 

284Per la distribuzione Bedrock lato client che il gateway sostituisce o fronteggia, vedere [Claude Code su Amazon Bedrock](/docs/it/amazon-bedrock). L'upstream lato gateway:285Per la distribuzione di Amazon Bedrock lato client che il gateway sostituisce o a cui fa da front-end, consulta [Claude Code su Amazon Bedrock](/docs/it/amazon-bedrock). L'upstream lato gateway:

285 286 

286```yaml theme={null}287```yaml theme={null}

287upstreams:288upstreams:


300 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com301 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com

301```302```

302 303 

303Un blocco `auth` vuoto usa la catena di credenziali predefinita dell'AWS SDK: variabili env, `~/.aws/credentials`, ruolo di attività ECS, metadati dell'istanza EC2 o IRSA su EKS. In produzione, date al pod del gateway un ruolo IAM invece di incorporare chiavi statiche in un'immagine del contenitore.304Un blocco `auth` vuoto usa la catena di credenziali predefinita dell'AWS SDK: variabili d'ambiente, `~/.aws/credentials`, ruolo di attività ECS, metadati dell'istanza EC2 o IRSA su EKS. In produzione, assegna al pod del gateway un ruolo IAM invece di incorporare chiavi statiche in un'immagine del container.

304 305 

305Le credenziali esplicite devono essere complete: il gateway non riesce all'avvio quando `aws_access_key_id` e `aws_secret_access_key` non sono impostati insieme, o quando `aws_session_token` è impostato senza di loro. Prima della v2.1.207, un blocco `auth:` parziale ha superato la convalida.306Le credenziali esplicite devono essere complete: il gateway fallisce all'avvio quando `aws_access_key_id` e `aws_secret_access_key` non sono impostati insieme, o quando `aws_session_token` è impostato senza di loro. Prima della v2.1.207, un blocco `auth:` parziale superava la convalida.

306 307 

307| Configurazione | Come |308| Configurazione | Come |

308| - | - |309| - | - |

309| Autorizzazioni IAM | Concedete al principale del gateway `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` sia sugli ARN del profilo di inferenza che sugli ARN del modello di fondazione sottostante. Per il catalogo integrato nelle regioni US: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` e `arn:aws:bedrock:*::foundation-model/anthropic.*`. Concedete anche `bedrock:CountTokens` sugli ARN del modello di fondazione. Il gateway lo usa, senza costi, per contare i token di input di una richiesta che il client ha abbandonato, quindi i [limiti di spesa](#admin) rimangono accurati. Senza di esso il gateway ricade a una richiesta Bedrock di un token per quel conteggio. |310| Permessi IAM | Concedi al principal del gateway `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` sia sugli ARN dei profili di inferenza sia sugli ARN dei modelli di fondazione sottostanti. Per il catalogo integrato nelle regioni US: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` e `arn:aws:bedrock:*::foundation-model/anthropic.*`. Concedi anche `bedrock:CountTokens` sugli ARN dei modelli di fondazione. Il gateway lo usa, senza costi, per contare i token di input di una richiesta abbandonata dal client, in modo che i [limiti di spesa](#admin) rimangano accurati. Senza di esso il gateway usa come fallback una richiesta Bedrock da un token per quel conteggio. |

310| Accesso al modello | Amazon Bedrock abilita l'accesso al modello per impostazione predefinita nelle regioni commerciali. Il gate a livello di account rimanente è quello di Anthropic: se nessuno nel vostro account AWS l'ha inviato, aprite la console Amazon Bedrock, selezionate un modello Anthropic dal catalogo dei modelli e completate il modulo. Vedere [Inviare i dettagli del caso d'uso](/docs/it/amazon-bedrock#1-submit-use-case-details) per il modulo AWS Organizations e le autorizzazioni di cui il mittente ha bisogno. |311| Accesso al modello | Amazon Bedrock abilita l'accesso ai modelli per impostazione predefinita nelle regioni commerciali. L'unico vincolo rimanente a livello di account è il modulo una tantum di Anthropic sul caso d'uso: se nessuno nel tuo account AWS l'ha inviato, apri la console di Amazon Bedrock, seleziona un modello Anthropic dal catalogo dei modelli e completa il modulo. Consulta [Inviare i dettagli del caso d'uso](/docs/it/amazon-bedrock#1-submit-use-case-details) per il modulo di AWS Organizations e i permessi di cui ha bisogno chi lo invia. |

311| EKS (IRSA) | Create un ruolo IAM con la politica sopra e una politica di fiducia per il provider OIDC del vostro cluster limitato all'account di servizio del gateway. Annotate l'account di servizio con `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` lo raccoglie. |312| EKS (IRSA) | Crea un ruolo IAM con la policy sopra e una trust policy per il provider OIDC del tuo cluster limitata all'account di servizio del gateway. Annota l'account di servizio con `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` lo rileva. |

312| ECS / EC2 | Allegate il ruolo IAM alla definizione dell'attività o al profilo dell'istanza. `auth: {}` lo raccoglie. |313| ECS / EC2 | Associa il ruolo IAM alla definizione dell'attività o al profilo dell'istanza. `auth: {}` lo rileva. |

313| Altrove | Passate le credenziali tramite le variabili env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN`, o impostatele esplicitamente in `auth:` con l'espansione `${VAR}` |314| Altrove | Passa le credenziali tramite le variabili d'ambiente `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN`, oppure impostale esplicitamente in `auth:` con l'espansione `${VAR}` |

314| Regione | `region:` è la regione dell'endpoint API. I profili di inferenza cross-region instradano attraverso la geo (US, EU, APAC) indipendentemente da quale scegliete. Per le regioni non-US o gli ARN di throughput provisioned, aggiungete un blocco [`models:`](#models) con gli ID per upstream corretti. |315| Regione | `region:` è la regione dell'endpoint API. I profili di inferenza cross-region instradano all'interno dell'area geografica (US, EU, APAC) indipendentemente da quale scegli. Per le regioni non US o gli ARN di throughput provisioned, aggiungi un blocco [`models:`](#models) con gli ID per upstream corretti. |

316 

317<h5 id="apply-an-amazon-bedrock-guardrail">

318 Applicare un guardrail di Amazon Bedrock

319</h5>

320 

321Per applicare un guardrail di Amazon Bedrock a ogni richiesta di inferenza che il gateway invia tramite un upstream Bedrock, aggiungi un blocco `guardrail` a quell'upstream. Richiede Claude Code v2.1.281 o successivo sul server del gateway.

322 

323```yaml theme={null}

324upstreams:

325 - provider: bedrock

326 region: us-east-1

327 auth: {}

328 guardrail:

329 id: gr-abc123 # guardrail ID or full ARN

330 version: "1" # a published version number, or DRAFT

331 # keep the quotes: a bare 1 fails at boot

332```

333 

334<Warning>

335 Il gateway non supporta i tag di input dei guardrail. Non aggiunge tag di contenuto guard ai prompt, quindi un filtro del guardrail che Amazon Bedrock applica solo all'input con tag non viene eseguito sul traffico che passa per il gateway. Per sapere quali filtri dipendono dai tag di input, consulta [input tags](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) nella documentazione di Amazon Bedrock.

336</Warning>

337 

338Concedi anche `bedrock:ApplyGuardrail` sul guardrail al principal che firma le richieste di questo upstream: il principal AWS del gateway oppure, con [`assume_role`](#bedrock-in-another-aws-account), il ruolo indicato in `role_arn`.

339 

340Imposta `guardrail` su ogni upstream `bedrock` o su nessuno. Il gateway si rifiuta di avviarsi con una configurazione mista, perché altrimenti il [failover](#multiple-upstreams) potrebbe inviare una richiesta a un upstream Bedrock privo di guardrail.

341 

342Il guardrail copre solo gli upstream Bedrock. Se elenchi un altro provider in `upstreams`, il gateway invia le richieste a quel provider senza il guardrail.

343 

344Quando una richiesta `/v1/messages` il cui corpo contiene un campo `amazon-bedrock-*`, come `amazon-bedrock-guardrailConfig`, raggiunge un upstream Bedrock con `guardrail` impostato, il gateway risponde 400 invece di inoltrarla.

345 

346<a id="bedrock-in-another-aws-account" />

347 

348<h5 id="bedrock-in-another-aws-account">

349 Bedrock in un altro account AWS

350</h5>

351 

352Imposta `assume_role` su un upstream Bedrock e il gateway userà la propria identità AWS solo per chiamare `sts:AssumeRole` su un ruolo che indichi, che può trovarsi in un account AWS diverso da quello del gateway. Ogni richiesta Bedrock da quell'upstream viene firmata con le credenziali di un'ora restituite da STS, quindi nessuna chiave di accesso a lunga durata attraversa gli account.

353 

354Richiede un gateway che esegue Claude Code v2.1.281 o successivo. Un gateway precedente si rifiuta di avviarsi quando trova la chiave.

355 

356```yaml theme={null}

357upstreams:

358 - name: bedrock-isolated

359 provider: bedrock

360 region: us-east-1

361 auth: {} # the gateway's own role: it only calls STS

362 assume_role:

363 role_arn: arn:aws:iam::222222222222:role/claude-gateway-bedrock

364 # external_id: ${BEDROCK_ROLE_EXTERNAL_ID} # when the role's trust policy requires one

365```

366 

367Il blocco `assume_role` accetta tre chiavi:

368 

369| Chiave | Significato |

370| - | - |

371| `role_arn` | Il ruolo IAM che il gateway assume, come ARN `arn:aws:iam::` o `arn:aws-us-gov:iam::`. Assegnagli i [permessi Bedrock](#amazon-bedrock) di cui questo upstream ha bisogno, `bedrock:CountTokens` incluso, più `bedrock:ApplyGuardrail` quando l'upstream imposta `guardrail`. |

372| `external_id` | Facoltativo. Inviato come external ID in ogni chiamata `sts:AssumeRole`. Impostalo quando la trust policy del ruolo lo richiede, e mettilo tra virgolette se è composto solo da cifre. |

373| `session_name` | Facoltativo. `email` o `sub` assegna a ogni sviluppatore la propria sessione: consulta [Attribuzione dei costi AWS per sviluppatore](#per-developer-aws-cost-attribution). Se non impostato, ogni richiesta usa un'unica sessione denominata `claude-apps-gateway`. |

374 

375La trust policy del ruolo indica il principal del gateway stesso, come il suo ruolo IRSA o il ruolo di attività ECS. Quel principal ha bisogno di `sts:AssumeRole` sul ruolo e di nessun permesso Bedrock proprio. Elimina la `Condition` se non imposti `external_id`.

376 

377```json theme={null}

378{

379 "Version": "2012-10-17",

380 "Statement": [{

381 "Effect": "Allow",

382 "Principal": { "AWS": "arn:aws:iam::111111111111:role/claude-gateway" },

383 "Action": "sts:AssumeRole",

384 "Condition": { "StringEquals": { "sts:ExternalId": "your-external-id" } }

385 }]

386}

387```

388 

389* Se STS rifiuta o non è raggiungibile, il gateway non invia la richiesta con le credenziali proprie dell'upstream. Registra l'errore STS con ciò che occorre verificare, quindi prova l'upstream successivo che hai elencato. [Messaggi di errore dell'upstream](#upstream-error-messages) descrive ciò che riceve il client quando nessun upstream ha successo. Un upstream successivo senza `assume_role` servirebbe la richiesta con le proprie credenziali, quindi elencane uno solo se è ciò che desideri.

390* Il gateway chiama l'endpoint STS regionale `sts.<region>.amazonaws.com`, che la sua rete deve poter raggiungere. Per l'endpoint FIPS, imposta `AWS_USE_FIPS_ENDPOINT=true` nell'ambiente del gateway anziché `use_fips_endpoint` in un file di configurazione AWS.

391* `assume_role` si applica solo a `provider: bedrock` e richiede credenziali di origine SigV4: il gateway si rifiuta di avviarsi quando è impostato insieme a `aws_bearer_token`.

392* Ogni sviluppatore ammesso dal gateway può usare questo upstream; [`managed`](#managed) stabilisce quali sviluppatori possono usare quali modelli. Per evitare che un modello servito tramite il ruolo venga servito anche da un altro account, assegnagli un id personalizzato la cui mappa `upstream_model` contenga solo il nome di questo upstream. Per un id di questo tipo il gateway salta ogni altro upstream, quindi né la richiesta né il conteggio dei token per una richiesta interrotta possono eseguire il failover su un altro account. I nomi dei modelli integrati vengono comunque provati su ogni upstream in ordine, questo incluso, e una richiesta che lo raggiunge viene firmata con lo stesso ruolo, quindi elenca questo upstream per ultimo a meno che anche il suo account non debba servirli.

393 

394Questo esempio assegna a un modello un id personalizzato che solo l'upstream isolato serve:

395 

396```yaml theme={null}

397models:

398 - id: claude-opus-restricted # a custom id, not a built-in model name

399 upstream_model:

400 bedrock-isolated: us.anthropic.claude-opus-4-8 # the only upstream that serves it

401```

402 

403<a id="per-developer-aws-cost-attribution" />

404 

405<h5 id="per-developer-aws-cost-attribution">

406 Attribuzione dei costi AWS per sviluppatore

407</h5>

408 

409Per impostazione predefinita il gateway firma ogni richiesta Bedrock con un'unica credenziale, quindi AWS vede le richieste di tutti gli sviluppatori sotto un unico principal IAM. Aggiungi `session_name: email` ad [`assume_role`](#bedrock-in-another-aws-account) e il gateway chiamerà `sts:AssumeRole` una volta per sviluppatore ogni ora, con il nome della sessione impostato sull'email di quello sviluppatore, e firmerà le sue richieste con le credenziali restituite, in modo che le richieste di ogni sviluppatore raggiungano AWS sotto la propria sessione di ruolo assunto. Il ruolo può trovarsi nell'account stesso del gateway.

410 

411Richiede un gateway che esegue Claude Code v2.1.281 o successivo. [Attribuzione dei costi su AWS](/docs/it/claude-apps-gateway-on-aws#cost-attribution) descrive il ruolo IAM e dove la fatturazione AWS mostra le sessioni.

412 

413```yaml theme={null}

414upstreams:

415 - provider: bedrock

416 region: us-east-1

417 auth: {} # the gateway's own role: it only calls STS

418 assume_role:

419 role_arn: arn:aws:iam::123456789012:role/claude-gateway-bedrock-user

420 session_name: email # or sub

421```

422 

423`session_name` seleziona quale claim verificato diventa il `RoleSessionName` di AWS: `email` o `sub`. Il gateway scrive qualsiasi carattere diverso da lettere ASCII, cifre e `_+,.@-` come `=XX` esadecimale per ogni byte UTF-8, e abbrevia un risultato più lungo di 64 caratteri in un prefisso più un hash, in modo che il nome della sessione di ogni sviluppatore rimanga valido e univoco. Una richiesta da uno sviluppatore il cui token non contiene il claim non viene inviata tramite questo upstream, e il log operativo indica di passare a `sub` o di impostare [`oidc.email_claim`](#oidc).

424 

425Uno sviluppatore attivo costa una chiamata STS all'ora per replica del gateway, e le prime richieste simultanee condividono un'unica chiamata.

426 

427Il gateway effettua anche una chiamata propria su questo ruolo: il conteggio dei token per una richiesta abbandonata dal client, in modo che i [limiti di spesa](/docs/it/claude-apps-gateway-spend-limits) rimangano accurati. Quel conteggio e la relativa [richiesta di fallback da un token](#amazon-bedrock) sono firmati dalla sessione condivisa `claude-apps-gateway`, quindi AWS attribuisce il fallback a `claude-apps-gateway` anziché allo sviluppatore.

428 

429Per un'attribuzione rigorosa per sviluppatore, imposta `assume_role` con `session_name` su ogni upstream Bedrock che elenchi. Un upstream senza di esso firma le richieste che serve con le proprie credenziali.

315 430 

316<h4 id="claude-platform-on-aws">431<h4 id="claude-platform-on-aws">

317 Claude Platform on AWS432 Claude Platform on AWS

318</h4>433</h4>

319 434 

320Claude Platform on AWS serve l'API Anthropic di prima parte su infrastruttura AWS su `aws-external-anthropic.<region>.api.aws`. Utilizza ID modello di prima parte, onora gli header `anthropic-beta` come inviati e serve `count_tokens`, quindi nessuna della traduzione specifica di Bedrock si applica. Il provider `anthropicAws` richiede Claude Code v2.1.198 o successivo; le versioni precedenti del gateway lo rifiutano all'avvio.435Claude Platform on AWS serve l'API Anthropic di prima parte su infrastruttura AWS all'indirizzo `aws-external-anthropic.<region>.api.aws`. Utilizza ID modello di prima parte, rispetta gli header `anthropic-beta` così come inviati e serve `count_tokens`, quindi non si applica nessuna delle traduzioni specifiche di Bedrock. Il provider `anthropicAws` richiede Claude Code v2.1.198 o successivo; le versioni precedenti del gateway lo rifiutano all'avvio.

321 436 

322Per la distribuzione lato client della stessa piattaforma, vedere [Claude Code su Claude Platform on AWS](/docs/it/claude-platform-on-aws). L'upstream lato gateway:437Per la distribuzione lato client della stessa piattaforma, consulta [Claude Code su Claude Platform on AWS](/docs/it/claude-platform-on-aws). L'upstream lato gateway:

323 438 

324```yaml theme={null}439```yaml theme={null}

325upstreams:440upstreams:


338 # base_url: https://aws-external-anthropic.us-east-1.api.aws453 # base_url: https://aws-external-anthropic.us-east-1.api.aws

339```454```

340 455 

341La piattaforma viene eseguita in un account AWS separato da Amazon Bedrock e firma le richieste SigV4 per il suo nome di servizio, `aws-external-anthropic`, quindi un ruolo IAM limitato a Bedrock non lo autorizza. Una chiave API in `auth.api_key` ha la precedenza quando le credenziali SigV4 sono anche impostate. Un blocco `auth` vuoto usa la catena di credenziali predefinita dell'AWS SDK, la stessa catena che l'upstream [Amazon Bedrock](#amazon-bedrock) utilizza.456La piattaforma viene eseguita in un account AWS separato da Amazon Bedrock e firma le richieste SigV4 per il proprio nome di servizio, `aws-external-anthropic`, quindi un ruolo IAM limitato a Bedrock non la autorizza. Una chiave API in `auth.api_key` ha la precedenza quando sono impostate anche le credenziali SigV4. Un blocco `auth` vuoto usa la catena di credenziali predefinita dell'AWS SDK, la stessa catena usata dall'upstream [Amazon Bedrock](#amazon-bedrock).

342 457 

343| Campo | Obbligatorio | Descrizione |458| Campo | Obbligatorio | Descrizione |

344| - | - | - |459| - | - | - |

345| `region` | Sì | Regione AWS, lettere minuscole, cifre e trattini. Il gateway deriva l'endpoint da essa come `https://aws-external-anthropic.<region>.api.aws`. |460| `region` | Sì | Regione AWS, lettere minuscole, cifre e trattini. Il gateway ne deriva l'endpoint come `https://aws-external-anthropic.<region>.api.aws`. |

346| `workspace_id` | Sì | Inviato come header su ogni richiesta; la piattaforma lo richiede |461| `workspace_id` | Sì | Inviato come header in ogni richiesta; la piattaforma lo richiede |

347| `auth.api_key` | No | Chiave API per la piattaforma, inviata come `x-api-key`. Non un token bearer: le due modalità di autenticazione sono una chiave API o SigV4. |462| `auth.api_key` | No | Chiave API per la piattaforma, inviata come `x-api-key`. Non è un token bearer: le due modalità di autenticazione sono una chiave API o SigV4. |

348| `auth.aws_access_key_id` / `auth.aws_secret_access_key` | No | Credenziali SigV4 esplicite. L'impostazione di una senza l'altra non riesce all'avvio. `auth.aws_session_token` è accettato insieme a loro. |463| `auth.aws_access_key_id` / `auth.aws_secret_access_key` | No | Credenziali SigV4 esplicite. Impostarne una senza l'altra causa un errore all'avvio. `auth.aws_session_token` è accettato insieme a esse. |

349| `base_url` | No | Override dell'endpoint derivato |464| `base_url` | No | Override dell'endpoint derivato |

350 465 

351Poiché la piattaforma risolve ID modello di prima parte, il catalogo integrato instrada ad essa senza un blocco [`models:`](#models). Quando curate un elenco `models:`, chiave l'entry `anthropicAws:` con l'ID di prima parte.466Poiché la piattaforma risolve ID modello di prima parte, il catalogo integrato la instrada senza un blocco [`models:`](#models). Quando curi un elenco `models:`, usa come chiave della voce `anthropicAws:` con l'ID di prima parte.

352 467 

353<h4 id="google-cloud-agent-platform">468<h4 id="google-cloud-agent-platform">

354 Google Cloud Agent Platform469 Google Cloud Agent Platform

355</h4>470</h4>

356 471 

357Per la configurazione equivalente lato client, vedere [Claude Code su Google Cloud](/docs/it/google-vertex-ai). L'upstream lato gateway:472Per la configurazione equivalente lato client, consulta [Claude Code su Google Cloud](/docs/it/google-vertex-ai). L'upstream lato gateway:

358 473 

359```yaml theme={null}474```yaml theme={null}

360upstreams:475upstreams:


368 # base_url: https://us-east5-aiplatform.p.googleapis.com483 # base_url: https://us-east5-aiplatform.p.googleapis.com

369```484```

370 485 

371Un blocco `auth` vuoto usa Application Default Credentials: `GOOGLE_APPLICATION_CREDENTIALS`, metadati GCE o GKE Workload Identity. I file di chiave JSON dell'account di servizio sono supportati ma sconsigliati; usate Workload Identity o allegate un account di servizio all'istanza GCE o Cloud Run.486Un blocco `auth` vuoto usa le Application Default Credentials: `GOOGLE_APPLICATION_CREDENTIALS`, metadati GCE o GKE Workload Identity. I file di chiave JSON dell'account di servizio sono supportati ma sconsigliati; usa Workload Identity o associa un account di servizio all'istanza GCE o Cloud Run.

372 487 

373Impostate `region: global` per usare l'[endpoint globale di Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) invece di uno regionale. Google quindi instrada ogni richiesta a una regione disponibile, quindi non tracciate la disponibilità del modello per regione. L'impostazione di una regione specifica fissa ogni richiesta ad essa.488Imposta `region: global` per usare l'[endpoint globale di Agent Platform di Google Cloud](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) invece di uno regionale. Google instrada quindi ogni richiesta a una regione disponibile, così non devi tenere traccia della disponibilità dei modelli per regione. Impostare una regione specifica vincola ogni richiesta a quella regione.

374 489 

375| Configurazione | Come |490| Configurazione | Come |

376| - | - |491| - | - |

377| Autorizzazioni IAM | Concedete all'account di servizio del gateway `roles/aiplatform.user` sul progetto, o un ruolo personalizzato con `aiplatform.endpoints.predict`. Abilitate l'API Agent Platform (`aiplatform.googleapis.com`). |492| Permessi IAM | Concedi all'account di servizio del gateway `roles/aiplatform.user` sul progetto, o un ruolo personalizzato con `aiplatform.endpoints.predict`. Abilita l'API di Agent Platform di Google Cloud (`aiplatform.googleapis.com`). |

378| Accesso al modello | In Model Garden, abilitate i modelli Claude per il vostro progetto. Pubblicano in regioni specifiche; controllate la scheda del modello per le regioni supportate. |493| Accesso al modello | In Model Garden, abilita i modelli Claude per il tuo progetto. Vengono pubblicati in regioni specifiche; controlla la scheda del modello per le regioni supportate. |

379| GKE (Workload Identity) | Legate un account di servizio GCP all'account di servizio Kubernetes del gateway e annotate il KSA con `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` lo raccoglie. |494| GKE (Workload Identity) | Associa un account di servizio GCP all'account di servizio Kubernetes del gateway e annota il KSA con `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` lo rileva. |

380| Cloud Run / GCE | Impostate l'account di servizio del servizio su uno con `roles/aiplatform.user`. `auth: {}` lo raccoglie. |495| Cloud Run / GCE | Imposta come account di servizio del servizio uno con `roles/aiplatform.user`. `auth: {}` lo rileva. |

381| Altrove | `auth: { service_account_json: /secrets/sa.json }`, il percorso a un file di chiave JSON montato come segreto. Il campo accetta un percorso di file, non i contenuti della chiave, quindi non è coinvolta alcuna espansione `${file:…}`. |496| Altrove | `auth: { service_account_json: /secrets/sa.json }`, il percorso di un file di chiave JSON montato come segreto. Il campo accetta un percorso di file, non il contenuto della chiave, quindi non è coinvolta alcuna espansione `${file:…}`. |

382 497 

383<h4 id="microsoft-foundry">498<h4 id="microsoft-foundry">

384 Microsoft Foundry499 Microsoft Foundry

385</h4>500</h4>

386 501 

387Per la distribuzione Foundry lato client, vedere [Claude Code su Microsoft Foundry](/docs/it/microsoft-foundry). L'upstream lato gateway:502Per la distribuzione di Microsoft Foundry lato client, consulta [Claude Code su Microsoft Foundry](/docs/it/microsoft-foundry). L'upstream lato gateway:

388 503 

389```yaml theme={null}504```yaml theme={null}

390upstreams:505upstreams:


396 # api_key: ${FOUNDRY_API_KEY}511 # api_key: ${FOUNDRY_API_KEY}

397```512```

398 513 

399`use_azure_ad: true` si risolve tramite `DefaultAzureCredential`: Managed Identity su AKS, ACI o App Service; l'Azure CLI o le credenziali di ambiente. Le chiavi API funzionano ma sono a livello di progetto e non ruotano automaticamente. L'endpoint di Foundry è derivato da `resource:`; impostate l'`base_url` facoltativo per sovrascriverlo per cloud sovrani come Azure Government.514`use_azure_ad: true` si risolve tramite `DefaultAzureCredential`: Managed Identity su AKS, ACI o App Service; la Azure CLI; o le credenziali d'ambiente. Le chiavi API funzionano ma valgono per l'intero progetto e non ruotano automaticamente. L'endpoint di Microsoft Foundry è derivato da `resource:`; imposta il `base_url` facoltativo per sovrascriverlo per cloud sovrani come Azure Government.

400 515 

401| Configurazione | Come |516| Configurazione | Come |

402| - | - |517| - | - |

403| RBAC | Concedete all'identità del gateway `Azure AI User` o `Cognitive Services User` sulla risorsa Foundry |518| RBAC | Concedi all'identità del gateway `Azure AI User` o `Cognitive Services User` sulla risorsa Microsoft Foundry |

404| Distribuzioni | Foundry usa nomi di distribuzione scelti dall'amministratore, non ID di modello canonici. Aggiungete un blocco [`models:`](#models) che mappa ogni ID canonico al vostro nome di distribuzione. |519| Deployment | Microsoft Foundry usa nomi di deployment scelti dall'amministratore, non ID modello canonici. Aggiungi un blocco [`models:`](#models) che mappa ogni ID canonico al nome del tuo deployment. |

405| AKS (workload identity) | Federate un'Identità Gestita Assegnata dall'Utente con l'emittente OIDC del cluster e legatela all'account di servizio del gateway. `use_azure_ad: true` lo raccoglie tramite `WorkloadIdentityCredential`. |520| AKS (workload identity) | Federa una User-Assigned Managed Identity con l'emittente OIDC del cluster e associala all'account di servizio del gateway. `use_azure_ad: true` la rileva tramite `WorkloadIdentityCredential`. |

406| ACI / App Service | Abilitate l'identità gestita assegnata dal sistema o assegnata dall'utente sulla risorsa. `use_azure_ad: true` lo raccoglie. |521| ACI / App Service | Abilita l'identità gestita assegnata dal sistema o dall'utente sulla risorsa. `use_azure_ad: true` la rileva. |

407| Altrove | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Quotate `${…}` dentro `{ }`. |522| Altrove | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Metti tra virgolette `${…}` dentro `{ }`. |

408 523 

409<h4 id="static-headers-on-upstream-requests">524<h4 id="static-headers-on-upstream-requests">

410 Intestazioni statiche sulle richieste upstream525 Header statici sulle richieste upstream

411</h4>526</h4>

412 527 

413Per aggiungere intestazioni fisse alle richieste che il gateway invia a un upstream, impostate `headers:` su quell'upstream. Usatelo quando un proxy che gestite davanti al provider instrada o attribuisce il traffico per un intestazione.528Per aggiungere header fissi alle richieste che il gateway invia a un upstream, imposta `headers:` su quell'upstream. Usalo quando un proxy che gestisci davanti al provider instrada o attribuisce il traffico in base a un header.

414 529 

415`headers:` richiede Claude Code v2.1.277 o successivo sul server del gateway. Un gateway precedente si rifiuta di avviarsi quando trova la chiave. Aggiornate ogni replica prima di aggiungere la chiave e rimuovete la chiave prima di eseguire il rollback a una versione precedente.530`headers:` richiede Claude Code v2.1.277 o successivo sul server del gateway. Un gateway precedente si rifiuta di avviarsi quando trova la chiave. Aggiorna ogni replica prima di aggiungere la chiave e rimuovi la chiave prima di eseguire il rollback a una versione precedente.

416 531 

417Gli intestazioni vanno al server che `base_url` nomina, o all'endpoint proprio del provider quando `base_url` non è impostato. Il provider li riceve anche a meno che il vostro proxy non li rimuova.532Gli header vanno al server indicato da `base_url`, o all'endpoint proprio del provider quando `base_url` non è impostato. Anche il provider li riceve, a meno che il tuo proxy non li rimuova.

418 533 

419Questo esempio raggiunge un upstream `provider: vertex` attraverso un proxy su `upstream-proxy.internal.example.com`. Imposta l'intestazione `x-source` che il proxy legge e invia un token dalla variabile di ambiente `PROXY_TOKEN` come `x-proxy-token`:534Questo esempio raggiunge un upstream `provider: vertex` attraverso un proxy su `upstream-proxy.internal.example.com`. Imposta l'header `x-source` letto dal proxy e invia un token dalla variabile d'ambiente `PROXY_TOKEN` come `x-proxy-token`:

420 535 

421```yaml theme={null}536```yaml theme={null}

422upstreams:537upstreams:


430 x-proxy-token: ${PROXY_TOKEN}545 x-proxy-token: ${PROXY_TOKEN}

431```546```

432 547 

433I valori sono testo ASCII stampabile senza spazio a nessuno dei due lati. Quotate un numero, `true` o `false` in modo che YAML lo legga come testo.548I valori sono testo ASCII stampabile senza spazi all'inizio o alla fine. Metti tra virgolette un numero, `true` o `false` in modo che YAML lo legga come testo.

434 549 

435Per mantenere un segreto fuori dal file di configurazione, usate l'[espansione del segreto](#secret-expansion) per caricare il valore da una variabile di ambiente con `${VAR}` o da un file con `${file:/path}`. Un `${VAR}` che si risolve a un valore vuoto ferma il gateway dall'avviarsi.550Per tenere un segreto fuori dal file di configurazione, usa l'[espansione dei segreti](#secret-expansion) per caricare il valore da una variabile d'ambiente con `${VAR}` o da un file con `${file:/path}`. Un `${VAR}` che si risolve in un valore vuoto impedisce l'avvio del gateway.

436 551 

437`headers:` funziona su ogni provider e ogni upstream invia solo il suo.552`headers:` funziona su ogni provider e ogni upstream invia solo i propri.

438 553 

439Non ogni richiesta che il gateway invia a un upstream li porta:554Non tutte le richieste che il gateway invia a un upstream li includono:

440 555 

441| Richiesta che il gateway invia a questo upstream | Porta `headers:` |556| Richiesta che il gateway invia a questo upstream | Include `headers:` |

442| - | - |557| - | - |

443| `/v1/messages`, streaming o no, e `/v1/messages/count_tokens` | Sì |558| `/v1/messages`, in streaming o meno, e `/v1/messages/count_tokens` | Sì |

444| Una richiesta che ha eseguito il failover da un altro upstream | Sì, solo `headers:` di questo upstream |559| Una richiesta che ha eseguito il failover da un altro upstream | Sì, solo gli `headers:` di questo upstream |

445| Chiamata `CountTokens` di Amazon Bedrock per una richiesta che il client ha abbandonato | No |560| La chiamata `CountTokens` di Amazon Bedrock per una richiesta abbandonata dal client | No |

446| Lo scambio di token Workload Identity Federation | No |561| Lo scambio di token Workload Identity Federation | No |

447 562 

448Su un upstream Amazon Bedrock o Claude Platform on AWS che firma le richieste con AWS SigV4, questi intestazioni fanno parte della firma, quindi il vostro proxy deve passarli attraverso invariati.563Su un upstream Amazon Bedrock o Claude Platform on AWS che firma le richieste con AWS SigV4, questi header fanno parte della firma, quindi il tuo proxy deve inoltrarli invariati.

449 564 

450Se usate un nome che il gateway riserva, si rifiuta di avviarsi e l'errore di avvio nomina l'intestazione. I nomi riservati includono:565Se usi un nome riservato dal gateway, questo si rifiuta di avviarsi e l'errore di avvio indica l'header. I nomi riservati includono:

451 566 

452* `authorization` e `x-api-key`567* `authorization` e `x-api-key`

453* `host`, `content-type` e `user-agent`568* `host`, `content-type` e `user-agent`


457 Più upstream572 Più upstream

458</h4>573</h4>

459 574 

460Lo stesso provider può apparire più di una volta con un `name:` distinto. Questo copre regioni diverse, account diversi tramite catene di credenziali diverse, throughput provisioned rispetto a on-demand e failover cross-provider.575Lo stesso provider può comparire più di una volta con un `name:` distinto. Questo copre regioni diverse, account diversi tramite catene di credenziali diverse, throughput provisioned rispetto a on-demand e fallback tra provider.

461 576 

462Il gateway prova gli upstream in ordine. `5xx`, `429`, `401`, `403`, `404`, timeout e endpoint mancante (`501`) eseguono il failover; altri `4xx` no.577Il gateway prova gli upstream in ordine. `5xx`, `429`, `401`, `403`, `404`, timeout ed endpoint mancante (`501`) eseguono il failover; gli altri `4xx` no.

463 578 

464`429` è capacità per upstream, quindi l'esaurimento del throughput provisioned (PT) esegue il failover a on-demand. Se impostate [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run) su un upstream, un `429` a una richiesta che portava l'email dello sviluppatore è un rifiuto per utente invece e non esegue il failover.579`429` indica la capacità del singolo upstream, quindi l'esaurimento del throughput provisioned (PT) esegue il failover su on-demand. Se imposti [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run) su un upstream, un `429` a una richiesta che portava l'email dello sviluppatore è invece un rifiuto per utente e non esegue il failover.

465 580 

466Ogni richiesta inizia al primo upstream. Una richiesta raggiunge un upstream successivo solo quando ogni upstream davanti ad esso ha fallito o non serve il modello richiesto.581Ogni richiesta inizia dal primo upstream. Una richiesta raggiunge un upstream successivo solo quando ogni upstream che lo precede ha fallito o non serve il modello richiesto.

467 582 

468Il gateway non mantiene alcun record di upstream falliti, quindi mentre un upstream è inattivo, ogni richiesta che lo raggiunge lo prova ancora e attende che fallisca prima di passare al successivo.583Il gateway non tiene traccia degli upstream falliti, quindi mentre un upstream non è disponibile, ogni richiesta che lo raggiunge lo prova comunque e attende che fallisca prima di passare al successivo.

469 584 

470Per un upstream API Anthropic, [`timeouts.upstream_ttfb_ms`](#http-tuning) limita l'attesa su un upstream inattivo. Questa impostazione non si applica agli altri provider, dove il gateway attende fino a un'ora che un upstream inizi a rispondere.585Per un upstream API Anthropic, [`timeouts.upstream_ttfb_ms`](#http-tuning) limita l'attesa su un upstream non disponibile. Questa impostazione non si applica agli altri provider, dove il gateway attende fino a un'ora che un upstream inizi a rispondere.

471 586 

472`404` è disponibilità del modello per upstream, quindi un upstream che non ha abilitato un modello non blocca un upstream successivo che lo serve. Un upstream che non può risolvere il modello richiesto viene saltato senza un round-trip di rete.587`404` indica la disponibilità del modello sul singolo upstream, quindi un upstream che non ha abilitato un modello non blocca un upstream successivo che lo serve. Un upstream che non può risolvere il modello richiesto viene saltato senza un round-trip di rete.

473 588 

474Questo esempio instrada un'allocazione Bedrock di throughput provisioned per primo, trabocca a on-demand e un secondo account e ricade all'API Anthropic per ultimo:589Questo esempio instrada prima un'allocazione di throughput provisioned di Amazon Bedrock, passa in overflow a on-demand e a un secondo account e usa l'API Anthropic come ultimo fallback:

475 590 

476```yaml theme={null}591```yaml theme={null}

477upstreams:592upstreams:


485 provider: bedrock600 provider: bedrock

486 region: us-west-2601 region: us-west-2

487 auth: {}602 auth: {}

488 # Different account: a separate Bedrock allotment via assumed-role creds.603 # Different account: a separate Bedrock allotment via static keys.

489 - name: bedrock-acct2604 - name: bedrock-acct2

490 provider: bedrock605 provider: bedrock

491 region: us-east-1606 region: us-east-1


511 626 

512| Leva | Come |627| Leva | Come |

513| - | - |628| - | - |

514| Regioni diverse | Un upstream Bedrock per regione, ciascuno con la sua `region:`. Con [`auto_include_builtin_models: true`](#models) i profili di inferenza cross-region instradano automaticamente; per distribuzioni fissate per regione usate un blocco `models:`. |629| Regioni diverse | Un upstream Amazon Bedrock per regione, ciascuno con la propria `region:`. Con [`auto_include_builtin_models: true`](#models) i profili di inferenza cross-region instradano automaticamente; per i deployment vincolati a una regione usa un blocco `models:`. |

515| Account diversi | Un upstream Bedrock per account, ciascuno con le sue credenziali in `auth:`. La catena predefinita (`auth: {}`) usa l'identità del pod; per un secondo account, impostate credenziali esplicite o un token bearer. |630| Account diversi | Un upstream Amazon Bedrock per account. La catena predefinita (`auth: {}`) usa l'identità del pod; per un secondo account, aggiungi [`assume_role`](#bedrock-in-another-aws-account) per raggiungerlo con credenziali a breve durata, oppure imposta credenziali esplicite o un token bearer in `auth:`. |

516| Throughput provisioned | Mappate il modello all'ARN di throughput provisioned in `models:` per il nome di quell'upstream. Gli altri upstream mantengono l'ID on-demand, quindi la capacità PT è esaurita prima del failover. |631| Throughput provisioned | Mappa il modello all'ARN di throughput provisioned in `models:` per il nome di quell'upstream. Gli altri upstream mantengono l'ID on-demand, quindi la capacità PT viene esaurita prima del failover. |

517| Endpoint VPC / FIPS | Impostate `base_url:` sull'upstream al vostro URL di endpoint VPC o FIPS |632| Endpoint VPC / FIPS | Imposta `base_url:` sull'upstream all'URL del tuo endpoint VPC o FIPS |

518| Instradamento scoped al modello | Solo un modello `id` personalizzato, uno che non è un modello Claude integrato, salta gli upstream assenti dalla sua mappa `upstream_model:`. Il gateway prova i modelli integrati su ogni upstream in ordine e usa l'ID predefinito del provider dove la mappa non ha voce, quindi per i modelli integrati la mappa cambia quale ID un upstream riceve piuttosto che se viene provato; un upstream che rifiuta l'ID segue le stesse [regole di failover](#upstreams) di qualsiasi altro errore dell'upstream. |633| Instradamento limitato al modello | Solo un `id` di modello personalizzato, cioè non un modello Claude integrato, salta gli upstream assenti dalla sua mappa `upstream_model:`. Il gateway prova i modelli integrati su ogni upstream in ordine e usa l'ID predefinito del provider dove la mappa non ha una voce, quindi per i modelli integrati la mappa cambia quale ID riceve un upstream anziché se venga provato; un upstream che rifiuta l'ID segue le stesse [regole di failover](#upstreams) di qualsiasi altro errore dell'upstream. |

519 634 

520Il failover tra provider cloud o all'API Anthropic diretto cambia quale accordo, geografia e altri termini governano la richiesta.635Il failover tra provider cloud, o verso l'API Anthropic diretta, cambia quale accordo, area geografica e altri termini regolano la richiesta.

521 636 

522La CLI applica lo stesso feature gating ai gateway indipendentemente da quale upstream serve una data richiesta, quindi il failover non invia un campo del corpo che un upstream rifiuterebbe.637La CLI applica lo stesso feature gating ai gateway indipendentemente da quale upstream serve una data richiesta, quindi il failover non invia un campo del corpo che un upstream rifiuterebbe.

523 638 


529 `admin`644 `admin`

530</h3>645</h3>

531 646 

532Facoltativo. Abilita `/v1/organizations/spend_limits`, che rispecchia l'API Admin pubblica di Anthropic, e l'applicazione di limiti di spesa per sviluppatore su `/v1/messages`. Vedi [Spend limits](/docs/it/claude-apps-gateway-spend-limits) per come vengono impostati e applicati i cap; questa sezione copre le chiavi `gateway.yaml` che attivano la funzione e la sintonizzano.647Facoltativo. Abilita `/v1/organizations/spend_limits`, che rispecchia l'API Admin pubblica di Anthropic, e l'applicazione di limiti di spesa per sviluppatore su `/v1/messages`. Vedi [Limiti di spesa](/docs/it/claude-apps-gateway-spend-limits) per come vengono impostati e applicati i cap; questa sezione copre le chiavi `gateway.yaml` che attivano la funzione e la regolano.

533 648 

534```yaml theme={null}649```yaml theme={null}

535admin:650admin:


551| - | - | - |666| - | - | - |

552| `write_keys` | No | Array di `{id, key}`. Un `x-api-key` che corrisponde a uno di questi può elencare, impostare ed eliminare i limiti di spesa. I valori delle chiavi devono essere almeno 32 caratteri; gli `id` devono essere univoci tra `read_keys` e `write_keys`. |667| `write_keys` | No | Array di `{id, key}`. Un `x-api-key` che corrisponde a uno di questi può elencare, impostare ed eliminare i limiti di spesa. I valori delle chiavi devono essere almeno 32 caratteri; gli `id` devono essere univoci tra `read_keys` e `write_keys`. |

553| `read_keys` | No | Array di `{id, key}`. Sola lettura: ogni endpoint `GET`, incluso l'elenco dei cap, il recupero di uno per ID e la lettura di [`/effective`](/docs/it/claude-apps-gateway-spend-limits#%2Feffective) e [`/audit`](/docs/it/claude-apps-gateway-spend-limits#%2Faudit). |668| `read_keys` | No | Array di `{id, key}`. Sola lettura: ogni endpoint `GET`, incluso l'elenco dei cap, il recupero di uno per ID e la lettura di [`/effective`](/docs/it/claude-apps-gateway-spend-limits#%2Feffective) e [`/audit`](/docs/it/claude-apps-gateway-spend-limits#%2Faudit). |

554| `admin_groups` | No | Nomi dei gruppi IdP. Un JWT del gateway il cui claim `groups` include uno di questi ha accesso admin completo, lettura e scrittura, e controlla come `oidc:<sub>`. Usa questo per gli admin umani; usa le chiavi API per le macchine. Una voce vuota in questo elenco arresta il gateway all'avvio. Vedi [Matcher values that stop the gateway at boot](#matcher-values-that-stop-the-gateway-at-boot). |669| `admin_groups` | No | Nomi dei gruppi IdP. Un JWT del gateway il cui claim `groups` include uno di questi ha accesso da amministratore completo, in lettura e scrittura, e viene registrato nell'audit come `oidc:<sub>`. Usa questo per gli amministratori umani; usa le chiavi API per le macchine. Una voce vuota in questo elenco arresta il gateway all'avvio. Vedi [Valori dei matcher che arrestano il gateway all'avvio](#matcher-values-that-stop-the-gateway-at-boot). |

555| `blocked_message` | No | Aggiunto verbatim al `429 billing_error` che uno sviluppatore bloccato vede. Scrivi l'intera istruzione, come un URL o un canale Slack. Se non impostato, il gateway invia solo il messaggio predefinito. Vedi [How enforcement works](/docs/it/claude-apps-gateway-spend-limits#how-enforcement-works). |670| `blocked_message` | No | Aggiunto alla lettera al `429 billing_error` che uno sviluppatore bloccato vede. Scrivi l'intera istruzione, come un URL o un canale Slack. Se non impostato, il gateway invia solo il messaggio predefinito. Vedi [Come funziona l'applicazione](/docs/it/claude-apps-gateway-spend-limits#how-enforcement-works). |

556| `audit_retention_days` | No | Predefinito `365`. Le righe `admin_audit` più vecchie vengono eliminate. |671| `audit_retention_days` | No | Predefinito `365`. Le righe `admin_audit` più vecchie vengono eliminate. |

557| `spend_retention_months` | No | Predefinito `13`. Le righe del contatore `spend` più vecchie di questo vengono eliminate. Il valore predefinito mantiene un anno completo più il mese parziale corrente per i rapporti anno su anno. |672| `spend_retention_months` | No | Predefinito `13`. Le righe del contatore `spend` più vecchie di questo vengono eliminate. Il valore predefinito mantiene un anno completo più il mese parziale corrente per i rapporti anno su anno. |

558| `identity_retention_days` | No | Predefinito `90`. TTL dell'ultimo accesso per le righe `principal_emails`, che contengono l'email, il nome visualizzato e i gruppi di ogni sviluppatore (PII). Deliberatamente più breve della conservazione della spesa in modo che un'identità deprovisioning invecchi mentre i suoi contatori di spesa anonimi rimangono. |673| `identity_retention_days` | No | Predefinito `90`. TTL dall'ultimo accesso per le righe `principal_emails`, che contengono l'email, il nome visualizzato e i gruppi di ogni sviluppatore (PII). Deliberatamente più breve della conservazione della spesa, in modo che un'identità rimossa scada mentre i suoi contatori di spesa anonimi rimangono. |

559| `group_limit_mode` | No | `min` (predefinito) o `max`. Quando uno sviluppatore è in diversi gruppi con cap, `min` applica il più restrittivo e `max` il meno restrittivo. Utilizzato sia dall'applicazione che da `/effective`. |674| `group_limit_mode` | No | `min` (predefinito) o `max`. Quando uno sviluppatore è in diversi gruppi con cap, `min` applica il più restrittivo e `max` il meno restrittivo. Utilizzato sia dall'applicazione che da `/effective`. |

560 675 

561<h3 id="enforcement">676<h3 id="enforcement">


566 681 

567| Campo | Obbligatorio | Descrizione |682| Campo | Obbligatorio | Descrizione |

568| - | - | - |683| - | - | - |

569| `fail_closed_on_error` | No | Predefinito `false`. L'applicazione della spesa fallisce aperta in caso di interruzione di Postgres, quindi l'inferenza rimane attiva. Imposta `true` per fallire chiuso: gli sviluppatori oltre il cap vengono bloccati, ma lo è anche chiunque altro se l'archivio non è raggiungibile. Richiede un blocco [`admin:`](#admin): l'applicazione della spesa viene eseguita solo quando `admin` è configurato, e il gateway rifiuta di avviarsi se imposti questo `true` senza uno. |684| `fail_closed_on_error` | No | Predefinito `false`. L'applicazione della spesa fallisce aperta in caso di interruzione di Postgres, quindi l'inferenza rimane attiva. Imposta `true` per fallire chiuso: gli sviluppatori oltre il cap vengono bloccati, ma lo è anche chiunque altro se l'archivio non è raggiungibile. Richiede un blocco [`admin:`](#admin): l'applicazione della spesa viene eseguita solo quando `admin` è configurato, e il gateway rifiuta di avviarsi se imposti questo a `true` senza di esso. |

570 685 

571<h3 id="pricing">686<h3 id="pricing">

572 `pricing`687 `pricing`


592| Campo | Obbligatorio | Descrizione |707| Campo | Obbligatorio | Descrizione |

593| - | - | - |708| - | - | - |

594| `multiplier` | No | Predefinito `1`. Il misuratore moltiplica ogni importo misurato per questo, sia che sia a prezzo di listino che sovrascritto, quindi `0.85` addebita l'85% del prezzo. Deve essere maggiore di 0 e al massimo 10, e un valore superiore a 1 è un [markup](#mark-prices-up). |709| `multiplier` | No | Predefinito `1`. Il misuratore moltiplica ogni importo misurato per questo, sia che sia a prezzo di listino che sovrascritto, quindi `0.85` addebita l'85% del prezzo. Deve essere maggiore di 0 e al massimo 10, e un valore superiore a 1 è un [markup](#mark-prices-up). |

595| `overrides` | No | Righe di `{upstream, model, input, output, cache_read, cache_write}` in USD per milione di token. Tutti e quattro i tassi sono obbligatori. Ognuno deve essere maggiore di 0 e al massimo 10000. |710| `overrides` | No | Righe di `{upstream, model, input, output, cache_read, cache_write}` in USD per milione di token. Tutte e quattro le tariffe sono obbligatorie. Ognuna deve essere maggiore di 0 e al massimo 10000. |

596 711 

597Come il misuratore abbina una riga di override:712Come il misuratore abbina una riga di override:

598 713 

599* Una riga sostituisce il prezzo di listino per le richieste che `upstream`, un [`upstreams[].name`](#upstreams), serve per `model`. Questo include il tasso [fast mode](/docs/it/fast-mode#understand-the-cost-tradeoff) più alto, quindi le richieste fast e standard vengono misurate agli stessi quattro tassi.714* Una riga sostituisce il prezzo di listino per le richieste che `upstream`, un [`upstreams[].name`](#upstreams), serve per `model`. Questo include la tariffa più alta della [modalità veloce](/docs/it/fast-mode#understand-the-cost-tradeoff), quindi le richieste veloci e standard vengono misurate alle stesse quattro tariffe.

600* Un ID incorporato come `claude-sonnet-4-6`, abbinato come [`models[].id`](#models), copre ogni forma datata, forma regionale di Amazon Bedrock, o forma di Google Cloud's Agent Platform che il misuratore prezza come quel modello. Qualsiasi altra stringa, come un alias o un ARN del profilo di inferenza, abbina l'ID che il client ha inviato o la stringa inviata upstream, senza distinzione tra maiuscole e minuscole.715* Un ID incorporato come `claude-sonnet-4-6`, abbinato come [`models[].id`](#models), copre ogni forma datata, forma regionale di Amazon Bedrock o forma di Agent Platform di Google Cloud che il misuratore prezza come quel modello. Qualsiasi altra stringa, come un alias o un ARN del profilo di inferenza, corrisponde all'ID che il client ha inviato o alla stringa inviata upstream, senza distinzione tra maiuscole e minuscole.

601* Dove le righe si sovrappongono, il misuratore sceglie la riga più specifica piuttosto che la prima riga: una riga il cui `model` è la stringa di modello esatta inviata upstream, quindi una riga che corrisponde all'ID esatto che il client ha inviato, quindi una riga che nomina il modello incorporato.716* Dove le righe si sovrappongono, il misuratore sceglie la riga più specifica piuttosto che la prima riga: una riga il cui `model` è la stringa di modello esatta inviata upstream, quindi una riga che corrisponde all'ID esatto che il client ha inviato, quindi una riga che nomina il modello incorporato.

602* Un nome upstream sconosciuto fallisce all'avvio, così come due righe per uno upstream che nominano lo stesso modello, incluse due ortografie di un modello incorporato. Il gateway avverte all'avvio di una riga che nessun modello richiedibile può utilizzare.717* Un nome upstream sconosciuto fa fallire l'avvio, così come due righe per uno stesso upstream che nominano lo stesso modello, incluse due grafie di un modello incorporato. Il gateway avverte all'avvio di una riga che nessun modello richiedibile può utilizzare.

603* Le richieste di ricerca web rimangono al prezzo di listino \$0.01; il moltiplicatore si applica comunque a loro.718* Le richieste di ricerca web rimangono al prezzo di listino di \$0.01; il moltiplicatore si applica comunque a loro.

604 719 

605Per tariffe per regione, dai a ogni regione il suo upstream denominato e una riga per upstream.720Per tariffe per regione, dai a ogni regione il suo upstream denominato e una riga per upstream.

606 721 


608 Aumenta i prezzi723 Aumenta i prezzi

609</h4>724</h4>

610 725 

611Con v2.1.271 o successivo sul server del gateway, puoi impostare `multiplier` sopra 1, fino a 10, per misurare più di quanto il provider addebita, ad esempio un tasso di chargeback interno. Questo esempio misura ogni richiesta al 120% del prezzo:726Con v2.1.271 o successivo sul server del gateway, puoi impostare `multiplier` sopra 1, fino a 10, per misurare più di quanto il provider addebita, ad esempio una tariffa di chargeback interna. Questo esempio misura ogni richiesta al 120% del prezzo:

612 727 

613```yaml theme={null}728```yaml theme={null}

614pricing:729pricing:

615 multiplier: 1.2730 multiplier: 1.2

616```731```

617 732 

618Con un blocco [`admin:`](#admin), il markup si applica anche ai limiti di spesa. Il misuratore conta il 120% del prezzo, quindi gli sviluppatori raggiungono i loro cap più velocemente. Il gateway registra un avviso all'avvio che lo dice.733Con un blocco [`admin:`](#admin), il markup si applica anche ai limiti di spesa. Il misuratore conta il 120% del prezzo, quindi gli sviluppatori raggiungono i loro cap più velocemente. Il gateway registra un avviso all'avvio che lo segnala.

619 734 

620Il moltiplicatore non cambia quello che il provider upstream addebita per le richieste.735Il moltiplicatore non cambia quello che il provider upstream addebita per le richieste.

621 736 

622Se il gateway inoltre [invia le tariffe ai client firmati](#send-the-rates-to-signed-in-clients), gli sviluppatori hanno bisogno di Claude Code v2.1.271 o successivo per vedere il markup. I client precedenti ignorano un `multiplier` superiore a 1 e mostrano i costi senza di esso.737Se il gateway inoltre [invia le tariffe ai client che hanno effettuato l'accesso](#send-the-rates-to-signed-in-clients), gli sviluppatori hanno bisogno di Claude Code v2.1.271 o successivo per vedere il markup. I client precedenti ignorano un `multiplier` superiore a 1 e mostrano i costi senza di esso.

623 738 

624Un server gateway precedente a v2.1.271 rifiuta di avviarsi se imposti un `multiplier` superiore a 1.739Un server gateway precedente a v2.1.271 rifiuta di avviarsi se imposti un `multiplier` superiore a 1.

625 740 

626<h4 id="send-the-rates-to-signed-in-clients">741<h4 id="send-the-rates-to-signed-in-clients">

627 Inviare le tariffe ai client firmati742 Invia le tariffe ai client che hanno effettuato l'accesso

628</h4>743</h4>

629 744 

630Con v2.1.268 o successivo sul server del gateway, il gateway mette anche le tariffe da `pricing` nelle policy [`managed`](#managed) che serve, come l'impostazione gestita [`modelPricing`](/docs/it/settings-reference#modelpricing). Gli sviluppatori abbinati da una policy vedono quindi le tariffe `pricing` per il primo upstream che serve ogni ID modello in `/usage`, la riga di stato e OpenTelemetry. Uno sviluppatore che non corrisponde a nessuna policy non riceve impostazioni gestite, quindi le sue cifre rimangono al prezzo di listino. I client applicano l'impostazione in Claude Code v2.1.242 o successivo.745Con v2.1.268 o successivo sul server del gateway, il gateway mette anche le tariffe da `pricing` nelle policy [`managed`](#managed) che serve, come l'impostazione gestita [`modelPricing`](/docs/it/settings-reference#modelpricing). Gli sviluppatori abbinati da una policy vedono quindi le tariffe `pricing` per il primo upstream che serve ogni ID modello in `/usage`, nella riga di stato e in OpenTelemetry. Uno sviluppatore che non corrisponde a nessuna policy non riceve impostazioni gestite, quindi le sue cifre rimangono al prezzo di listino. I client applicano l'impostazione in Claude Code v2.1.242 o successivo.

631 746 

632* Cosa aggiunge il gateway: a meno che il blocco `cli` di una policy non imposti già `modelPricing`, il gateway aggiunge il `multiplier` e, per ogni ID modello che un client può richiedere, la riga di override del primo upstream che serve quell'ID. Un tasso che solo un upstream di failover addebita rimane sul gateway.747* Cosa aggiunge il gateway: a meno che il blocco `cli` di una policy non imposti già `modelPricing`, il gateway aggiunge il `multiplier` e, per ogni ID modello che un client può richiedere, la riga di override del primo upstream che serve quell'ID. Una tariffa che solo un upstream di failover addebita rimane sul gateway.

633* Escludi una policy: imposta `modelPricing` a `{}` nel blocco `cli` di quella policy, e i suoi sviluppatori rimangono al prezzo di listino.748* Escludi una policy: imposta `modelPricing` a `{}` nel blocco `cli` di quella policy, e i suoi sviluppatori rimangono al prezzo di listino.

634* Mantieni le tariffe proprie di una policy: una policy il cui blocco `cli` imposta `modelPricing` con il suo `multiplier` o `overrides` mantiene quel `modelPricing` intero, e il gateway non aggiunge tariffe proprie a esso.749* Mantieni le tariffe proprie di una policy: una policy il cui blocco `cli` imposta `modelPricing` con il suo `multiplier` o `overrides` mantiene quel `modelPricing` intero, e il gateway non vi aggiunge tariffe proprie.

635 750 

636<h3 id="models">751<h3 id="models">

637 `models`752 `models`

638</h3>753</h3>

639 754 

640Il blocco `models` è un elenco di modelli curato da admin facoltativo, servito su `/v1/models` e utilizzato per tradurre gli ID modello per upstream. È obbligatorio per le regioni non statunitensi di Amazon Bedrock, gli ARN di throughput con provisioning di Amazon Bedrock e i nomi di distribuzione di Microsoft Foundry.755Il blocco `models` è un elenco di modelli facoltativo curato dall'amministratore, servito su `/v1/models` e utilizzato per tradurre gli ID modello per upstream. È obbligatorio per le regioni non statunitensi di Amazon Bedrock, gli ARN di throughput con provisioning di Amazon Bedrock e i nomi di deploy di Microsoft Foundry.

641 756 

642```yaml theme={null}757```yaml theme={null}

643auto_include_builtin_models: true # false: expose only the list below758auto_include_builtin_models: true # false: expose only the list below


651 foundry: your-opus-deployment-name766 foundry: your-opus-deployment-name

652```767```

653 768 

654Ogni chiave sotto `upstream_model` deve corrispondere al `name` di un upstream configurato, che per impostazione predefinita è il nome del provider. Una chiave che non corrisponde a nessun upstream fallisce all'avvio, quindi ometti le righe per i provider che non usi.769Ogni chiave sotto `upstream_model` deve corrispondere al `name` di un upstream configurato, che per impostazione predefinita è il nome del provider. Una chiave che non corrisponde a nessun upstream fa fallire l'avvio, quindi ometti le righe per i provider che non usi.

655 770 

656<h3 id="managed">771<h3 id="managed">

657 `managed`772 `managed`

658</h3>773</h3>

659 774 

660Il blocco `managed` definisce policy di accesso basate su ruoli basate su gruppi IdP o dominio di posta elettronica. Le policy vengono valutate in ordine; la prima corrispondenza viene selezionata, quindi unita alla base catch-all `match: {}`. Vengono servite per utente su `GET /managed/settings` con caching ETag/304.775Il blocco `managed` definisce policy di accesso basate sui ruoli, associate a gruppi IdP o al dominio email. Le policy vengono valutate in ordine; viene selezionata la prima corrispondenza, su cui viene poi eseguito il merge con la base catch-all `match: {}`. Vengono servite per utente su `GET /managed/settings` con caching ETag/304.

661 776 

662```yaml theme={null}777```yaml theme={null}

663managed:778managed:


673 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]788 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

674```789```

675 790 

676Un catch-all `match: {}`, convenzionalmente elencato per ultimo, viene trattato come un livello base. Ogni altra policy eredita qualsiasi chiave che non imposta dalla catch-all, quindi le voci per ruolo devono solo elencare ciò che differisce dal valore predefinito dell'organizzazione. Le regole di unione dipendono dal tipo di chiave:791Un catch-all `match: {}`, convenzionalmente elencato per ultimo, viene trattato come un livello base. Ogni altra policy eredita dal catch-all qualsiasi chiave che non imposta, quindi le voci per ruolo devono solo elencare ciò che differisce dal valore predefinito dell'organizzazione. Le regole di merge dipendono dal tipo di chiave:

677 792 

678* **Allow-lists**: `availableModels` e `permissions.allow`. L'elenco di una policy specifica sostituisce completamente quello della base.793* **Allowlist**: `availableModels` e `permissions.allow`. L'elenco di una policy specifica sostituisce completamente quello della base.

679* **Deny-lists e hook arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` e ogni array di tipo evento `hooks`. Questi prendono l'unione di base e policy, quindi un deny a livello di organizzazione o un hook di audit non può essere accidentalmente eliminato da un override per ruolo.794* **Elenchi di negazione e array di hook**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` e ogni array di tipo evento `hooks`. Questi prendono l'unione di base e policy, quindi un deny a livello di organizzazione o un hook di audit non può essere accidentalmente eliminato da un override per ruolo.

680* **Record-typed keys**: `env`, `modelOverrides` e `skillOverrides`. Questi si uniscono superficialmente, quindi un blocco `env` per ruolo sostituisce le chiavi che imposta e eredita il resto dalla base.795* **Chiavi di tipo record**: `env`, `modelOverrides` e `skillOverrides`. Per queste si esegue un merge superficiale, quindi un blocco `env` per ruolo sovrascrive le chiavi che imposta ed eredita il resto dalla base.

681 796 

682`availableModels` viene anche applicato lato server su `/v1/messages`, quindi un modello negato restituisce `400` indipendentemente da quello che il client invia.797`availableModels` viene anche applicato lato server su `/v1/messages`, quindi un modello negato restituisce `400` indipendentemente da quello che il client invia.

683 798 


688 803 

689| Matcher | Comportamento |804| Matcher | Comportamento |

690| - | - |805| - | - |

691| `match: {}` | Corrisponde a ogni utente autenticato. Inizia con uno di questi e aggiungi policy con ambito di gruppo sopra di esso in seguito. |806| `match: {}` | Corrisponde a ogni utente autenticato. Inizia con uno di questi e aggiungi in seguito policy con ambito di gruppo sopra di esso. |

692| `match: { groups: [a, b] }` | Corrisponde se il claim `groups` del JWT contiene uno dei gruppi elencati. Sensibile alle maiuscole: i gruppi devono corrispondere alle maiuscole esatte dell'IdP. |807| `match: { groups: [a, b] }` | Corrisponde se il claim `groups` del JWT contiene uno dei gruppi elencati. Sensibile alle maiuscole: i gruppi devono corrispondere esattamente alle maiuscole e minuscole dell'IdP. |

693| `match: { email_domain: example.com }` | Corrisponde alla parte dopo l'ultimo `@` nel claim `email` del JWT, senza distinzione tra maiuscole e minuscole. Accetta un dominio per policy. |808| `match: { email_domain: example.com }` | Corrisponde alla parte dopo l'ultimo `@` nel claim `email` del JWT, senza distinzione tra maiuscole e minuscole. Accetta un dominio per policy. |

694| `match: { groups: [a], email_domain: example.com }` | Entrambe le condizioni devono corrispondere |809| `match: { groups: [a], email_domain: example.com }` | Entrambe le condizioni devono corrispondere |

695 810 

696Un utente autenticato che non corrisponde a nessuna policy ottiene i valori predefiniti del gateway, il che significa ogni modello nel catalogo e nessuna impostazione gestita. Aggiungi un catch-all `match: {}` per ultimo se vuoi una policy predefinita garantita.811Un utente autenticato che non corrisponde a nessuna policy ottiene i valori predefiniti del gateway, il che significa ogni modello nel catalogo e nessuna impostazione gestita. Aggiungi un catch-all `match: {}` per ultimo se vuoi una policy predefinita garantita.

697 812 

698<Note>813<Note>

699 Il gateway non mantiene una propria directory utente. Autorizza ogni richiesta dal token IdP dell'utente, leggendo l'appartenenza al gruppo dal claim `groups` del token e valutando le policy rispetto ad esso. Non c'è roster da enumerare e nessun account da pre-creare, e quindi nessun endpoint SCIM, perché non c'è nulla per SCIM da sincronizzare.814 Il gateway non mantiene una propria directory utente. Autorizza ogni richiesta dal token IdP dell'utente, leggendo l'appartenenza ai gruppi dal claim `groups` del token e valutando le policy rispetto ad esso. Non c'è un elenco da enumerare e nessun account da pre-creare, e quindi nessun endpoint SCIM, perché non c'è nulla in cui SCIM possa sincronizzare.

700 815 

701 Esegui la gestione del ciclo di vita di utenti e gruppi alla fonte della verità, che è il provisioning SCIM nativo del tuo IdP o una piattaforma dedicata di governance dell'identità. L'appartenenza e il deprovisioning governati lì fluiscono nel gateway automaticamente attraverso il token. Se vuoi il provisioning SCIM degli account Claude stessi, questa è una capacità di [Claude for Enterprise](/docs/it/admin-setup).816 Esegui la gestione del ciclo di vita di utenti e gruppi alla fonte di verità, che è il provisioning SCIM nativo del tuo IdP o una piattaforma dedicata di governance delle identità. L'appartenenza e il deprovisioning gestiti lì fluiscono nel gateway automaticamente attraverso il token. Se vuoi il provisioning SCIM degli account Claude stessi, questa è una funzionalità di [Claude for Enterprise](/docs/it/admin-setup).

702 817 

703 Si applicano due orologi di propagazione:818 Si applicano due tempi di propagazione:

704 819 

705 * **Contenuti della policy**: modificare una policy e ridistribuire raggiunge i client connessi al loro prossimo sondaggio di impostazioni gestite, entro un'ora, a parte i [cambiamenti che si applicano solo al prossimo avvio](/docs/it/server-managed-settings#fetch-and-caching-behavior)820 * **Contenuti della policy**: modificare una policy e rifare il deploy raggiunge i client connessi al loro prossimo polling delle impostazioni gestite, entro un'ora, a parte le [modifiche che si applicano solo al prossimo avvio](/docs/it/server-managed-settings#fetch-and-caching-behavior)

706 * **Appartenenza al gruppo**: cambiare l'appartenenza al gruppo di un utente cambia quale policy lo corrisponde. Questo ha effetto al prossimo rinnovo della sessione, il che significa il prossimo aggiornamento silenzioso, limitato da `session.ttl_hours`.821 * **Appartenenza ai gruppi**: cambiare l'appartenenza ai gruppi di un utente cambia quale policy gli corrisponde. Questo ha effetto alla prossima riemissione della sessione, cioè al prossimo aggiornamento silenzioso, limitato da `session.ttl_hours`.

707</Note>822</Note>

708 823 

709<h4 id="matcher-values-that-stop-the-gateway-at-boot">824<h4 id="matcher-values-that-stop-the-gateway-at-boot">

710 Matcher values that stop the gateway at boot825 Valori dei matcher che arrestano il gateway all'avvio

711</h4>826</h4>

712 827 

713All'avvio, il gateway controlla il blocco `match` di ogni policy e l'elenco [`admin_groups`](#admin). Uno qualsiasi di questi valori arresta il gateway con un errore che nomina il campo:828All'avvio, il gateway controlla il blocco `match` di ogni policy e l'elenco [`admin_groups`](#admin). Uno qualsiasi di questi valori arresta il gateway con un errore che nomina il campo:


715* Un elenco `groups` vuoto830* Un elenco `groups` vuoto

716* Una voce vuota in `groups` o in `admin_groups`831* Una voce vuota in `groups` o in `admin_groups`

717* Un `email_domain` vuoto832* Un `email_domain` vuoto

718* Un `email_domain` che contiene `@`, spazi bianchi o una virgola. Il gateway taglia il valore e rimuove un `@` iniziale prima di questo controllo. Scrivi un dominio nudo, come `example.com`.833* Un `email_domain` che contiene `@`, spazi bianchi o una virgola. Il gateway rimuove gli spazi dal valore e toglie un `@` iniziale prima di questo controllo. Scrivi un solo dominio semplice, come `example.com`.

719 834 

720Prima di v2.1.232, il gateway si avviava con questi valori. Ogni valore aveva questo effetto:835Prima di v2.1.232, il gateway si avviava con questi valori. Ogni valore aveva questo effetto:

721 836 

722* Un `email_domain` vuoto: il gateway ha saltato il controllo del dominio, quindi una policy con un `email_domain` vuoto e nessun elenco `groups` corrisponde a ogni utente autenticato837* Un `email_domain` vuoto: il gateway saltava il controllo del dominio, quindi una policy con un `email_domain` vuoto e nessun elenco `groups` corrispondeva a ogni utente autenticato

723* Un elenco `groups` vuoto: la policy non corrisponde a nessuno838* Un elenco `groups` vuoto: la policy non corrispondeva a nessuno

724* Un `email_domain` contenente `@`, spazi bianchi o una virgola: la policy non corrisponde a nessuno839* Un `email_domain` contenente `@`, spazi bianchi o una virgola: la policy non corrispondeva a nessuno

725* Una voce vuota in `groups` o in `admin_groups`: la voce corrisponde a un utente solo quando il claim `groups` dell'IdP di quell'utente conteneva anche una voce vuota. In `admin_groups`, quella corrispondenza ha concesso l'accesso admin. Se il tuo elenco `admin_groups` non ha mai contenuto una voce vuota, nessuno ha ottenuto l'accesso admin in questo modo.840* Una voce vuota in `groups` o in `admin_groups`: la voce corrispondeva a un utente solo quando anche il claim `groups` dell'IdP di quell'utente conteneva una voce vuota. In `admin_groups`, quella corrispondenza concedeva l'accesso da amministratore. Se il tuo elenco `admin_groups` non ha mai contenuto una voce vuota, nessuno ha ottenuto l'accesso da amministratore in questo modo.

726 841 

727<h4 id="what-goes-in-cli">842<h4 id="what-goes-in-cli">

728 What goes in `cli`843 Cosa va in `cli`

729</h4>844</h4>

730 845 

731Ogni valore `cli` è un documento completo di `managed-settings.json` di Claude Code, lo stesso schema che distribuiresti tramite MDM o `/etc/claude-code/managed-settings.json`, espresso qui come YAML. La CLI applica il documento consegnato al livello gestito, sopra le impostazioni di utente e progetto, al posto delle impostazioni gestite dal server. Ignora quindi le impostazioni [ristrette alle fonti di policy a livello di sistema operativo](/docs/it/server-managed-settings#current-limitations), come `policyHelper` e `wslInheritsWindowsSettings`.846Ogni valore `cli` è un documento `managed-settings.json` completo di Claude Code, lo stesso schema che distribuiresti tramite MDM o `/etc/claude-code/managed-settings.json`, espresso qui come YAML. La CLI applica il documento consegnato al livello gestito, sopra le impostazioni di utente e progetto, al posto delle impostazioni gestite dal server. Ignora quindi le impostazioni [limitate alle fonti di policy a livello di sistema operativo](/docs/it/server-managed-settings#current-limitations), come `policyHelper` e `wslInheritsWindowsSettings`.

732 847 

733Il gateway convalida ogni documento rispetto allo schema delle impostazioni della CLI all'avvio, quindi una chiave di primo livello non riconosciuta fallisce all'avvio con un errore che nomina ogni chiave offensiva. Le parti deliberatamente aperte dello schema accettano ancora valori arbitrari, perché i client più recenti potrebbero riconoscere voci che lo schema del gateway non riconosce. Queste chiavi aperte includono `env`, `pluginConfigs` e chiavi annidate sotto `permissions`.848Il gateway convalida ogni documento rispetto allo schema delle impostazioni della CLI all'avvio, quindi una chiave di primo livello non riconosciuta fa fallire l'avvio con un errore che nomina ogni chiave problematica. Le parti deliberatamente aperte dello schema accettano comunque valori arbitrari, perché i client più recenti potrebbero riconoscere voci che lo schema del gateway non riconosce. Queste chiavi aperte includono `env`, `pluginConfigs` e le chiavi annidate sotto `permissions`.

734 849 

735Poiché la convalida utilizza lo schema fornito con la versione installata del gateway, mettere una chiave di impostazioni di primo livello introdotta da una versione più recente di Claude Code nella configurazione gestita richiede prima l'aggiornamento del gateway. Smoke-test una nuova policy su un client prima di distribuirla.850Poiché la convalida utilizza lo schema incluso nella versione installata del gateway, inserire nella configurazione gestita una chiave di impostazioni di primo livello introdotta da una versione più recente di Claude Code richiede prima l'aggiornamento del gateway. Esegui uno smoke test di una nuova policy su un client prima di distribuirla.

736 851 

737Il riferimento completo della chiave è in [Claude Code settings](/docs/it/settings-reference#all-settings). Le chiavi che gli operatori raggiungono per prime:852Il riferimento completo delle chiavi è in [Impostazioni di Claude Code](/docs/it/settings-reference#all-settings). Le chiavi che gli operatori usano per prime:

738 853 

739```yaml theme={null}854```yaml theme={null}

740managed:855managed:


770 885 

771| Chiave | Applicato da | Effetto |886| Chiave | Applicato da | Effetto |

772| - | - | - |887| - | - | - |

773| `availableModels` | Gateway + CLI | Allowlist del modello. Anche controllato su `/v1/messages`, quindi un client patchato non può bypassarlo. |888| `availableModels` | Gateway + CLI | Allowlist dei modelli. Controllata anche su `/v1/messages`, quindi un client modificato non può aggirarla. |

774| `permissions.allow` / `.deny` | CLI | Regole di strumenti e comandi. Vedi [Permissions](/docs/it/permissions). |889| `permissions.allow` / `.deny` | CLI | Regole per strumenti e comandi. Vedi [Permessi](/docs/it/permissions). |

775| `permissions.disableBypassPermissionsMode` | CLI | Imposta su `disable` per bloccare [`bypassPermissions`](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode), la modalità che salta i prompt di autorizzazione, e il flag `--dangerously-skip-permissions` |890| `permissions.disableBypassPermissionsMode` | CLI | Imposta su `disable` per bloccare [`bypassPermissions`](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode), la modalità che salta le richieste di permesso, e il flag `--dangerously-skip-permissions` |

776| `allowManagedPermissionRulesOnly` | CLI | Quando `true`, le impostazioni gestite diventano l'unica fonte di impostazioni delle regole di autorizzazione. La voce [`allowManagedPermissionRulesOnly`](/docs/it/settings-reference#allowmanagedpermissionrulesonly) elenca ogni fonte che Claude Code ignora. |891| `allowManagedPermissionRulesOnly` | CLI | Quando `true`, le impostazioni gestite diventano l'unica fonte di impostazioni per le regole di permesso. La voce [`allowManagedPermissionRulesOnly`](/docs/it/settings-reference#allowmanagedpermissionrulesonly) elenca ogni fonte che Claude Code ignora in quel caso. |

777| `env` | CLI | Variabili di ambiente unite nel processo CLI. Usa per telemetria, auto-aggiornamento e override dei nomi dei modelli. |892| `env` | CLI | Variabili d'ambiente sottoposte a merge nel processo CLI. Da usare per telemetria, aggiornamento automatico e override dei nomi dei modelli. |

778| `hooks` | CLI | [hooks](/docs/it/hooks) a livello di organizzazione |893| `hooks` | CLI | [Hook](/docs/it/hooks) a livello di organizzazione |

779| `managedMcpServers` | CLI | Server MCP remoti [forniti a ogni sviluppatore corrispondente](/docs/it/managed-mcp#provide-servers-through-managed-settings) insieme ai server che aggiungono loro stessi, `http` e `sse` solo. Vedi [MCP servers in a policy](#mcp-servers-in-a-policy). Richiede Claude Code v2.1.259 o successivo sul server del gateway e sui client. I client precedenti ignorano la chiave. |894| `managedMcpServers` | CLI | Server MCP remoti [forniti a ogni sviluppatore corrispondente](/docs/it/managed-mcp#provide-servers-through-managed-settings) insieme ai server che aggiungono loro stessi, solo `http` e `sse`. Vedi [Server MCP in una policy](#mcp-servers-in-a-policy). Richiede Claude Code v2.1.259 o successivo sul server del gateway e sui client. I client precedenti ignorano la chiave. |

780 895 

781Poiché queste impostazioni arrivano sulla rete, la CLI mostra a ogni sviluppatore una finestra di dialogo di approvazione della sicurezza prima di applicare le impostazioni elencate di seguito:896Poiché queste impostazioni arrivano dalla rete, la CLI mostra a ogni sviluppatore una finestra di dialogo di approvazione di sicurezza prima di applicare le impostazioni elencate di seguito:

782 897 

783* `hooks`898* `hooks`

784* Variabili `env` che richiedono l'approvazione dello sviluppatore, come variabili proxy e base-URL899* variabili `env` che richiedono l'approvazione dello sviluppatore, come le variabili di proxy e di base URL

785* impostazioni di esecuzione della shell come `apiKeyHelper` e `statusLine`900* impostazioni di esecuzione della shell come `apiKeyHelper` e `statusLine`

786* le impostazioni binarie della sandbox `sandbox.bwrapPath`, `sandbox.socatPath` e `sandbox.ripgrep`901* le impostazioni dei binari della sandbox `sandbox.bwrapPath`, `sandbox.socatPath` e `sandbox.ripgrep`

787* Impostazioni della sandbox che intercettano il traffico, iniettano credenziali o indeboliscono l'isolamento, come `sandbox.network.tlsTerminate` e le impostazioni della porta proxy. [Security approval dialogs](/docs/it/server-managed-settings#security-approval-dialogs) le elenca tutte.902* Impostazioni della sandbox che intercettano il traffico, iniettano credenziali o indeboliscono l'isolamento, come `sandbox.network.tlsTerminate` e le impostazioni della porta del proxy. [Finestre di dialogo di approvazione di sicurezza](/docs/it/server-managed-settings#security-approval-dialogs) le elenca tutte.

788 903 

789[Approval memory](/docs/it/server-managed-settings#approval-memory) copre quanto dura un'approvazione e quando la finestra di dialogo appare di nuovo.904[Memoria delle approvazioni](/docs/it/server-managed-settings#approval-memory) spiega quanto dura un'approvazione e quando la finestra di dialogo appare di nuovo.

790 905 

791Claude Code applica alcune variabili `env` consegnate senza mostrare allo sviluppatore la finestra di dialogo di approvazione, come le impostazioni di selezione del modello e i limiti numerici. Altre variabili consegnate possono richiedere l'approvazione dello sviluppatore prima di avere effetto; un valore proxy, base-URL o `OTEL_EXPORTER_OTLP_ENDPOINT` non vuoto lo fa sempre. Quando una variabile consegnata ha bisogno di approvazione, la finestra di dialogo la nomina.906Claude Code applica alcune variabili `env` consegnate senza mostrare allo sviluppatore la finestra di dialogo di approvazione, come le impostazioni di selezione del modello e i limiti numerici. Altre variabili consegnate possono richiedere l'approvazione dello sviluppatore prima di avere effetto; un valore non vuoto di proxy, base URL o `OTEL_EXPORTER_OTLP_ENDPOINT` la richiede sempre. Quando una variabile consegnata ha bisogno di approvazione, la finestra di dialogo la nomina.

792 907 

793[Environment variables and the approval dialog](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog) ha i dettagli, inclusi quattro interruttori di privacy il cui valore consegnato decide se hanno bisogno di approvazione. Prima di v2.1.218, Claude Code applicava meno variabili senza chiedere allo sviluppatore, quindi più variabili consegnate attivavano la finestra di dialogo.908[Variabili d'ambiente e la finestra di dialogo di approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog) contiene i dettagli, inclusi quattro interruttori di privacy il cui valore consegnato decide se hanno bisogno di approvazione. Prima di v2.1.218, Claude Code applicava meno variabili senza chiedere allo sviluppatore, quindi più variabili consegnate attivavano la finestra di dialogo.

794 909 

795La configurazione [telemetry](#telemetry) del gateway spinge `OTEL_EXPORTER_OTLP_ENDPOINT`, quindi impostare `telemetry.forward_to` attiva la finestra di dialogo su ogni client interattivo. La finestra di dialogo protegge la macchina dello sviluppatore da un gateway compromesso o ostile, non l'organizzazione dallo sviluppatore.910La configurazione di [telemetria](#telemetry) del gateway invia `OTEL_EXPORTER_OTLP_ENDPOINT`, quindi impostare `telemetry.forward_to` attiva la finestra di dialogo su ogni client interattivo. La finestra di dialogo protegge la macchina dello sviluppatore da un gateway compromesso o ostile, non l'organizzazione dallo sviluppatore.

796 911 

797Un'esecuzione non interattiva con il flag `-p` non può mostrare la finestra di dialogo. Applica le impostazioni spinte per quella sola esecuzione e non le registra come approvate, quindi la prossima sessione interattiva dello sviluppatore mostra comunque la finestra di dialogo per loro. Prima di v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate e nessuna sessione interattiva successiva mostrava la finestra di dialogo per loro.912Un'[esecuzione non interattiva](/docs/it/server-managed-settings#security-approval-dialogs), come `claude -p` o una sessione dell'Agent SDK, non può mostrare la finestra di dialogo. Applica le impostazioni inviate solo per quell'esecuzione e non le registra come approvate, quindi la prossima sessione interattiva dello sviluppatore mostra comunque la finestra di dialogo. Prima di v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate e nessuna sessione interattiva successiva mostrava la finestra di dialogo per esse.

798 913 

799Se uno sviluppatore rifiuta, Claude Code esce da quella sessione piuttosto che applicare la policy. Quando spingi un nuovo hook, o qualsiasi variabile env che attiva la finestra di dialogo, a una policy ampia, Claude Code mostra quindi la finestra di dialogo a ogni sviluppatore corrispondente. Mostra la finestra di dialogo in una sessione in esecuzione al prossimo sondaggio orario, e altrimenti all'avvio successivo dello sviluppatore.914Se uno sviluppatore rifiuta, Claude Code esce da quella sessione anziché applicare la policy. Quando invii un nuovo hook, o qualsiasi variabile env che attiva la finestra di dialogo, a una policy ampia, ogni sviluppatore corrispondente vede quindi la finestra di dialogo nelle proprie sessioni interattive. Una sessione interattiva in esecuzione la mostra al prossimo polling orario, altrimenti appare al successivo avvio interattivo dello sviluppatore.

800 915 

801La chiave `cli` era denominata `settings` nelle versioni precedenti. Questo spelling è ancora accettato come alias, ma le nuove distribuzioni dovrebbero usare `cli`.916La chiave `cli` era denominata `settings` nelle versioni precedenti. Questa grafia è ancora accettata come alias, ma i nuovi deploy dovrebbero usare `cli`.

802 917 

803<h4 id="mcp-servers-in-a-policy">918<h4 id="mcp-servers-in-a-policy">

804 MCP servers in a policy919 Server MCP in una policy

805</h4>920</h4>

806 921 

807Per fornire server MCP ai client Claude Code che una policy corrisponde, imposta [`managedMcpServers`](/docs/it/managed-mcp#provide-servers-through-managed-settings) nel blocco `cli` di quella policy. Hai bisogno di Claude Code v2.1.259 o successivo sul server del gateway e sui client.922Per fornire server MCP ai client Claude Code a cui corrisponde una policy, imposta [`managedMcpServers`](/docs/it/managed-mcp#provide-servers-through-managed-settings) nel blocco `cli` di quella policy. Hai bisogno di Claude Code v2.1.259 o successivo sul server del gateway e sui client.

808 923 

809Il gateway controlla ogni voce all'avvio con [le stesse regole che Claude Code applica sul client](/docs/it/managed-mcp#what-an-entry-can-contain), e se una voce fallisce un controllo, il gateway rifiuta di avviarsi e nomina la voce.924Il gateway controlla ogni voce all'avvio con [le stesse regole che Claude Code applica sul client](/docs/it/managed-mcp#what-an-entry-can-contain), e se una voce non supera un controllo, il gateway rifiuta di avviarsi e nomina la voce.

810 925 

811Se scrivi un riferimento `${VAR}` in `gateway.yaml`, il gateway lo risolve dal suo ambiente all'avvio attraverso [secret expansion](#secret-expansion) prima di eseguire i controlli della voce, quindi ogni client corrispondente riceve il valore letterale e può leggerlo. La [header guidance for provided servers](/docs/it/managed-mcp#provide-servers-through-managed-settings) si applica al valore espanso.926Se scrivi un riferimento `${VAR}` in `gateway.yaml`, il gateway lo risolve dal suo ambiente all'avvio tramite l'[espansione dei segreti](#secret-expansion) prima di eseguire i controlli sulle voci, quindi ogni client corrispondente riceve il valore letterale e può leggerlo. Le [indicazioni sulle intestazioni per i server forniti](/docs/it/managed-mcp#provide-servers-through-managed-settings) si applicano al valore espanso.

812 927 

813Il gateway rifiuta lo spelling `.mcp.json` `mcpServers` in un blocco `cli`, e il suo errore di avvio nomina `managedMcpServers` come la chiave da usare. Prima di v2.1.259, il gateway rifiutava qualsiasi definizione di server MCP in un blocco `cli`.928Il gateway rifiuta la grafia `mcpServers` di `.mcp.json` in un blocco `cli`, e il suo errore di avvio indica `managedMcpServers` come chiave da usare. Prima di v2.1.259, il gateway rifiutava qualsiasi definizione di server MCP in un blocco `cli`.

814 929 

815<h4 id="claude-desktop-overlay">930<h4 id="claude-desktop-overlay">

816 Claude Desktop overlay931 Overlay di Claude Desktop

817</h4>932</h4>

818 933 

819Se la tua organizzazione distribuisce anche [Claude Desktop](/docs/it/desktop), lo stesso gateway serve entrambi i client. Punta `bootstrapUrl`, nella [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop, a `<listen.public_url>/user/bootstrap`. Claude Desktop deriva l'emittente OAuth da quell'URL, esegue lo stesso accesso con codice dispositivo rispetto a questo gateway e recupera la sua configurazione dalla risposta.934Se la tua organizzazione distribuisce anche [Claude Desktop](/docs/it/desktop), lo stesso gateway serve entrambi i client. Punta `bootstrapUrl`, nella [configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop, a `<listen.public_url>/user/bootstrap`. Claude Desktop deriva l'emittente OAuth da quell'URL, esegue lo stesso accesso con codice dispositivo su questo gateway e recupera la sua configurazione dalla risposta.

820 935 

821<Note>936<Note>

822 Richiede Claude Code v2.1.203 o successivo sul server del gateway e un opt-in esplicito: `/user/bootstrap` restituisce 404 a meno che la policy che corrisponde all'utente non porti una chiave `desktop`. Un `desktop: {}` vuoto opta una policy, e una chiave `desktop` sul livello base `match: {}` opta in ogni policy che la eredita. Il registro di audit registra ogni richiesta come `desktop_bootstrap.serve` o `desktop_bootstrap.denied`.937 Richiede Claude Code v2.1.203 o successivo sul server del gateway e un opt-in esplicito: `/user/bootstrap` restituisce 404 a meno che la policy che corrisponde all'utente non contenga una chiave `desktop`. Un `desktop: {}` vuoto abilita una policy, e una chiave `desktop` sul livello base `match: {}` abilita ogni policy che la eredita. Il log di audit registra ogni richiesta come `desktop_bootstrap.serve` o `desktop_bootstrap.denied`.

823</Note>938</Note>

824 939 

825Il gateway deriva gran parte della risposta dal blocco `cli` della policy corrispondente e dalla configurazione del gateway di primo livello:940Il gateway deriva gran parte della risposta dal blocco `cli` della policy corrispondente e dalla configurazione di primo livello del gateway:

826 941 

827* L'elenco dei modelli, da `availableModels`942* L'elenco dei modelli, da `availableModels`

828* Strumenti disabilitati, da voci `permissions.deny` con nome di strumento nudo. Se imposti `disabledBuiltinTools` nel blocco `desktop` della policy, il gateway serve l'unione del tuo valore e dell'elenco derivato, quindi puoi disabilitare più strumenti in questo modo ma non puoi riabilitarne uno che hai disabilitato tramite `permissions.deny`943* Gli strumenti disabilitati, dalle voci `permissions.deny` con il solo nome dello strumento. Se imposti `disabledBuiltinTools` nel blocco `desktop` della policy, il gateway serve l'unione del tuo valore e dell'elenco derivato, quindi puoi disabilitare più strumenti in questo modo ma non puoi riabilitarne uno che hai disabilitato tramite `permissions.deny`

829* L'allowlist di uscita, da `sandbox.network.allowedDomains`. Se imposti `coworkEgressAllowedHosts` nel blocco `desktop` della policy, il gateway usa quel valore invece dell'elenco derivato944* L'allowlist di uscita, da `sandbox.network.allowedDomains`. Se imposti `coworkEgressAllowedHosts` nel blocco `desktop` della policy, il gateway usa quel valore invece dell'elenco derivato

830* Un endpoint OTLP che punta al gateway stesso, e gli attributi di identità dell'utente firmato. Il gateway inoltra le esportazioni che riceve a quell'endpoint alle tue destinazioni `forward_to`. Include l'endpoint e gli attributi quando imposti sia [`telemetry.forward_to`](#telemetry) che `listen.public_url`.945* Un endpoint OTLP che punta al gateway stesso, e gli attributi di identità dell'utente che ha effettuato l'accesso. Il gateway inoltra le esportazioni che riceve su quell'endpoint alle tue destinazioni `forward_to`. Include l'endpoint e gli attributi quando imposti sia [`telemetry.forward_to`](#telemetry) che `listen.public_url`.

831 946 

832 Claude Desktop esporta ogni segnale con una codifica: `http/protobuf`, o `http/json` quando imposti `OTEL_EXPORTER_OTLP_PROTOCOL` o uno dei suoi varianti per segnale a `http/json` nel `env` della policy. Prima di Claude Code v2.1.261 sul server del gateway, la risposta impostava `http/json` indipendentemente, quindi un collettore che accetta solo protobuf rifiutava le esportazioni di Claude Desktop947 Claude Desktop esporta ogni segnale con un'unica codifica: `http/protobuf`, oppure `http/json` quando imposti `OTEL_EXPORTER_OTLP_PROTOCOL` o una delle sue varianti per segnale a `http/json` nell'`env` della policy. Prima di Claude Code v2.1.261 sul server del gateway, la risposta impostava comunque `http/json`, quindi un collettore che accetta solo protobuf rifiutava le esportazioni di Claude Desktop

833 948 

834Per impostare `disabledBuiltinTools`, `coworkEgressAllowedHosts` o l'impostazione `managedMcpServers` di Claude Desktop stesso nel blocco `desktop` di una policy, hai bisogno di Claude Code v2.1.232 o successivo sul server del gateway. L'impostazione `managedMcpServers` di Claude Desktop accetta un valore di array piuttosto che un oggetto.949Per impostare `disabledBuiltinTools`, `coworkEgressAllowedHosts` o l'impostazione `managedMcpServers` propria di Claude Desktop nel blocco `desktop` di una policy, hai bisogno di Claude Code v2.1.232 o successivo sul server del gateway. L'impostazione `managedMcpServers` di Claude Desktop accetta un valore array anziché un oggetto.

835 950 

836Il gateway omette le chiavi senza equivalente di Claude Desktop, come `hooks` e regole di autorizzazione con ambito come `Bash(npm *)`, dalla risposta di bootstrap.951Il gateway omette dalla risposta di bootstrap le chiavi senza equivalente in Claude Desktop, come `hooks` e le regole di permesso con ambito come `Bash(npm *)`.

837 952 

838Aggiungi il blocco `desktop` facoltativo insieme a `cli` per impostare le impostazioni di Claude Desktop direttamente. Scrivi le impostazioni dal [managed configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop come nomi di chiave piatti. Lascia fuori le chiavi che Claude Desktop legge solo da MDM o file locali, come `bootstrapUrl`; il gateway le rifiuta all'avvio. Prima di v2.1.232, il gateway accettava un elenco fisso di 11 chiavi di feature-gate, come `chatTabEnabled` e `disableAutoUpdates`, e rifiutava ogni altra chiave all'avvio. Prima di v2.1.227, il gateway rifiutava anche `chatTabEnabled` e `chatAdvancedFileAnalysisEnabled` all'avvio.953Aggiungi il blocco facoltativo `desktop` insieme a `cli` per impostare direttamente le impostazioni di Claude Desktop. Scrivi le impostazioni del [riferimento della configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop come nomi di chiave piatti. Escludi le chiavi che Claude Desktop legge solo da MDM o da file locali, come `bootstrapUrl`; il gateway le rifiuta all'avvio. Prima di v2.1.232, il gateway accettava un elenco fisso di 11 chiavi di feature gate, come `chatTabEnabled` e `disableAutoUpdates`, e rifiutava ogni altra chiave all'avvio. Prima di v2.1.227, il gateway rifiutava all'avvio anche `chatTabEnabled` e `chatAdvancedFileAnalysisEnabled`.

839 954 

840```yaml theme={null}955```yaml theme={null}

841managed:956managed:


849 banner: { text: "Contractor build: internal use only" }964 banner: { text: "Contractor build: internal use only" }

850```965```

851 966 

852Ogni chiave è facoltativa; Claude Desktop applica il suo valore predefinito per qualsiasi chiave che ometti. Il gateway convalida ogni blocco `desktop` all'avvio rispetto allo schema di configurazione che Claude Desktop stesso usa, quindi un errore emerge all'avvio del gateway come un errore che nomina la chiave piuttosto che raggiungere ogni desktop connesso. Il gateway fallisce all'avvio quando un blocco contiene:967Ogni chiave è facoltativa; Claude Desktop applica il proprio valore predefinito per qualsiasi chiave che ometti. Il gateway convalida ogni blocco `desktop` all'avvio rispetto allo schema di configurazione che Claude Desktop stesso usa, quindi un errore emerge all'avvio del gateway come un errore che nomina la chiave anziché raggiungere ogni desktop connesso. Il gateway fallisce all'avvio quando un blocco contiene:

853 968 

854* Una chiave sconosciuta969* Una chiave sconosciuta

855* Una chiave riconosciuta il cui valore Claude Desktop rifiuterebbe o lascerebbe cadere silenziosamente, come un valore vuoto o un nome di sub-chiave errato all'interno di una voce annidata. Prima di v2.1.260, il gateway lasciava cadere silenziosamente un campo errato all'interno di un oggetto annidato di una voce `managedMcpServers` o `orgPluginSettings` invece di fallire all'avvio.970* Una chiave riconosciuta il cui valore Claude Desktop rifiuterebbe o scarterebbe silenziosamente, come un valore vuoto o una sotto-chiave scritta in modo errato all'interno di una voce annidata. Prima di v2.1.260, il gateway scartava silenziosamente un campo scritto in modo errato all'interno di un oggetto annidato di una voce `managedMcpServers` o `orgPluginSettings` invece di fallire all'avvio.

856* Una chiave che il gateway calcola da solo: la connessione di inferenza, l'elenco dei modelli e l'inoltro OTLP. Configura quelli attraverso [`upstreams`](#upstreams), [`models`](#models) e la sezione [`telemetry`](#telemetry) `forward_to`.971* Una chiave che il gateway calcola da solo: la connessione di inferenza, l'elenco dei modelli e l'inoltro OTLP. Configurali tramite [`upstreams`](#upstreams), [`models`](#models) e il `forward_to` della sezione [`telemetry`](#telemetry).

857* Un alias legacy di una chiave attuale. Nell'errore di avvio, il gateway nomina la chiave canonica da scrivere.972* Un alias legacy di una chiave attuale. Nell'errore di avvio, il gateway nomina la chiave canonica da scrivere.

858 973 

859Se usi un valore o una forma di voce deprecata, come una voce `managedMcpServers` senza `transport`, il gateway si avvia e registra un avviso che nomina la sostituzione.974Se usi un valore o una forma di voce deprecati, come una voce `managedMcpServers` senza `transport`, il gateway si avvia e registra un avviso che nomina la sostituzione.

860 975 

861Il gateway convalida un blocco `desktop` rispetto allo schema fornito con la sua versione installata, come fa con il blocco `cli`. Per consegnare un'impostazione introdotta da una versione più recente di Claude Desktop, aggiorna il gateway prima. Ad esempio, `userPluginMarketplacesEnabled` e `userPluginUploadsEnabled` hanno bisogno di Claude Code v2.1.260 o successivo sul server del gateway e Claude Desktop 1.37937.0 o successivo sulle macchine dei membri.976Il gateway convalida un blocco `desktop` rispetto allo schema incluso nella sua versione installata, come fa con il blocco `cli`. Per consegnare un'impostazione introdotta da una versione più recente di Claude Desktop, aggiorna prima il gateway. Ad esempio, `userPluginMarketplacesEnabled` e `userPluginUploadsEnabled` hanno bisogno di Claude Code v2.1.260 o successivo sul server del gateway e di Claude Desktop 1.37937.0 o successivo sulle macchine dei membri.

862 977 

863Se imposti `orgPluginSettings` nel blocco `desktop` di una policy, il gateway lo serve nella forma di array che Claude Desktop 1.15200.0 e successivo legge. I desktop più vecchi ignorano l'array e non applicano alcuna policy di strumento plugin, quindi aggiorna i membri a 1.15200.0 o successivo prima di fare affidamento su di esso.978`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` e `sshClientPath` hanno bisogno di Claude Code v2.1.281 o successivo sul server del gateway. Lo stesso vale per il valore `required` di `microsoftAuthBroker` e per il campo `continuousAccessEvaluation` di una voce `managedMcpServers` di Microsoft 365. Le versioni di Claude Desktop precedenti al valore `required` lo leggono come `disabled`, quindi imposta `required` solo dopo che il Claude Desktop di ogni membro lo supporta. Il [riferimento della configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop elenca la versione che per prima legge ciascuna chiave.

864 979 

865Il gateway riempie le chiavi che il blocco `desktop` di una policy non imposta dal blocco `desktop` della catch-all `match: {}`, nello stesso modo in cui riempie il blocco `cli` di una policy dalla base. Se imposti `disabledBuiltinTools` o `builtinToolPolicy` sia nella base che in una policy per ruolo, il gateway mantiene la restrizione della base:980Se imposti `orgPluginSettings` nel blocco `desktop` di una policy, il gateway lo serve nella forma di array che Claude Desktop 1.15200.0 e successivi leggono. I desktop più vecchi ignorano l'array e non applicano alcuna policy sugli strumenti dei plugin, quindi aggiorna i membri a 1.15200.0 o successivo prima di farvi affidamento.

981 

982Il gateway completa le chiavi che il blocco `desktop` di una policy non imposta con quelle del blocco `desktop` del catch-all `match: {}`, nello stesso modo in cui completa il blocco `cli` di una policy dalla base. Se imposti `disabledBuiltinTools` o `builtinToolPolicy` sia nella base che in una policy per ruolo, il gateway mantiene la restrizione della base:

866 983 

867* `disabledBuiltinTools`: il gateway usa l'unione dell'elenco della base e dell'elenco della policy984* `disabledBuiltinTools`: il gateway usa l'unione dell'elenco della base e dell'elenco della policy

868* `builtinToolPolicy`: se imposti uno strumento a un valore diverso da `allow` nella base, il gateway mantiene quel valore anche se imposti `allow` per lo stesso strumento in una policy per ruolo985* `builtinToolPolicy`: se imposti uno strumento a un valore diverso da `allow` nella base, il gateway mantiene quel valore anche se imposti `allow` per lo stesso strumento in una policy per ruolo

869 986 

870Per ogni altra chiave, se la imposti nella policy per ruolo, il gateway usa il valore della policy per ruolo. Il gateway sostituisce un array o un oggetto annidato come `banner` interamente, quindi se imposti `banner.text` in una policy per ruolo, il gateway elimina il `banner.backgroundColor` della base.987Per ogni altra chiave, se la imposti nella policy per ruolo, il gateway usa il valore della policy per ruolo. Il gateway sostituisce per intero un array o un oggetto annidato come `banner`, quindi se imposti `banner.text` in una policy per ruolo, il gateway elimina il `banner.backgroundColor` della base.

871 988 

872Se non distribuisci Claude Desktop, lascia `desktop` completamente fuori dalle tue policy; il gateway restituisce quindi 404 da `/user/bootstrap` per ogni utente.989Se non distribuisci Claude Desktop, lascia `desktop` completamente fuori dalle tue policy; il gateway restituisce quindi 404 da `/user/bootstrap` per ogni utente.

873 990 

874<h4 id="precedence-with-other-managed-sources">991<h4 id="precedence-with-other-managed-sources">

875 Precedence with other managed sources992 Precedenza rispetto ad altre fonti gestite

876</h4>993</h4>

877 994 

878Se un dispositivo ha anche una policy consegnata da MDM o un `managed-settings.json` locale, le impostazioni consegnate dal gateway hanno la priorità. [Precedence within the managed tier](/docs/it/managed-settings#precedence-within-the-managed-tier) sulla pagina delle impostazioni gestite dice quando si applicano le fonti locali, e ha le [chiavi che Claude Code legge da ogni fonte admin](/docs/it/managed-settings#keys-read-from-every-admin-source) indipendentemente da quale fonte ha selezionato, come le chiavi di blocco della sandbox, `forceRemoteSettingsRefresh` e il `env` per variabile. Un [`policyHelper`](/docs/it/settings-reference#policyhelper) configurato in un profilo MDM o nel file delle impostazioni gestite viene eseguito solo quando il gateway non consegna impostazioni; la voce dice cosa sostituisce il suo output.995Se un dispositivo ha anche una policy consegnata tramite MDM o un `managed-settings.json` locale, le impostazioni consegnate dal gateway hanno la precedenza. [Precedenza all'interno del livello gestito](/docs/it/managed-settings#precedence-within-the-managed-tier) nella pagina delle impostazioni gestite indica quando si applicano le fonti locali, e riporta le [chiavi che Claude Code legge da ogni fonte di amministrazione](/docs/it/managed-settings#keys-read-from-every-admin-source) indipendentemente dalla fonte selezionata, come le chiavi di blocco della sandbox, `forceRemoteSettingsRefresh` e il merge di `env` per variabile. Un [`policyHelper`](/docs/it/settings-reference#policyhelper) configurato in un profilo MDM o nel file delle impostazioni gestite viene eseguito solo quando il gateway non consegna impostazioni; la voce indica cosa sostituisce il suo output.

879 996 

880Gli host di incorporamento come [Claude Desktop](/docs/it/desktop) possono fornire policy attraverso l'opzione SDK `managedSettings`. [Parent settings from embedding hosts](/docs/it/managed-settings#parent-settings-from-embedding-hosts) dice quando Claude Code lo applica, e [Restrict parent settings](/docs/it/claude-apps-gateway#restrict-parent-settings) elenca quali impostazioni di direzione di autorizzazione si applicano ancora senza i blocchi `allowManaged*Only`.997Gli host di incorporamento come [Claude Desktop](/docs/it/desktop) possono fornire policy tramite l'opzione SDK `managedSettings`. [Impostazioni padre dagli host di incorporamento](/docs/it/managed-settings#parent-settings-from-embedding-hosts) indica quando Claude Code le applica, e [Limitare le impostazioni padre](/docs/it/claude-apps-gateway#restrict-parent-settings) elenca quali impostazioni in direzione di autorizzazione si applicano comunque senza i blocchi `allowManaged*Only`.

881 998 

882Le policy del gateway si applicano a ogni invocazione di Claude Code sulla macchina, incluse le esecuzioni non interattive `claude -p` e le sessioni generate dall'Agent SDK. Se il gateway non è raggiungibile all'avvio, le sessioni firmate escono con un errore piuttosto che eseguire senza la loro policy.999Le policy del gateway si applicano a ogni invocazione di Claude Code sulla macchina, incluse le esecuzioni non interattive `claude -p` e le sessioni avviate dall'Agent SDK. Se il gateway non è raggiungibile all'avvio, le sessioni con accesso effettuato escono con un errore anziché essere eseguite senza la loro policy.

883 1000 

884<h3 id="telemetry">1001<h3 id="telemetry">

885 `telemetry`1002 `telemetry`

886</h3>1003</h3>

887 1004 

888La CLI invia metriche, log e, quando abilitato, tracce al gateway, che le inoltra verbatim a ogni destinazione configurata. Le esportazioni utilizzano OpenTelemetry Protocol (OTLP) su HTTP. Per saltare l'inoltro e avere sessioni esportate direttamente al tuo collettore, [nomina il collettore in una policy](#export-directly-to-your-collector). Vedi [Monitoring usage](/docs/it/monitoring-usage) per le metriche e gli eventi che la CLI emette.1005La CLI invia metriche, log e, quando abilitate, tracce al gateway, che le inoltra alla lettera a ogni destinazione configurata. Le esportazioni utilizzano OpenTelemetry Protocol (OTLP) su HTTP. Per saltare l'inoltro e far esportare le sessioni direttamente al tuo collettore, [nomina il collettore in una policy](#export-directly-to-your-collector). Vedi [Monitoraggio dell'utilizzo](/docs/it/monitoring-usage) per le metriche e gli eventi che la CLI emette.

889 1006 

890La CLI timbra ogni esportazione con l'identità dell'utente autenticato, letta dal JWT emesso dal gateway: gli attributi `user.id`, `user.email` e `user.groups`. L'attribuzione di costo e utilizzo per sviluppatore funziona quindi senza configurazione lato sviluppatore.1007Nelle sessioni con accesso effettuato tramite `/login`, la CLI contrassegna ogni esportazione con l'identità dell'utente autenticato, letta dal JWT emesso dal gateway: gli attributi `user.id`, `user.email` e `user.groups`. L'attribuzione di costi e utilizzo per sviluppatore funziona quindi senza alcuna configurazione lato sviluppatore.

891 1008 

892[Claude Desktop](#claude-desktop-overlay) e le sessioni Cowork firmate attraverso il gateway timbrano la loro telemetria con `user.email` e `user.groups` insieme a `enduser.id`, quindi puoi coprire l'utilizzo di terminale, Desktop e Cowork con una query su `user.email` o `user.groups`. `user.groups` è l'elenco di gruppi IdP separato da virgole.1009Le sessioni di [Claude Desktop](#claude-desktop-overlay) e Cowork con accesso effettuato tramite il gateway contrassegnano la loro telemetria con `user.email` e `user.groups` insieme a `enduser.id`, quindi puoi coprire l'utilizzo da terminale, Desktop e Cowork con un'unica query su `user.email` o `user.groups`. `user.groups` è l'elenco dei gruppi IdP separati da virgole.

893 1010 

894Desktop e Cowork telemetry portano anche `enduser.sub`, il claim `sub` che il tuo provider di identità emette per l'utente, che rimane lo stesso quando l'email di un utente cambia. Le sessioni di terminale timbrano lo stesso valore sotto `user.id`, quindi una query che corrisponde a `enduser.sub` rispetto al terminale `user.id` copre l'utilizzo di terminale, Desktop e Cowork di un utente insieme. Sulle esportazioni Desktop e Cowork, `user.id` è un identificatore anonimo, non il soggetto.1011La telemetria di Desktop e Cowork contiene anche `enduser.sub`, il claim `sub` che il tuo provider di identità emette per l'utente, che rimane lo stesso quando l'email di un utente cambia. Le sessioni da terminale riportano lo stesso valore sotto `user.id`, quindi una query che confronta `enduser.sub` con `user.id` del terminale copre insieme l'utilizzo da terminale, Desktop e Cowork di un utente. Nelle esportazioni di Desktop e Cowork, `user.id` è un identificatore anonimo, non il soggetto.

895 1012 

896Come tutti i dati OpenTelemetry da Claude Code, questi attributi vanno solo alle destinazioni che la tua organizzazione configura, mai ad Anthropic.1013Come tutti i dati OpenTelemetry di Claude Code, questi attributi vanno solo alle destinazioni che la tua organizzazione configura, mai ad Anthropic.

897 1014 

898Se l'elenco di gruppi di un utente è più lungo di 255 caratteri una volta codificato in percentuale, o un nome di gruppo contiene una virgola o un segno di uguale, il gateway lascia `user.groups` fuori dalla telemetria Desktop e Cowork di quell'utente piuttosto che troncarla. Le sessioni di terminale di quell'utente portano comunque l'elenco completo.1015Se l'elenco dei gruppi di un utente supera i 255 caratteri una volta codificato in percentuale, o un nome di gruppo contiene una virgola o un segno di uguale, il gateway omette `user.groups` dalla telemetria Desktop e Cowork di quell'utente anziché troncarlo. Le sessioni da terminale di quell'utente riportano comunque l'elenco completo.

899 1016 

900Il gateway lascia `enduser.sub` fuori quando il soggetto è più lungo di 255 caratteri una volta codificato in percentuale, o contiene uno spazio, un carattere al di fuori dell'ASCII stampabile, o uno di `,` `;` `=` `\` `"` `%`. La telemetria Desktop e Cowork di quell'utente mantiene i suoi altri attributi.1017Il gateway omette `enduser.sub` quando il soggetto supera i 255 caratteri una volta codificato in percentuale, o contiene uno spazio, un carattere al di fuori dell'ASCII stampabile, o uno tra `,` `;` `=` `\` `"` `%`. La telemetria Desktop e Cowork di quell'utente mantiene i suoi altri attributi.

901 1018 

902Hai bisogno di Claude Code v2.1.265 o successivo sul server del gateway per `user.email` e `user.groups` sulla telemetria Desktop e Cowork, e Claude Desktop 1.24012 o successivo su ogni macchina dello sviluppatore per `user.groups`.1019Hai bisogno di Claude Code v2.1.265 o successivo sul server del gateway per `user.email` e `user.groups` nella telemetria di Desktop e Cowork, e di Claude Desktop 1.24012 o successivo sulla macchina di ogni sviluppatore per `user.groups`.

903 1020 

904Hai bisogno di Claude Code v2.1.274 o successivo sul server del gateway per `enduser.sub`.1021Hai bisogno di Claude Code v2.1.274 o successivo sul server del gateway per `enduser.sub`.

905 1022 


919```1036```

920 1037 

921<Warning>1038<Warning>

922 Ogni destinazione opta in `metrics`, `logs` e `traces` indipendentemente, e il valore predefinito è solo metriche. I segnali differiscono in sensibilità:1039 Ogni destinazione abilita `metrics`, `logs` e `traces` in modo indipendente, e il valore predefinito è solo le metriche. I segnali differiscono per sensibilità:

923 1040 

924 * **Metrics**: contatori aggregati come conteggi di token, conteggi di richieste e latenza1041 * **Metriche**: contatori aggregati come conteggi di token, conteggi di richieste e latenza

925 * **Logs and traces**: possono portare comandi bash completi, input di strumenti e percorsi di file, coprendo tutto ciò che Claude Code fa sulla macchina di uno sviluppatore1042 * **Log e tracce**: possono contenere comandi Bash completi, input degli strumenti e percorsi di file, coprendo tutto ciò che Claude Code fa sulla macchina di uno sviluppatore

926 1043 

927 Abilita log e tracce solo su destinazioni con i controlli di accesso e la policy di conservazione che i dati garantiscono.1044 Abilita log e tracce solo su destinazioni con i controlli di accesso e la policy di conservazione che quei dati richiedono.

928</Warning>1045</Warning>

929 1046 

930Ogni URL `forward_to` deve usare `https://`, con un'eccezione per un collettore sull'interfaccia loopback del gateway stesso:1047Ogni URL `forward_to` deve usare `https://`, con un'eccezione per un collettore sull'interfaccia loopback del gateway stesso:

931 1048 

932* `http://localhost:<port>` passa la convalida della configurazione, ma la [SSRF guard](/docs/it/claude-apps-gateway-deploy#threat-model-summary) blocca ogni esportazione con `ECONNREFUSED_SSRF` a meno che non imposti `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` nell'ambiente del gateway1049* `http://localhost:<port>` supera la convalida della configurazione, ma la [protezione SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) blocca ogni esportazione con `ECONNREFUSED_SSRF` a meno che non imposti `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` nell'ambiente del gateway

933* `http://127.0.0.1:<port>` o `http://[::1]:<port>` fallisce all'avvio a meno che quella variabile non sia impostata1050* `http://127.0.0.1:<port>` o `http://[::1]:<port>` fa fallire l'avvio a meno che quella variabile non sia impostata

934 1051 

935Per un collettore in-cluster, esponilo su HTTPS al suo indirizzo interno, o eseguilo come sidecar con la variabile impostata.1052Per un collettore interno al cluster, esponilo su HTTPS al suo indirizzo interno, o eseguilo come sidecar con la variabile impostata.

936 1053 

937Quando `HTTPS_PROXY` è impostato, il gateway invia le esportazioni attraverso quel proxy.1054Quando `HTTPS_PROXY` è impostato, il gateway invia le esportazioni attraverso quel proxy.

938 1055 

939Per raggiungere un collettore interno direttamente, aggiungilo a `NO_PROXY` per nome host o per un dominio con un punto iniziale come `.internal.example.com`, che richiede Claude Code v2.1.277 o successivo sul server del gateway. Assicurati che il gateway possa raggiungere il collettore senza il proxy. Una voce senza un punto iniziale corrisponde solo a quel nome esatto, non ai nomi sotto di esso. Gli intervalli CIDR non corrispondono.1056Per raggiungere direttamente un collettore interno, aggiungilo a `NO_PROXY` per nome host o per un dominio con un punto iniziale come `.internal.example.com`, il che richiede Claude Code v2.1.277 o successivo sul server del gateway. Assicurati che il gateway possa raggiungere il collettore senza il proxy. Una voce senza punto iniziale corrisponde solo a quel nome esatto, non ai nomi sotto di esso. Gli intervalli CIDR non corrispondono.

940 1057 

941Con [proxy-only egress](#proxy-only-egress) attivato, consenti il collettore nel proxy invece, poiché qualsiasi voce `NO_PROXY` mantiene l'uscita solo proxy disattivata.1058Con l'[uscita solo tramite proxy](#proxy-only-egress) attivata, consenti invece il collettore nel proxy, poiché qualsiasi voce `NO_PROXY` mantiene disattivata l'uscita solo tramite proxy.

942 1059 

943La telemetria è disattivata nella CLI per impostazione predefinita. Quando imposti sia `telemetry.forward_to` che `listen.public_url`, il gateway la attiva per i client connessi spingendo sei variabili di ambiente attraverso `/managed/settings`:1060La telemetria è disattivata nella CLI per impostazione predefinita. Quando imposti sia `telemetry.forward_to` che `listen.public_url`, il gateway la attiva per i client connessi inviando sei variabili d'ambiente tramite `/managed/settings`:

944 1061 

945* `CLAUDE_CODE_ENABLE_TELEMETRY=1`1062* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

946* `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER` e `OTEL_TRACES_EXPORTER`, ognuno impostato a `otlp` se almeno una destinazione `forward_to` abilita quel segnale e a `none` altrimenti1063* `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER` e `OTEL_TRACES_EXPORTER`, ognuna impostata a `otlp` se almeno una destinazione `forward_to` abilita quel segnale e a `none` altrimenti

947* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`1064* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

948* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`1065* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

949 1066 

950Quando aggiungi le tue etichette personalizzate]\(#add-your-own-labels), il gateway spinge anche `OTEL_RESOURCE_ATTRIBUTES`.1067Quando [aggiungi le tue etichette](#add-your-own-labels), il gateway invia anche `OTEL_RESOURCE_ATTRIBUTES`.

951 1068 

952Prima di Claude Code v2.1.265 sul server del gateway, il gateway spingeva tutti e tre i selettori di esportazione come `otlp`, incluso per i segnali che nessuna destinazione ha optato.1069Prima di Claude Code v2.1.265 sul server del gateway, il gateway inviava tutti e tre i selettori di esportazione come `otlp`, anche per i segnali che nessuna destinazione aveva abilitato.

953 1070 

954L'endpoint spinto è costruito dall'URL pubblico, quindi metriche e log non hanno bisogno di configurazione OTEL da sviluppatori o policy.1071L'endpoint inviato è costruito dall'URL pubblico, quindi metriche e log non hanno bisogno di configurazione OTEL da parte di sviluppatori o policy.

955 1072 

956Gli sviluppatori firmati attraverso `/login` non possono reindirizzare le esportazioni con la loro configurazione OTEL:1073Gli sviluppatori che hanno effettuato l'accesso tramite `/login` non possono reindirizzare le esportazioni con la propria configurazione OTEL:

957 1074 

958* **Variabili impostate localmente**: Claude Code applica le variabili spinte al livello gestito, quindi ognuna sostituisce il valore che uno sviluppatore imposta per essa localmente.1075* **Variabili impostate localmente**: Claude Code applica le variabili inviate al livello gestito, quindi ognuna sovrascrive il valore che uno sviluppatore imposta localmente per essa.

959* **Endpoint configurati localmente**: con l'esportazione OTLP/HTTP abilitata, la CLI ignora qualsiasi endpoint configurato localmente, indipendentemente dal fatto che il gateway abbia spinto le variabili di telemetria. Le sue esportazioni vanno al gateway a meno che una policy non [nomini il tuo collettore come endpoint](#export-directly-to-your-collector).1076* **Endpoint configurati localmente**: con l'esportazione OTLP/HTTP abilitata, la CLI ignora qualsiasi endpoint configurato localmente, indipendentemente dal fatto che il gateway abbia inviato le variabili di telemetria. Le sue esportazioni vanno al gateway a meno che una policy non [nomini il tuo collettore come endpoint](#export-directly-to-your-collector).

960 1077 

961Senza una destinazione `forward_to` per un segnale, il gateway lo accetta e lo scarta. Se gli sviluppatori già esportano telemetria di Claude Code a uno dei tuoi collettori, aggiungilo come destinazione `forward_to`, con log o tracce abilitate se esportano quelli, in modo che continui a ricevere i loro dati dopo che si firmano. Per saltare l'inoltro invece, [nomina il collettore in una policy](#export-directly-to-your-collector).1078Senza una destinazione `forward_to` per un segnale, il gateway lo accetta e lo scarta. Se gli sviluppatori esportano già la telemetria di Claude Code a uno dei tuoi collettori, aggiungilo come destinazione `forward_to`, con log o tracce abilitati se esportano anche quelli, in modo che continui a ricevere i loro dati dopo che hanno effettuato l'accesso. Per saltare invece l'inoltro, [nomina il collettore in una policy](#export-directly-to-your-collector).

962 1079 

963[Traces](/docs/it/monitoring-usage#traces-beta) richiedono anche `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` su ogni client. Impostalo nel blocco `env` di una policy gestita, poiché il gateway non lo spinge. Gli sviluppatori lo approvano nella stessa [security approval dialog](#managed) che l'endpoint spinto già attiva.1080Le [tracce](/docs/it/monitoring-usage#traces-beta) richiedono anche `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` su ogni client. Impostala nel blocco `env` di una policy gestita, poiché il gateway non la invia. Gli sviluppatori la approvano nella stessa [finestra di dialogo di approvazione di sicurezza](#managed) che l'endpoint inviato già attiva.

964 1081 

965Impostalo a `1` solo nelle policy i cui gruppi vuoi tracciati. Una policy che non lo imposta eredita il valore dalla tua policy catch-all `match: {}` se quella policy ne imposta uno, per le [merge rules](#managed). Per impedire ai client di un gruppo di inviare tracce anche quando uno sviluppatore imposta la variabile localmente, impostala a `0` nella policy di quel gruppo.1082Impostala a `1` solo nelle policy i cui gruppi vuoi tracciare. Una policy che non la imposta eredita il valore dalla tua policy catch-all `match: {}` se quella policy ne imposta uno, secondo le [regole di merge](#managed). Per impedire ai client di un gruppo di inviare tracce anche quando uno sviluppatore imposta la variabile localmente, impostala a `0` nella policy di quel gruppo.

966 1083 

967Sia la codifica protobuf che JSON OTLP vengono inoltrate, e qualsiasi backend compatibile con OpenTelemetry funziona come destinazione.1084Vengono inoltrate sia la codifica OTLP protobuf che quella JSON, e qualsiasi backend compatibile con OpenTelemetry funziona come destinazione.

968 1085 

969<h4 id="add-your-own-labels">1086<h4 id="add-your-own-labels">

970 Add your own labels1087 Aggiungi le tue etichette

971</h4>1088</h4>

972 1089 

973Per mettere etichette fisse come `service.namespace` o `deployment.environment.name` sulla telemetria delle sessioni firmate attraverso il gateway, imposta `telemetry.resource_attributes`. Ogni etichetta è un attributo di risorsa OpenTelemetry, e ogni destinazione riceve le stesse etichette.1090Per applicare etichette fisse come `service.namespace` o `deployment.environment.name` alla telemetria delle sessioni con accesso effettuato tramite il gateway, imposta `telemetry.resource_attributes`. Ogni etichetta è un attributo di risorsa OpenTelemetry, e ogni destinazione riceve le stesse etichette.

974 1091 

975Le sessioni ottengono le etichette solo quando imposti anche `telemetry.forward_to` e `listen.public_url`. Questo esempio aggiunge due etichette:1092Le sessioni ottengono le etichette solo quando imposti anche `telemetry.forward_to` e `listen.public_url`. Questo esempio aggiunge due etichette:

976 1093 


983 deployment.environment.name: prod1100 deployment.environment.name: prod

984```1101```

985 1102 

986Il gateway rifiuta di avviarsi quando un'etichetta infrange una di queste regole, e l'errore di avvio nomina l'etichetta:1103Il gateway rifiuta di avviarsi quando un'etichetta viola una di queste regole, e l'errore di avvio nomina l'etichetta:

987 1104 

988* I nomi usano solo lettere, cifre, `.`, `_` e `-`1105* I nomi usano solo lettere, cifre, `.`, `_` e `-`

989* I nomi non sono riservati. Confrontati in qualsiasi maiuscola, i nomi riservati sono tutto ciò che inizia con `user.`, `enduser.` o `identity.`, più `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version` e `wsl.version`1106* I nomi non sono riservati. Confrontati senza distinzione tra maiuscole e minuscole, i nomi riservati sono tutti quelli che iniziano con `user.`, `enduser.` o `identity.`, più `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version` e `wsl.version`

990* I valori sono ASCII stampabile non vuoto senza spazio e nessuno di `, ; = \ " %`1107* I valori sono ASCII stampabile non vuoto, senza spazi e senza nessuno tra `, ; = \ " %`

991* I valori sono al massimo 255 caratteri come il gateway li conta dopo la codifica percentuale, quindi `/`, `:` e `@` contano ciascuno come tre1108* I valori sono lunghi al massimo 255 caratteri secondo il conteggio del gateway dopo la codifica in percentuale, quindi `/`, `:` e `@` contano ciascuno come tre

992* I valori sono testo, quindi cita un numero, `true` o `false`1109* I valori sono testo, quindi metti tra virgolette un numero, `true` o `false`

993 1110 

994Hai bisogno di Claude Code v2.1.281 o successivo sul server del gateway per impostare `telemetry.resource_attributes`. Un gateway precedente rifiuta di avviarsi quando trova la chiave. Aggiorna ogni replica prima di aggiungere la chiave, e rimuovi la chiave prima di eseguire il rollback a una versione precedente.1111Hai bisogno di Claude Code v2.1.281 o successivo sul server del gateway per impostare `telemetry.resource_attributes`. Un gateway precedente rifiuta di avviarsi quando trova la chiave. Aggiorna ogni replica prima di aggiungere la chiave, e rimuovi la chiave prima di eseguire il rollback a una versione precedente.

995 1112 

996Le sessioni di terminale firmate attraverso `/login` ricevono le etichette come `OTEL_RESOURCE_ATTRIBUTES`, spinte con le altre [telemetry variables](#telemetry). Se imposti `OTEL_RESOURCE_ATTRIBUTES` nel blocco `env` di una policy, le sessioni di terminale che quella policy corrisponde ottengono quel valore invece delle etichette. Claude Desktop riceve le etichette dal gateway insieme a `user.email` e agli altri attributi di identità.1113Le sessioni da terminale con accesso effettuato tramite `/login` ricevono le etichette come `OTEL_RESOURCE_ATTRIBUTES`, inviata insieme alle altre [variabili di telemetria](#telemetry). Se imposti `OTEL_RESOURCE_ATTRIBUTES` nel blocco `env` di una policy, le sessioni da terminale a cui quella policy corrisponde ottengono quel valore invece delle etichette. Claude Desktop riceve le etichette dal gateway insieme a `user.email` e agli altri attributi di identità.

997 1114 

998Claude Code copia anche ogni etichetta su ogni punto dati metrico, quindi puoi filtrare le metriche per essa in un backend che non indicizza gli attributi di risorsa. Per disattivare quella copia, vedi [Metrics cardinality control](/docs/it/monitoring-usage#metrics-cardinality-control).1115Claude Code copia anche ogni etichetta su ogni punto dati delle metriche, quindi puoi filtrare le metriche in base a essa in un backend che non indicizza gli attributi di risorsa. Per disattivare quella copia, vedi [Controllo della cardinalità delle metriche](/docs/it/monitoring-usage#metrics-cardinality-control).

999 1116 

1000<h4 id="export-directly-to-your-collector">1117<h4 id="export-directly-to-your-collector">

1001 Export directly to your collector1118 Esporta direttamente al tuo collettore

1002</h4>1119</h4>

1003 1120 

1004Per avere sessioni firmate attraverso `/login` inviare telemetria direttamente al tuo collettore invece che attraverso l'inoltro, imposta `OTEL_EXPORTER_OTLP_ENDPOINT` all'URL base `https://` del collettore nel blocco `env` di una [managed policy](#managed). Claude Code aggiunge `/v1/metrics`, `/v1/logs` o `/v1/traces` all'URL che imposti, come `https://otel-collector.example.com:4318`, ed esporta ogni segnale lì su OTLP/HTTP. Richiede Claude Code v2.1.265 o successivo su ogni macchina dello sviluppatore. I client precedenti esportano attraverso l'inoltro.1121Per far sì che le sessioni con accesso effettuato tramite `/login` inviino la telemetria direttamente al tuo collettore anziché attraverso l'inoltro, imposta `OTEL_EXPORTER_OTLP_ENDPOINT` sull'URL base `https://` del collettore nel blocco `env` di una [policy gestita](#managed). Claude Code aggiunge `/v1/metrics`, `/v1/logs` o `/v1/traces` all'URL che imposti, come `https://otel-collector.example.com:4318`, ed esporta lì ogni segnale su OTLP/HTTP. Richiede Claude Code v2.1.265 o successivo sulla macchina di ogni sviluppatore. I client precedenti esportano attraverso l'inoltro.

1005 1122 

1006Per autenticarti al collettore, imposta `OTEL_EXPORTER_OTLP_HEADERS` nello stesso blocco `env`. Le sessioni non inviano mai il token di sessione del gateway dello sviluppatore a un collettore nominato in questo modo.1123Per autenticarti al collettore, imposta `OTEL_EXPORTER_OTLP_HEADERS` nello stesso blocco `env`. Le sessioni non inviano mai il token di sessione del gateway dello sviluppatore a un collettore nominato in questo modo.

1007 1124 

1008Quando aggiungi o cambi questo endpoint in una policy, Claude Code chiede a ogni sviluppatore di approvarlo nella [security approval dialog](#managed) prima di applicarlo in una sessione interattiva.1125Quando aggiungi o modifichi questo endpoint in una policy, Claude Code chiede a ogni sviluppatore di approvarlo nella [finestra di dialogo di approvazione di sicurezza](#managed) prima di applicarlo in una sessione interattiva.

1009 1126 

1010Claude Code controlla l'endpoint prima di esportare un segnale direttamente, e mantiene quel segnale sull'inoltro quando un controllo fallisce. I controlli includono:1127Claude Code controlla l'endpoint prima di esportare direttamente un segnale, e mantiene quel segnale sull'inoltro quando un controllo fallisce. I controlli includono:

1011 1128 

1012* L'endpoint viene dal gateway stesso. Se imposti la stessa variabile in un profilo MDM o in un `managed-settings.json` locale, le esportazioni rimangono sull'inoltro.1129* L'endpoint proviene dal gateway stesso. Se imposti la stessa variabile in un profilo MDM o in un `managed-settings.json` locale, le esportazioni rimangono sull'inoltro.

1013* L'URL usa `https://`, o `http://` a un indirizzo loopback1130* L'URL usa `https://`, oppure `http://` verso un indirizzo loopback

1014* L'URL si risolve in un percorso che termina in `/v1/<signal>`, senza query o frammento. Claude Code costruisce quel percorso da solo dalla variabile generica. Usa una variabile per segnale come `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` come scritto, quindi includi il percorso completo lì.1131* L'URL si risolve in un percorso che termina con `/v1/<signal>`, senza query né frammento. Claude Code costruisce da solo quel percorso a partire dalla variabile generica. Usa una variabile per segnale come `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` così come è scritta, quindi lì includi il percorso completo.

1015* L'URL non è l'host del gateway stesso. Un endpoint indirizzato al gateway mantiene il percorso di inoltro e il suo token di sessione.1132* L'URL non è l'host del gateway stesso. Un endpoint indirizzato al gateway mantiene il percorso di inoltro e il suo token di sessione.

1016* Né tu né lo sviluppatore avete configurato [`otelHeadersHelper`](/docs/it/settings-reference#otelheadershelper) in nessuna fonte di impostazioni. Con un helper configurato, ogni segnale rimane sull'inoltro.1133* Né tu né lo sviluppatore avete configurato [`otelHeadersHelper`](/docs/it/settings-reference#otelheadershelper) in alcuna fonte di impostazioni. Con un helper configurato, ogni segnale rimane sull'inoltro.

1017 1134 

1018L'endpoint che nomini cambia solo dove vanno le esportazioni. Scegli comunque quali segnali esportare affatto con i selettori `OTEL_*_EXPORTER`.1135L'endpoint che nomini cambia solo la destinazione delle esportazioni. Scegli comunque quali segnali esportare con i selettori `OTEL_*_EXPORTER`.

1019 1136 

1020L'endpoint da solo non attiva l'esportazione, quindi imposta anche le variabili che lo fanno, a meno che il gateway non le spinga già:1137L'endpoint da solo non attiva l'esportazione, quindi imposta anche le variabili che lo fanno, a meno che il gateway non le invii già:

1021 1138 

1022* Se il gateway già [spinge le variabili di telemetria](#telemetry), coprono l'abilitazione, i selettori e il protocollo, e il tuo endpoint esplicito sostituisce il valore `<public_url>` spinto. Imposta un selettore `OTEL_*_EXPORTER` a `otlp` tu stesso solo per un segnale che nessuna destinazione `forward_to` abilita.1139* Se il gateway [invia già le variabili di telemetria](#telemetry), queste coprono l'abilitazione, i selettori e il protocollo, e il tuo endpoint esplicito sovrascrive il valore `<public_url>` inviato. Imposta tu stesso un selettore `OTEL_*_EXPORTER` a `otlp` solo per un segnale che nessuna destinazione `forward_to` abilita.

1023* Se non lo fa, imposta anche `CLAUDE_CODE_ENABLE_TELEMETRY=1`, i selettori `OTEL_*_EXPORTER` e `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.1140* Se non lo fa, imposta anche `CLAUDE_CODE_ENABLE_TELEMETRY=1`, i selettori `OTEL_*_EXPORTER` e `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.

1024 1141 

1025Quando lo sviluppatore si firma, o si firma a un gateway diverso, le esportazioni al collettore si fermano e Claude Code elimina ogni batch rimanente piuttosto che inviarlo.1142Quando lo sviluppatore esce, o accede a un gateway diverso, le esportazioni al collettore si interrompono e Claude Code scarta ogni batch rimanente anziché inviarlo.

1026 1143 

1027<h4 id="when-a-destination-fails">1144<h4 id="when-a-destination-fails">

1028 When a destination fails1145 Quando una destinazione fallisce

1029</h4>1146</h4>

1030 1147 

1031Il gateway non bufferizza, ritenta o archivia telemetria, quindi elimina un'esportazione che non raggiunge una destinazione piuttosto che consegnarla in ritardo. Ogni destinazione ha successo o fallisce da sola, e il client che esporta riceve una risposta di successo comunque, quindi una consegna fallita appare solo nel log del gateway.1148Il gateway non bufferizza, non riprova e non archivia la telemetria, quindi scarta un'esportazione che non raggiunge una destinazione anziché consegnarla in ritardo. Ogni destinazione riesce o fallisce per conto proprio, e il client che esporta riceve comunque una risposta di successo, quindi una consegna fallita appare solo nel log del gateway.

1032 1149 

1033Dopo cinque consegne consecutive fallite a una destinazione, il gateway pausa l'inoltro a essa in tratti di 30 secondi, registrando ogni pausa, fino a quando una consegna ha successo. Qualsiasi risposta di errore, timeout o errore di connessione conta come una consegna fallita, tranne `400`, `413`, `415`, `422` e `431`, che significano che il collettore ha rifiutato il payload di quell'esportazione come malformato o troppo grande.1150Dopo cinque consegne consecutive fallite a una destinazione, il gateway sospende l'inoltro verso di essa per intervalli di 30 secondi, registrando ogni pausa, finché una consegna non riesce. Qualsiasi risposta di errore, timeout o errore di connessione conta come consegna fallita, tranne `400`, `413`, `415`, `422` e `431`, che indicano che il collettore ha rifiutato il payload di quell'esportazione perché malformato o troppo grande.

1034 1151 

1035Un payload rifiutato non avanza né ripristina il conteggio dei fallimenti: il gateway continua a inoltrare alla destinazione e registra un avviso che la nomina e lo stato, al primo rifiuto della destinazione e ogni centesimo dopo.1152Un payload rifiutato non fa avanzare né azzera il conteggio dei fallimenti: il gateway continua a inoltrare alla destinazione e registra un avviso che la nomina insieme allo stato, al primo rifiuto della destinazione e poi ogni cento.

1036 1153 

1037<h3 id="http-tuning">1154<h3 id="http-tuning">

1038 HTTP tuning1155 Ottimizzazione HTTP

1039</h3>1156</h3>

1040 1157 

1041Quattro blocchi facoltativi di primo livello, `access_control`, `limits`, `timeouts` e `rate_limits`, sintonizzano la superficie HTTP. I valori predefiniti si adattano alla maggior parte delle distribuzioni.1158Quattro blocchi facoltativi di primo livello, `access_control`, `limits`, `timeouts` e `rate_limits`, regolano la superficie HTTP. I valori predefiniti sono adatti alla maggior parte dei deploy.

1042 1159 

1043| Blocco | Chiave | Predefinito | Descrizione |1160| Blocco | Chiave | Predefinito | Descrizione |

1044| - | - | - | - |1161| - | - | - | - |

1045| `access_control` | `allow_cidrs` / `deny_cidrs` | vuoto | Inbound IP allow/deny per indirizzo client, dopo la risoluzione di `trusted_proxies`. `deny_cidrs` viene controllato per primo; un client che corrisponde viene rifiutato anche se `allow_cidrs` corrisponde anche. Se `allow_cidrs` è non vuoto il gateway è default-deny. `/healthz` e `/readyz` sono esenti da `allow_cidrs`. Quando un proxy attendibile invia una voce `X-Forwarded-For` che non è un indirizzo IP, il client reale è sconosciuto e il gateway registra un avviso una volta nominando cosa controllare. Dove uno dei due elenchi si applica alla richiesta, la rifiuta con `403` e motivo di audit `xff_unparseable`. Dove nessuno dei due lo fa, serve la richiesta e usa l'indirizzo del proxy stesso come IP client per i limiti di velocità per IP e audit. |1162| `access_control` | `allow_cidrs` / `deny_cidrs` | vuoto | Consenso/negazione degli IP in entrata per indirizzo client, dopo la risoluzione di `trusted_proxies`. `deny_cidrs` viene controllato per primo; un client a cui corrisponde viene rifiutato anche se corrisponde anche `allow_cidrs`. Se `allow_cidrs` non è vuoto, il gateway nega per impostazione predefinita. `/healthz` e `/readyz` sono esenti da `allow_cidrs`. Quando un proxy attendibile invia una voce `X-Forwarded-For` che non è un indirizzo IP, il client reale è sconosciuto e il gateway registra una sola volta un avviso che indica cosa controllare. Dove uno dei due elenchi si applica alla richiesta, la rifiuta con `403` e motivo di audit `xff_unparseable`. Dove nessuno dei due si applica, serve la richiesta e usa l'indirizzo del proxy stesso come IP del client per i rate limit per IP e per l'audit. |

1046| `limits` | `max_request_bytes` | 32 MiB | Max corpo della richiesta in entrata; le richieste di dimensioni eccessive ottengono `413` prima che il corpo sia bufferizzato. Aumenta per richieste di file o immagini di grandi dimensioni. |1163| `limits` | `max_request_bytes` | 32 MiB | Dimensione massima del corpo della richiesta in entrata; le richieste troppo grandi ottengono `413` prima che il corpo venga bufferizzato. Aumentalo per richieste con file o immagini di grandi dimensioni. |

1047| `limits` | `max_request_header_bytes` | non impostato | Quando impostato, le intestazioni di dimensioni eccessive restituiscono `431` |1164| `limits` | `max_request_header_bytes` | non impostato | Quando impostato, le intestazioni troppo grandi restituiscono `431` |

1048| `limits` | `max_url_length` | non impostato | Quando impostato, un URL troppo lungo restituisce `414` |1165| `limits` | `max_url_length` | non impostato | Quando impostato, un URL troppo lungo restituisce `414` |

1049| `timeouts` | `upstream_ttfb_ms` | 120000 | Max attesa per le intestazioni di risposta dell'upstream (tempo al primo byte). Il corpo della risposta quindi scorre senza cap di wall-clock. Si applica al percorso upstream diretto di Anthropic; su ogni altro provider il gateway attende fino a un'ora affinché la risposta inizi. |1166| `timeouts` | `upstream_ttfb_ms` | 120000 | Attesa massima per le intestazioni di risposta dell'upstream (tempo al primo byte). Il corpo della risposta viene poi trasmesso in streaming senza limite di tempo complessivo. Si applica al percorso upstream diretto di Anthropic; con ogni altro provider il gateway attende fino a un'ora che la risposta inizi. |

1050| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite di velocità per IP sull'endpoint di autorizzazione del dispositivo non autenticato. Aumenta per una grande organizzazione dietro un IP di uscita condiviso o NAT. [Large rollouts](/docs/it/claude-apps-gateway-deploy#large-rollouts) mostra come dimensionarlo. Questi limiti si applicano solo al flusso di accesso con concessione del dispositivo, non all'inferenza `/v1/messages`. Vedi [User-code brute-force resistance](/docs/it/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1167| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit per IP sull'endpoint non autenticato di autorizzazione del dispositivo. Aumentalo per una grande organizzazione dietro un IP di uscita condiviso o NAT. [Distribuzioni su larga scala](/docs/it/claude-apps-gateway-deploy#large-rollouts) mostra come dimensionarlo. Questi limiti si applicano solo al flusso di accesso con concessione del dispositivo, non all'inferenza su `/v1/messages`. Vedi [Resistenza al brute force dei codici utente](/docs/it/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

1051| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite di velocità per IP su invii di `user_code` su `/device`. È quello che impedisce a qualcuno di indovinare il codice di un altro sviluppatore. [Large rollouts](/docs/it/claude-apps-gateway-deploy#large-rollouts) mostra quanto aumentarlo. |1168| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit per IP sugli invii di `user_code` su `/device`. È ciò che impedisce a qualcuno di indovinare il codice di un altro sviluppatore. [Distribuzioni su larga scala](/docs/it/claude-apps-gateway-deploy#large-rollouts) mostra di quanto aumentarlo. |

1052 1169 

1053Se lasci entrambi gli elenchi `access_control` vuoti, che è il valore predefinito, il gateway serve qualsiasi indirizzo client, quindi solo la tua rete limita chi può raggiungerlo. Questo è importante perché un gateway può spingere [impostazioni gestite](#managed) che eseguono comandi sulle macchine degli sviluppatori.1170Se lasci vuoti entrambi gli elenchi `access_control`, che è il valore predefinito, il gateway serve qualsiasi indirizzo client, quindi solo la tua rete limita chi può raggiungerlo. Questo è importante perché un gateway può inviare [impostazioni gestite](#managed) che eseguono comandi sulle macchine degli sviluppatori.

1054 1171 

1055Mentre `allow_cidrs` è vuoto, il gateway avverte in due posti, senza cambiare come risponde a nessuna richiesta:1172Mentre `allow_cidrs` è vuoto, il gateway avverte in due punti, senza cambiare il modo in cui risponde alle richieste:

1056 1173 

1057* **All'avvio**: un avviso nel log operativo consiglia di consentire solo gli intervalli privati `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` e `fc00::/7`, più qualsiasi altro intervallo interno da cui i tuoi sviluppatori si connettono. Se leghi il gateway a un indirizzo loopback e non imposti né `trusted_proxies` né `public_url`, come nello sviluppo locale, l'avviso non appare.1174* **All'avvio**: un avviso nel log operativo consiglia di consentire solo gli intervalli privati `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` e `fc00::/7`, più qualsiasi altro intervallo interno da cui si connettono i tuoi sviluppatori. Se associ il gateway a un indirizzo loopback e non imposti né `trusted_proxies` né `public_url`, come nello sviluppo locale, l'avviso non appare.

1058* **A runtime**: la prima volta che una richiesta arriva da un indirizzo al di fuori di quegli intervalli privati, il gateway registra un avviso e emette un evento di audit [`access.public_client`](/docs/it/claude-apps-gateway-deploy#logs) che porta l'IP client. Entrambi si attivano una volta per processo. Gli indirizzi link-local, `169.254.0.0/16` e `fe80::/10`, non contano come pubblici. Il gateway risponde a `/healthz` e `/readyz` prima che questo controllo venga eseguito, quindi i probe di salute da intervalli pubblici non lo attivano.1175* **In fase di esecuzione**: la prima volta che una richiesta arriva da un indirizzo al di fuori di quegli intervalli privati, il gateway registra un avviso ed emette un [evento di audit `access.public_client`](/docs/it/claude-apps-gateway-deploy#logs) contenente l'IP del client. Entrambi si attivano una volta per processo. Gli indirizzi link-local, `169.254.0.0/16` e `fe80::/10`, non contano come pubblici. Il gateway risponde a `/healthz` e `/readyz` prima che questo controllo venga eseguito, quindi i probe di salute da intervalli pubblici non lo attivano.

1059 1176 

1060Entrambi i segnali usano l'indirizzo client come il gateway lo risolve. Se un load balancer, port-forward o tunnel inoltra il traffico e non è elencato in `listen.trusted_proxies`, il gateway vede l'indirizzo del relay, che di solito è privato, quindi né l'avviso a runtime né un elenco di autorizzazione privato lo cattura.1177Entrambi i segnali usano l'indirizzo del client così come il gateway lo risolve. Se un load balancer, un port-forward o un tunnel inoltra il traffico e non è elencato in `listen.trusted_proxies`, il gateway vede l'indirizzo dell'intermediario, che di solito è privato, quindi né l'avviso in fase di esecuzione né un'allowlist privata intercettano il traffico inoltrato attraverso di esso.

1061 1178 

1062Dietro un tale front end, imposta [`listen.trusted_proxies`](#listen) per primo in modo che il gateway veda gli indirizzi client reali, e mantieni il gateway e tutto davanti ad esso irraggiungibile da internet pubblico indipendentemente.1179Dietro un front end di questo tipo, imposta prima [`listen.trusted_proxies`](#listen) in modo che il gateway veda gli indirizzi reali dei client, e in ogni caso mantieni il gateway e tutto ciò che si trova davanti a esso irraggiungibili dalla rete internet pubblica.

1063 1180 

1064<h3 id="load_test_mode">1181<h3 id="load_test_mode">

1065 `load_test_mode`1182 `load_test_mode`

1066</h3>1183</h3>

1067 1184 

1068Il blocco `load_test_mode` ti consente di testare il carico di un gateway senza chiamare un provider di modelli. Mentre è attivo, il gateway costruisce e firma ogni richiesta del provider come al solito, la scarta invece di inviarla, e trasmette una risposta in scatola attraverso il suo percorso di risposta normale. La risposta è testo di riempimento che inizia con una frase che dice che è in scatola.1185Il blocco `load_test_mode` ti consente di eseguire un test di carico su un gateway senza chiamare un provider di modelli. Mentre è attivo, il gateway costruisce e firma ogni richiesta al provider come di consueto, la scarta invece di inviarla e trasmette in streaming una risposta preconfezionata attraverso il suo normale percorso di risposta. La risposta è testo di riempimento che inizia con una frase che dichiara che è preconfezionata.

1069 1186 

1070Richiede Claude Code v2.1.282 o successivo sul server del gateway. Una versione precedente rifiuta di avviarsi quando trova la chiave. Aggiorna ogni replica prima di aggiungere il blocco, e rimuovi il blocco prima di eseguire il rollback.1187Richiede Claude Code v2.1.282 o successivo sul server del gateway. Un gateway precedente rifiuta di avviarsi quando trova la chiave. Aggiorna ogni replica prima di aggiungere il blocco, e rimuovi il blocco prima di eseguire il rollback.

1071 1188 

1072L'esempio seguente attiva la modalità con i valori predefiniti, una risposta di circa 750 token di testo trasmessi in circa 10 secondi:1189L'esempio seguente attiva la modalità con i valori predefiniti, una risposta di circa 750 token di testo trasmessa in streaming in circa 10 secondi:

1073 1190 

1074```yaml theme={null}1191```yaml theme={null}

1075load_test_mode:1192load_test_mode:


1080 1197 

1081| Campo | Obbligatorio | Descrizione |1198| Campo | Obbligatorio | Descrizione |

1082| - | - | - |1199| - | - | - |

1083| `enabled` | Sì | `true` attiva la modalità. `false` mantiene i tuoi numeri nel file con la modalità disattivata. Il gateway rifiuta di avviarsi se il blocco è presente senza di esso. |1200| `enabled` | Sì | `true` attiva la modalità. `false` mantiene i tuoi valori nel file con la modalità disattivata. Il gateway rifiuta di avviarsi se il blocco è presente senza di esso. |

1084| `reply_tokens` | No | Predefinito `750`. Approssimativamente quanti token di testo ogni risposta in scatola porta, un numero intero da 1 a 100000. |1201| `reply_tokens` | No | Predefinito `750`. Circa quanti token di testo contiene ogni risposta preconfezionata, un numero intero da 1 a 100000. |

1085| `reply_seconds` | No | Predefinito `9.5`. Quanto tempo impiega una risposta trasmessa, da 0 a 600. `0` invia l'intera risposta in una volta. Una risposta a una richiesta non trasmessa torna sempre in una volta. |1202| `reply_seconds` | No | Predefinito `9.5`. Quanto dura una risposta in streaming, da 0 a 600. `0` invia l'intera risposta in una volta. La risposta a una richiesta non in streaming torna sempre in una volta. |

1086 1203 

1087Un test di carico in questa modalità copre il gateway, il tuo Postgres e tutto davanti al gateway. Non copre i limiti, la velocità o il percorso di rete del provider.1204Un test di carico in questa modalità copre il gateway, il tuo Postgres e tutto ciò che si trova davanti al gateway. Non copre i limiti, la velocità o il percorso di rete del provider.

1088 1205 

1089Nessuna richiesta di modello viene inviata al provider, quindi la CPU di una replica per richiesta è una stima e legge inferiore alla produzione, che crittografa anche il suo traffico al provider. Conferma un conteggio di replica con un piccolo pilota rispetto al provider reale. Prima di v2.1.283, la stima legge molto più bassa.1206Nessuna richiesta di modello viene inviata al provider, quindi la CPU per richiesta di una replica è una stima e risulta inferiore a quella di produzione, dove la replica cifra anche il traffico verso il provider. Conferma il numero di repliche con un piccolo pilota sul provider reale. Prima di v2.1.283, la stima risulta molto più bassa.

1090 1207 

1091Mentre la modalità è attiva, una richiesta può portare un header `x-load-test-user` che contiene un numero intero di fino a sette cifre. Il gateway conta ogni numero come uno sviluppatore separato, con l'email e i gruppi dello sviluppatore il cui token è venuto con la richiesta.1208Mentre la modalità è attiva, una richiesta può contenere un'intestazione `x-load-test-user` con un numero intero di al massimo sette cifre. Il gateway conta ogni numero come uno sviluppatore separato, con l'email e i gruppi dello sviluppatore il cui token accompagnava la richiesta.

1092 1209 

1093Dai alla distribuzione del test di carico il suo database vuoto, perché il gateway rifiuta di avviarsi con la modalità attiva rispetto a un database in cui uno sviluppatore ha già speso qualcosa.1210Assegna al deploy del test di carico un database vuoto dedicato, perché il gateway rifiuta di avviarsi con la modalità attiva su un database in cui uno sviluppatore abbia già speso qualcosa.

1094 1211 

1095<Warning>1212<Warning>

1096 Non attivare mai questo per un gateway che gli sviluppatori usano. Ogni richiesta ottiene la risposta in scatola e nessun modello viene chiamato. Il gateway registra un avviso `load_test_mode is on` all'avvio e contrassegna ogni evento di audit [`inference`](/docs/it/claude-apps-gateway-deploy#logs) con `load_test: true` mentre la modalità è attiva.1213 Non attivarla mai su un gateway usato dagli sviluppatori. Ogni richiesta ottiene la risposta preconfezionata e nessun modello viene chiamato. Il gateway registra un avviso `load_test_mode is on` all'avvio e contrassegna ogni [evento di audit](/docs/it/claude-apps-gateway-deploy#logs) `inference` con `load_test: true` mentre la modalità è attiva.

1097</Warning>1214</Warning>

1098 1215 

1099<h2 id="complete-example">1216<h2 id="complete-example">

1100 Esempio completo1217 Esempio completo

1101</h2>1218</h2>

1102 1219 

1103Questo config di riferimento completo esercita ogni sezione principale; i blocchi di [sintonizzazione HTTP](#http-tuning) mantengono i loro valori predefiniti. Copiatelo, eliminate ciò che non vi serve e riempite i vostri valori. La configurazione nella [Guida rapida](/docs/it/claude-apps-gateway#quickstart) è una versione minima di questa.1220Questo config di riferimento completo esercita ogni sezione principale; i blocchi di [sintonizzazione HTTP](#http-tuning) mantengono i loro valori predefiniti. Copialo, elimina ciò che non ti serve e inserisci i tuoi valori. La configurazione nella [Guida rapida](/docs/it/claude-apps-gateway#quickstart) è una versione minima di questa.

1104 1221 

1105```yaml gateway.yaml theme={null}1222```yaml gateway.yaml theme={null}

1106# Run with:1223# Run with:


1148 postgres_url: ${GATEWAY_POSTGRES_URL}1265 postgres_url: ${GATEWAY_POSTGRES_URL}

1149 # max_connections: 51266 # max_connections: 5

1150 # connect_timeout_seconds: 51267 # connect_timeout_seconds: 5

1268 # readiness_grace_seconds: 300 # keep passing the readiness check through a database failover

1151 1269 

1152# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)1270# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)

1153# and per-developer spend enforcement on /v1/messages. Omit to disable.1271# and per-developer spend enforcement on /v1/messages. Omit to disable.


1255 Impostazioni gestite lato client1373 Impostazioni gestite lato client

1256</h2>1374</h2>

1257 1375 

1258Tutto quanto sopra configura il server gateway. Puntate le macchine degli sviluppatori al gateway separatamente, su ogni dispositivo, attraverso le [impostazioni gestite](/docs/it/managed-settings) di Claude Code. Il gateway non può inviare le chiavi di accesso stesso, perché sono loro che indicano al client dove si trova il gateway.1376Tutto quanto sopra configura il server gateway. Punta le macchine degli sviluppatori al gateway separatamente, su ogni dispositivo, attraverso le [impostazioni gestite](/docs/it/managed-settings) di Claude Code. Il gateway non può inviare da solo le chiavi di accesso, perché sono proprio loro a indicare al client dove si trova il gateway.

1259 1377 

1260Per la CLI, impostate queste chiavi nel file `managed-settings.json` per ogni sistema operativo. Le due chiavi di accesso instradano il `/login` di ogni sviluppatore al vostro gateway:1378Per la CLI, imposta queste chiavi nel file `managed-settings.json` di ogni sistema operativo. Le due chiavi di accesso instradano il `/login` di ogni sviluppatore al tuo gateway:

1261 1379 

1262```json theme={null}1380```json theme={null}

1263{1381{


1267}1385}

1268```1386```

1269 1387 

1270`parentSettingsBehavior: "merge"` mantiene il funzionamento della consegna della lista di egress di Claude Desktop alle sue sessioni Claude Code incorporate; [Deliver policy to Claude Desktop sessions](/docs/it/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) spiega il meccanismo e dove deve trovarsi l'opt-in.1388`parentSettingsBehavior: "merge"` mantiene funzionante la consegna dell'allowlist di egress da parte di Claude Desktop alle sue sessioni Claude Code incorporate; [Deliver policy to Claude Desktop sessions](/docs/it/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) spiega il meccanismo e dove deve trovarsi l'opt-in.

1389 

1390Per impedire agli sviluppatori di aggirare il gateway con una variabile di un provider cloud o con un proprio `ANTHROPIC_BASE_URL`, aggiungi `"allowedProviders": ["gateway"]` allo stesso file. Claude Code rifiuta quindi ogni sessione sulla macchina che non sia configurata per un Cloud gateway, e ammette un gateway solo quando è quello indicato da `forceLoginGatewayUrl` oppure uno il cui URL è impostato come `ANTHROPIC_BASE_URL` nel blocco `env` del file. `claude gateway` si rifiuta di essere eseguito su una macchina che imposta l'elenco, quindi non inserire la chiave sull'host del gateway. Consulta la voce [`allowedProviders`](/docs/it/settings-reference#allowedproviders) nel riferimento delle impostazioni. Richiede Claude Code v2.1.285 o successivo.

1391 

1392Distribuisci il file `managed-settings.json` a ogni dispositivo, tipicamente tramite la tua piattaforma MDM. Il percorso del file differisce per piattaforma. Consulta [dove ogni meccanismo memorizza la policy](/docs/it/managed-settings#where-each-mechanism-stores-the-policy).

1271 1393 

1272Distribuite il file `managed-settings.json` a ogni dispositivo, tipicamente tramite la vostra piattaforma MDM. Il percorso del file differisce per piattaforma. Consultate [dove ogni meccanismo memorizza la policy](/docs/it/managed-settings#where-each-mechanism-stores-the-policy).1394Per impostazione predefinita, una policy del registro su Windows o un plist di preferenze gestite su macOS sostituisce il file `managed-settings.json` anziché farne il merge, ad eccezione delle [chiavi di eccezione e dei controlli tra fonti descritti sopra](#precedence-with-other-managed-sources). Tutte e tre le chiavi in questo frammento seguono la regola della fonte con priorità più alta, quindi le flotte che distribuiscono la policy tramite Group Policy o profili di configurazione devono inserirle tutte e tre in quel meccanismo.

1273 1395 

1274Per impostazione predefinita, una policy del registro su Windows o un plist di preferenze gestite su macOS sostituisce il file `managed-settings.json` piuttosto che unirsi ad esso, ad eccezione delle [chiavi di eccezione e dei controlli tra fonti sopra](#precedence-with-other-managed-sources). Tutte e tre le chiavi in questo frammento seguono la regola della fonte con priorità più alta, quindi i fleet che distribuiscono la policy tramite Group Policy o profili di configurazione devono inserire tutte e tre in quel meccanismo invece.1396Per Claude Desktop, imposta la chiave `bootstrapUrl` nella [configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop su `<listen.public_url>/user/bootstrap`. Il flusso di accesso e la policy per gruppo corrispondono quindi a quelli della CLI una volta che una policy si attiva lato server con una chiave `desktop`; senza l'opt-in, `/user/bootstrap` restituisce 404. Consulta [Claude Desktop overlay](#claude-desktop-overlay) per la metà lato server.

1275 1397 

1276Per Claude Desktop, impostate la chiave `bootstrapUrl` nella propria [configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop su `<listen.public_url>/user/bootstrap`. Il flusso di accesso e la policy per gruppo corrispondono quindi a quelli della CLI una volta che una policy si attiva lato server con una chiave `desktop`; senza l'opt-in, `/user/bootstrap` restituisce 404. Consultate [Claude Desktop overlay](#claude-desktop-overlay) per la metà lato server.1398Claude Code rispetta [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/it/settings-reference#gatewayinternalnetworks) e il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) solo da una fonte gestita sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, oppure un policy helper. Impostarli nel `~/.claude/settings.json` personale di uno sviluppatore o nel payload del gateway non configura l'accesso tramite gateway.

1277 1399 

1278Claude Code rispetta [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/it/settings-reference#gatewayinternalnetworks), e il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) solo da una fonte gestita sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, o un policy helper. Uno sviluppatore che li imposta nel proprio `~/.claude/settings.json` non ha alcun effetto, e nemmeno impostarli nel payload del gateway.1400Lascia `forceLoginMethod` e `forceLoginOrgUUID` fuori dal payload. Claude Code legge comunque entrambe le chiavi dal payload per il controllo delle credenziali all'avvio, quindi uno sviluppatore che mantiene sulla macchina una credenziale emessa da Anthropic incorre nell'uscita all'avvio descritta in [La policy dell'amministratore richiede un accesso tramite Cloud gateway](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in) anche dopo aver effettuato l'accesso.

1279 1401 

1280<h2 id="related">1402<h2 id="related">

1281 Correlati1403 Correlati

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# Distribuire il gateway delle app Claude su Google Cloud5# Fare il deploy del gateway delle app Claude su Google Cloud

6 6 

7> Un esempio pratico di esecuzione del gateway delle app Claude su Google Cloud: Cloud Run o GKE, Cloud SQL per PostgreSQL, Secret Manager e autenticazione tramite account di servizio verso Agent Platform di Google Cloud.7> Un esempio pratico di esecuzione del gateway delle app Claude su Google Cloud: Cloud Run o GKE, Cloud SQL per PostgreSQL, Secret Manager e autenticazione tramite account di servizio verso Agent Platform di Google Cloud.

8 8 


20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramma del gateway delle app Claude su Google Cloud: i client Claude Code si connettono tramite HTTPS al gateway (Cloud Run o GKE), che viene eseguito all'interno di un VPC insieme a un database Cloud SQL con IP privato per lo stato della sessione. Il gateway accede agli utenti tramite OIDC rispetto a Google Workspace, legge la configurazione e i segreti da Secret Manager, inoltra le richieste del modello ad Agent Platform e estrae la sua immagine da Artifact Registry al momento della distribuzione." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramma del gateway delle app Claude su Google Cloud: i client Claude Code si connettono tramite HTTPS al gateway (Cloud Run o GKE), che viene eseguito all'interno di un VPC insieme a un database Cloud SQL con IP privato per lo stato della sessione. Il gateway accede agli utenti tramite OIDC rispetto a Google Workspace, legge la configurazione e i segreti da Secret Manager, inoltra le richieste del modello ad Agent Platform e estrae la sua immagine da Artifact Registry al momento della distribuzione." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>21</Frame>

22 22 

23La configurazione di riferimento esegue il provisioning di:23Il deploy è composto da:

24 24 

25* Servizio **Cloud Run** o Deployment **GKE** che esegue il contenitore del gateway25* Servizio **Cloud Run** o Deployment **GKE** che esegue il contenitore del gateway

26* Repository **Artifact Registry** per l'immagine del gateway26* Repository **Artifact Registry** per l'immagine del gateway

27* Istanza **Cloud SQL per PostgreSQL**, solo IP privato, per lo [store](/docs/it/claude-apps-gateway-config#store) del gateway27* Istanza **Cloud SQL per PostgreSQL**, solo IP privato, per lo [store](/docs/it/claude-apps-gateway-config#store) del gateway

28* Segreti **Secret Manager** per `gateway.yaml`, la chiave di firma JWT, il segreto client OIDC e l'URL Postgres28* Segreti **Secret Manager** per `gateway.yaml`, la chiave di firma JWT, il segreto client OIDC e l'URL Postgres

29* **Account di servizio** con `roles/aiplatform.user`, allegato direttamente su Cloud Run o associato tramite Workload Identity su GKE29* **Account di servizio** con `roles/aiplatform.user`, allegato direttamente su Cloud Run o associato tramite Workload Identity su GKE

30* **Internal Application Load Balancer** su Cloud Run, o un **GKE Ingress** interno di classe `gce-internal` su GKE, per HTTPS30* **Front end HTTPS** fornito da te: un Internal Application Load Balancer davanti a Cloud Run, per il quale questa guida configura il gateway ma che non crea, oppure un **GKE Ingress** interno di classe `gce-internal` su GKE

31 31 

32<h2 id="prerequisites">32<h2 id="prerequisites">

33 Prerequisiti33 Prerequisiti


143 <Step title="Scrivere gateway.yaml">143 <Step title="Scrivere gateway.yaml">

144 Il blocco `upstreams` punta ad Agent Platform con `auth: {}`, quindi il gateway si autentica tramite Application Default Credentials dall'account di servizio del runtime. Consultate il [riferimento di configurazione](/docs/it/claude-apps-gateway-config) per ogni campo.144 Il blocco `upstreams` punta ad Agent Platform con `auth: {}`, quindi il gateway si autentica tramite Application Default Credentials dall'account di servizio del runtime. Consultate il [riferimento di configurazione](/docs/it/claude-apps-gateway-config) per ogni campo.

145 145 

146 Due campi `listen` dipendono da cosa si trova davanti al gateway:146 Due campi `listen` descrivono cosa si trova davanti al gateway:

147 147 

148 * `public_url`: richiesto dietro Cloud Run o un GKE Ingress. Il gateway costruisce l'`redirect_uri` dell'IdP e il suo documento di discovery solo da questo valore, mai da intestazioni `X-Forwarded-*`.148 * `public_url`: l'origine `https://` esterna, richiesta per qualsiasi bind non loopback; consulta il [riferimento di `listen`](/docs/it/claude-apps-gateway-config#listen). Il gateway costruisce il `redirect_uri` dell'IdP e il suo documento di discovery solo da questo valore, mai da intestazioni `X-Forwarded-*`.

149 * `trusted_proxies`: gli intervalli di origine del front end. Il gateway onora `X-Forwarded-For` solo quando il peer TCP è in questo elenco, quindi percorre la catena oltre i hop affidabili, in modo che i limiti di velocità di accesso per IP e gli eventi di audit registrino gli IP degli sviluppatori invece di quello del load balancer.149 * `trusted_proxies`: gli intervalli di origine del front end. Il gateway onora `X-Forwarded-For` solo quando il peer TCP è in questo elenco, quindi percorre la catena oltre gli hop affidabili, in modo che i rate limit di accesso per IP e gli eventi di audit registrino gli IP degli sviluppatori invece di quello del load balancer.

150 150 

151 Impostate `trusted_proxies` in modo che corrisponda al vostro front end. Un GKE Ingress esterno di classe `gce` non è elencato: esegue il provisioning di un indirizzo di regola di inoltro pubblico, che il controllo [rete privata](/docs/it/claude-apps-gateway#prerequisites) di `/login` rifiuta.151 Impostate `trusted_proxies` in modo che corrisponda al vostro front end. Un GKE Ingress esterno di classe `gce` non è elencato: esegue il provisioning di un indirizzo di regola di inoltro pubblico, che il controllo [rete privata](/docs/it/claude-apps-gateway#prerequisites) di `/login` rifiuta.

152 152 


179 179 

180 store:180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 # readiness_grace_seconds: 300 # keep passing the readiness probe

183 # through a Cloud SQL failover

182 184 

183 upstreams:185 upstreams:

184 - provider: vertex186 - provider: vertex


219 --region="$REGION" \221 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \222 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \223 --min-instances=1 \

224 --max-instances=8 \

222 --timeout=3600 \225 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \226 --ingress=internal \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \227 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \228 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check229 --no-invoker-iam-check

227 ```230 ```

228 231 

229 L'uscita VPC diretta, tramite `--network`, `--subnet` e `--vpc-egress=private-ranges-only`, consente al servizio di raggiungere direttamente l'IP privato di Cloud SQL. L'uscita pubblica verso gli endpoint di Agent Platform e `accounts.google.com` va direttamente a Internet piuttosto che attraverso il VPC, quindi non è necessario Cloud NAT.232 L'uscita VPC diretta, tramite `--network`, `--subnet` e `--vpc-egress=private-ranges-only`, consente al servizio di raggiungere direttamente l'IP privato di Cloud SQL. Ogni istanza mantiene fino a [`store.max_connections`](/docs/it/claude-apps-gateway-config#store) connessioni Postgres, cinque per impostazione predefinita, quindi mantieni il numero massimo di istanze × `store.max_connections` al di sotto del limite di connessioni del tuo tier Cloud SQL; per questo motivo gli [asset di riferimento](#terraform-reference) limitano le istanze a 8 per il tier `db-g1-small`. L'uscita pubblica verso gli endpoint di Agent Platform di Google Cloud e `accounts.google.com` va direttamente a Internet anziché attraverso il VPC, quindi non è necessario Cloud NAT.

230 233 

231 Il controllo IAM dell'invoker deve essere aperto o disabilitato. Il gateway esegue il proprio OIDC e i suoi client non portano alcun token GCP, quindi il controllo dell'invoker di Cloud Run deve ammettere richieste non autenticate. Il gateway autentica la richiesta una volta che raggiunge il contenitore con OIDC, con `allowed_email_domains` che controlla quali domini possono accedere.234 Il controllo IAM dell'invoker deve essere aperto o disabilitato. Il gateway esegue il proprio OIDC e i suoi client non portano alcun token GCP, quindi il controllo dell'invoker di Cloud Run deve ammettere richieste non autenticate. Il gateway autentica la richiesta una volta che raggiunge il contenitore con OIDC, con `allowed_email_domains` che controlla quali domini possono accedere.

232 235 


239 242 

240 Per impostazione predefinita, l'URL `*.run.app` di Cloud Run si risolve in un indirizzo pubblico, che il controllo [rete privata](/docs/it/claude-apps-gateway#prerequisites) di `/login` rifiuta. Due topologie forniscono agli sviluppatori un nome host risolvibile privatamente e Cloud Run non ne esegue il provisioning per voi:243 Per impostazione predefinita, l'URL `*.run.app` di Cloud Run si risolve in un indirizzo pubblico, che il controllo [rete privata](/docs/it/claude-apps-gateway#prerequisites) di `/login` rifiuta. Due topologie forniscono agli sviluppatori un nome host risolvibile privatamente e Cloud Run non ne esegue il provisioning per voi:

241 244 

242 * **Internal Application Load Balancer**, la topologia che il comando di distribuzione sopra presuppone: distribuire con `--ingress=internal-and-cloud-load-balancing`, eseguire il provisioning di un Internal Application Load Balancer davanti al servizio con un nome DNS interno e un certificato, e impostare `listen.public_url` su quel nome host.245 * **Internal Application Load Balancer**, la topologia che il `gateway.yaml` di questa pagina presuppone: esegui il provisioning di un Internal Application Load Balancer davanti al servizio con un nome DNS interno e un certificato, e imposta `listen.public_url` su quel nome host. L'impostazione di ingresso `internal` ammette già il traffico dagli Internal Application Load Balancer; `internal-and-cloud-load-balancing` ammette inoltre gli External Application Load Balancer, i cui indirizzi pubblici vengono rifiutati dal controllo di rete privata di `/login`, quindi nessuna topologia di questa pagina ne ha bisogno.

243 * **Ingresso solo interno senza load balancer**: distribuire con `--ingress=internal` e lasciare `listen.public_url` come URL `*.run.app`, l'impostazione predefinita negli [asset di riferimento](#terraform-reference) di seguito. Affinché `*.run.app` si risolva privatamente, il vostro team di rete deve già operare un endpoint Private Service Connect per le API di Google, una zona privata Cloud DNS che risolve `*.run.app` ad esso e il routing on-premises a quell'endpoint.246 * **Ingresso solo interno senza load balancer**: mantieni il comando di deploy così com'è e lascia `listen.public_url` come URL `*.run.app`, l'impostazione predefinita negli [asset di riferimento](#terraform-reference) di seguito. Affinché `*.run.app` si risolva privatamente, il tuo team di rete deve già gestire un endpoint Private Service Connect per le API di Google, una zona privata Cloud DNS che risolve `*.run.app` verso di esso e il routing on-premises verso quell'endpoint.

244 247 

245 La [guida alla rete privata di Google per Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) copre l'infrastruttura di cui entrambe le opzioni hanno bisogno. Verificate l'accesso una volta che il gateway è in servizio su un nome host privato; fino ad allora, confermate che il contenitore si è avviato dai suoi log in Cloud Run.248 La [guida alla rete privata di Google per Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) copre l'infrastruttura di cui entrambe le opzioni hanno bisogno. Verificate l'accesso una volta che il gateway è in servizio su un nome host privato; fino ad allora, confermate che il contenitore si è avviato dai suoi log in Cloud Run.

246 249 


288 </Step>291 </Step>

289 292 

290 <Step title="Inviare l'URL del gateway alle macchine degli sviluppatori">293 <Step title="Inviare l'URL del gateway alle macchine degli sviluppatori">

291 Il gateway è ora in esecuzione, ma gli sviluppatori non possono raggiungerlo da `/login` fino a quando l'URL del gateway non è sulle loro macchine. Impostate `forceLoginMethod` e `forceLoginGatewayUrl` nel [file di impostazioni gestite](/docs/it/claude-apps-gateway#set-the-gateway-url) che distribuite a ogni dispositivo tramite MDM. Non c'è alcuna opzione di gateway nel selettore di accesso per uno sviluppatore da selezionare manualmente.294 Il gateway è ora in esecuzione, ma gli sviluppatori non possono raggiungerlo da `/login` finché l'URL del gateway non è sulle loro macchine. Distribuisci a ogni dispositivo tramite MDM lo [snippet completo delle impostazioni gestite](/docs/it/claude-apps-gateway#set-the-gateway-url), con `forceLoginMethod`, `forceLoginGatewayUrl` e l'opzione `parentSettingsBehavior: "merge"`. Non c'è alcuna opzione di gateway nel selettore di accesso che uno sviluppatore possa selezionare manualmente.

292 </Step>295 </Step>

293</Steps>296</Steps>

294 297 


302* `terraform/`: la stessa distribuzione come infrastruttura come codice, per una distribuzione greenfield: un apply mirato per creare il repository Artifact Registry, quindi compilare e inviare l'immagine, quindi un apply completo305* `terraform/`: la stessa distribuzione come infrastruttura come codice, per una distribuzione greenfield: un apply mirato per creare il repository Artifact Registry, quindi compilare e inviare l'immagine, quindi un apply completo

303* `gateway.yaml.example` e un `Dockerfile` per l'immagine di runtime distroless306* `gateway.yaml.example` e un `Dockerfile` per l'immagine di runtime distroless

304 307 

305Gli artefatti impostano per impostazione predefinita l'ingresso di Cloud Run su `internal`, quindi non è richiesto alcun load balancer. Per corrispondere alla distribuzione di produzione dietro un ALB di questa pagina, eseguite `setup.sh` con `INGRESS=internal-and-cloud-load-balancing`, o impostate la variabile Terraform `ingress` su `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Gli artefatti impostano anche per impostazione predefinita il livello dell'invoker su una concessione `run.invoker` `allUsers` piuttosto che `--no-invoker-iam-check`, l'inverso della procedura dettagliata di questa pagina; entrambi funzionano e la scelta dipende dai vincoli di policy della vostra organizzazione.308Gli artefatti impostano per impostazione predefinita l'ingresso di Cloud Run su `internal`, in linea con il comando di deploy di questa pagina; questa impostazione funziona con o senza un Application Load Balancer interno davanti al servizio, e nemmeno gli artefatti creano il load balancer. Gli artefatti impostano anche per impostazione predefinita il livello dell'invoker su una concessione `run.invoker` `allUsers` piuttosto che `--no-invoker-iam-check`, l'inverso della procedura dettagliata di questa pagina; entrambi funzionano e la scelta dipende dai vincoli di policy della tua organizzazione.

306 309 

307Gli asset sono forniti come esempi funzionanti, non come artefatto di produzione supportato; esaminate e adattate al vostro ambiente.310Gli asset sono forniti come esempi funzionanti, non come artefatto di produzione supportato; esaminate e adattate al vostro ambiente.

308 311 


317| Cloud Run restituisce `403 Forbidden` prima di raggiungere il contenitore | Il controllo IAM dell'invoker è ancora abilitato | Distribuite con `--no-invoker-iam-check`, o concedete a `allUsers` il ruolo `run.invoker` con `--allow-unauthenticated` |320| Cloud Run restituisce `403 Forbidden` prima di raggiungere il contenitore | Il controllo IAM dell'invoker è ancora abilitato | Distribuite con `--no-invoker-iam-check`, o concedete a `allUsers` il ruolo `run.invoker` con `--allow-unauthenticated` |

318| `--no-invoker-iam-check` rifiutato con `invoker_iam_disabled is not currently available` | Bloccato da `constraints/run.managed.requireInvokerIam` | Utilizzate `--allow-unauthenticated`. Se Domain Restricted Sharing tramite `constraints/iam.allowedPolicyMemberDomains` blocca anche quello, utilizzate il percorso GKE, che espone il gateway a livello di rete senza alcun binding `allUsers`. |321| `--no-invoker-iam-check` rifiutato con `invoker_iam_disabled is not currently available` | Bloccato da `constraints/run.managed.requireInvokerIam` | Utilizzate `--allow-unauthenticated`. Se Domain Restricted Sharing tramite `constraints/iam.allowedPolicyMemberDomains` blocca anche quello, utilizzate il percorso GKE, che espone il gateway a livello di rete senza alcun binding `allUsers`. |

319| `Container manifest type … must support amd64/linux` al momento della distribuzione | L'immagine è stata compilata su un host non amd64, o buildx ha emesso un indice di immagine OCI | Compilate con `--platform=linux/amd64 --provenance=false` |322| `Container manifest type … must support amd64/linux` al momento della distribuzione | L'immagine è stata compilata su un host non amd64, o buildx ha emesso un indice di immagine OCI | Compilate con `--platform=linux/amd64 --provenance=false` |

320| L'avvio del gateway esce con un errore di timeout della connessione Postgres su Cloud Run | Il servizio non è allegato al VPC, o Cloud SQL non ha IP privato su quel VPC; lo store smette di aspettare dopo 5 secondi | Distribuite con `--network` e `--subnet` per l'uscita VPC diretta e create l'istanza Cloud SQL con `--no-assign-ip` e `--network` che punta allo stesso VPC |323| L'avvio del gateway esce con un errore di timeout della connessione Postgres su Cloud Run | Il servizio non è allegato al VPC, o Cloud SQL non ha IP privato su quel VPC | Distribuisci con `--network` e `--subnet` per l'uscita VPC diretta e crea l'istanza Cloud SQL con `--no-assign-ip` e `--network` che punta allo stesso VPC |

321| Le richieste di Agent Platform restituiscono `403 PERMISSION_DENIED` | Il runtime non utilizza l'account di servizio `claude-gateway`, o il modello non è abilitato in Model Garden per il progetto | Impostate `--service-account` su Cloud Run o associate Workload Identity su GKE e abilitate ogni modello Claude in Model Garden per la regione di destinazione |324| Le richieste di Agent Platform restituiscono `403 PERMISSION_DENIED` | Il runtime non utilizza l'account di servizio `claude-gateway`, o il modello non è abilitato in Model Garden per il progetto | Impostate `--service-account` su Cloud Run o associate Workload Identity su GKE e abilitate ogni modello Claude in Model Garden per la regione di destinazione |

322| Le risposte di streaming si interrompono dopo una durata fissa | Timeout della richiesta del front end: il servizio backend del load balancer dietro GKE Ingress ha un timeout predefinito di 30 secondi e Cloud Run di 300 secondi | Allegate un BackendConfig con un `timeoutSec` elevato su GKE, o distribuite con `--timeout=3600` su Cloud Run |325| Le risposte di streaming si interrompono dopo una durata fissa | Timeout della richiesta del front end: il servizio backend del load balancer dietro GKE Ingress ha un timeout predefinito di 30 secondi e Cloud Run di 300 secondi | Allegate un BackendConfig con un `timeoutSec` elevato su GKE, o distribuite con `--timeout=3600` su Cloud Run |

323 326 

cli-reference.md +15 −7

Details

26| `claude install [version]` | Installa o reinstalla il binario nativo. Accetta una versione come `2.1.118`, oppure `stable` o `latest`. Vedi [Installa una versione specifica](/docs/it/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installa o reinstalla il binario nativo. Accetta una versione come `2.1.118`, oppure `stable` o `latest`. Vedi [Installa una versione specifica](/docs/it/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Accedi al tuo account Anthropic. Usa `--email` per pre-compilare il tuo indirizzo email, `--sso` per forzare l'autenticazione SSO e `--console` per accedere con Anthropic Console per la fatturazione dell'utilizzo dell'API invece di un abbonamento Claude | `claude auth login --console` |27| `claude auth login` | Accedi al tuo account Anthropic. Usa `--email` per pre-compilare il tuo indirizzo email, `--sso` per forzare l'autenticazione SSO e `--console` per accedere con Anthropic Console per la fatturazione dell'utilizzo dell'API invece di un abbonamento Claude | `claude auth login --console` |

28| `claude auth logout` | Esci dal tuo account Anthropic | `claude auth logout` |28| `claude auth logout` | Esci dal tuo account Anthropic | `claude auth logout` |

29| `claude auth status` | Mostra lo stato di autenticazione come JSON. Usa `--text` per output leggibile dall'uomo. Esce con codice 0 se connesso, 1 se no. Il JSON include un campo `configDirectory` che nomina la [directory di configurazione](/docs/it/claude-directory) che la CLI utilizza. Il campo richiede Claude Code v2.1.268 o successivo | `claude auth status` |29| `claude auth status` | Mostra lo stato di autenticazione come JSON. Usa `--text` per output leggibile dall'uomo. Esce con codice 0 se connesso, 1 se no. Il JSON include un campo `configDirectory` che nomina la [directory di configurazione](/docs/it/claude-directory) che la CLI utilizza. Il campo richiede Claude Code v2.1.268 o successivo. Il campo `authMethod` del JSON è uno tra `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` o `third_party` | `claude auth status` |

30| `claude agents` | Apri la [visualizzazione agente](/docs/it/agent-view) per monitorare e inviare sessioni parallele in background. Usa `--cwd <path>` per mostrare solo le sessioni avviate in quella directory, oppure `--json` per stampare le sessioni attive come un array JSON per gli script (`--json --all` include anche le sessioni in background completate). Passa `--permission-mode`, `--model`, `--effort` o `--agent` per impostare i [valori predefiniti per le sessioni inviate](/docs/it/agent-view#permission-mode-model-and-effort). Accetta `--settings`, `--add-dir`, `--plugin-dir` e `--mcp-config` come il comando `claude` di livello superiore. L'apertura della visualizzazione agente richiede un terminale interattivo | `claude agents --json` |30| `claude agents` | Apri la [visualizzazione agente](/docs/it/agent-view) per monitorare e inviare sessioni parallele in background. Usa `--cwd <path>` per mostrare solo le sessioni avviate in quella directory, oppure `--json` per stampare le sessioni attive come un array JSON per gli script (`--json --all` include anche le sessioni in background completate). Passa `--permission-mode`, `--model`, `--effort` o `--agent` per impostare i [valori predefiniti per le sessioni inviate](/docs/it/agent-view#permission-mode-model-and-effort). Accetta `--settings`, `--add-dir`, `--plugin-dir` e `--mcp-config` come il comando `claude` di livello superiore. L'apertura della visualizzazione agente richiede un terminale interattivo | `claude agents --json` |

31| `claude attach <id>` | Collegati a una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) in questo terminale | `claude attach 7c5dcf5d` |31| `claude attach <id>` | Collegati a una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) in questo terminale | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Stampa le regole del classificatore [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) integrate come JSON. Usa `claude auto-mode config` per visualizzare la tua configurazione effettiva con le impostazioni applicate. `--label <prefix>` stampa solo le regole la cui etichetta inizia con quel prefisso, con corrispondenza case-insensitive. Richiede Claude Code v2.1.208 o successivo | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Stampa le regole del classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) integrate come JSON. Usa `claude auto-mode config` per visualizzare la tua configurazione effettiva con le impostazioni applicate. `--label <prefix>` stampa solo le regole la cui etichetta inizia con quel prefisso, con corrispondenza case-insensitive. Richiede Claude Code v2.1.208 o successivo | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | Ripristina la configurazione predefinita di [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) rimuovendo la sezione `autoMode` dal file di impostazioni dell'utente. Richiede conferma prima di scrivere; passa `-y`/`--yes` per saltare il prompt. Le regole dalle [impostazioni gestite](/docs/it/server-managed-settings) o dal flag `--settings` si applicano comunque. Richiede Claude Code v2.1.212 o successivo. Vedi [Ispeziona i valori predefiniti e la tua configurazione effettiva](/docs/it/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | Ripristina la configurazione predefinita della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) rimuovendo la sezione `autoMode` dal file di impostazioni dell'utente. Richiede conferma prima di scrivere; passa `-y`/`--yes` per saltare il prompt. Le regole dalle [impostazioni gestite](/docs/it/server-managed-settings) o dal flag `--settings` si applicano comunque. Richiede Claude Code v2.1.212 o successivo. Vedi [Ispeziona i valori predefiniti e la tua configurazione effettiva](/docs/it/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon status` | Stampa lo stato del [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background, versione, directory socket e numero di worker per la diagnostica. Esce con 1 se il supervisore non è in esecuzione | `claude daemon status` |34| `claude daemon status` | Stampa lo stato del [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background, versione, directory socket e numero di worker per la diagnostica. Esce con 1 se il supervisore non è in esecuzione | `claude daemon status` |

35| `claude daemon stop --any` | Interrompi il [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background e le sessioni che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. `--any` conferma l'interruzione di un supervisore su richiesta, che è l'impostazione predefinita. Usa questo per recuperare da un [supervisore che non risponde](/docs/it/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |35| `claude daemon stop --any` | Interrompi il [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background e le sessioni che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. `--any` conferma l'interruzione di un supervisore su richiesta, che è l'impostazione predefinita. Usa questo per recuperare da un [supervisore che non risponde](/docs/it/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

36| `claude doctor` | Stampa diagnostica di installazione e impostazioni di sola lettura dal terminale senza avviare una sessione, inclusa la salute dell'installazione, errori di convalida del file di impostazioni e idoneità al Controllo Remoto. Per il controllo di configurazione in-sessione che può anche applicare correzioni, esegui [`/doctor`](/docs/it/commands#all-commands) | `claude doctor` |36| `claude doctor` | Stampa diagnostica di installazione e impostazioni di sola lettura dal terminale senza avviare una sessione, inclusa la salute dell'installazione, errori di convalida del file di impostazioni e idoneità a Remote Control. Per il controllo di configurazione in-sessione che può anche applicare correzioni, esegui [`/doctor`](/docs/it/commands#all-commands) | `claude doctor` |

37| `claude import [source]` | Avvia una sessione interattiva che esegue [`/import`](/docs/it/commands#all-commands) per portare la configurazione da altri agenti di codifica in Claude Code. Accetta le stesse opzioni `--dry-run` e `--yes` del comando. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform su AWS. Anche non disponibile quando disattivi il [recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Richiede Claude Code v2.1.213 o successivo | `claude import codex --dry-run` |37| `claude import [source]` | Avvia una sessione interattiva che esegue [`/import`](/docs/it/commands#all-commands) per portare la configurazione da altri agenti di codifica in Claude Code. Accetta le stesse opzioni `--dry-run` e `--yes` del comando. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform su AWS. Anche non disponibile quando disattivi il [recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Richiede Claude Code v2.1.213 o successivo | `claude import codex --dry-run` |

38| `claude logs <id>` | Stampa l'output recente da una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |38| `claude logs <id>` | Stampa l'output recente da una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |

39| `claude mcp` | Configura server Model Context Protocol (MCP) | Vedi la [documentazione MCP di Claude Code](/docs/it/mcp). |39| `claude mcp` | Configura server Model Context Protocol (MCP) | Vedi la [documentazione MCP di Claude Code](/docs/it/mcp). |

40| `claude mcp login <name>` | Esegui il flusso OAuth di un server MCP configurato senza aprire il pannello interattivo `/mcp`. Funziona per server HTTP, SSE e connettori claude.ai. Aggiungi `--no-browser` su SSH per stampare l'URL di autorizzazione invece di aprire un browser, quindi incolla l'URL di reindirizzamento al prompt. Vedi [Autentica dalla riga di comando](/docs/it/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |40| `claude mcp login <name>` | Esegui il flusso OAuth di un server MCP configurato senza aprire il pannello interattivo `/mcp`. Funziona per server HTTP, SSE e connettori claude.ai. Aggiungi `--no-browser` su SSH per stampare l'URL di autorizzazione invece di aprire un browser, quindi incolla l'URL di reindirizzamento al prompt. Vedi [Autentica dalla riga di comando](/docs/it/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

41| `claude mcp logout <name>` | Cancella le credenziali OAuth archiviate per un server MCP | `claude mcp logout sentry` |41| `claude mcp logout <name>` | Cancella le credenziali OAuth archiviate per un server MCP | `claude mcp logout sentry` |

42| `claude plugin` | Gestisci i [plugins](/docs/it/plugins/overview) di Claude Code. Alias: `claude plugins`. Vedi il [riferimento plugin](/docs/it/plugins/cli-reference#claude-plugin-commands) per i sottocomandi | `claude plugin install code-review@claude-plugins-official` |42| `claude plugin` | Gestisci i [plugin](/docs/it/plugins/overview) di Claude Code. Alias: `claude plugins`. Vedi il [riferimento plugin](/docs/it/plugins/cli-reference#claude-plugin-commands) per i sottocomandi | `claude plugin install code-review@claude-plugins-official` |

43| `claude project purge [path]` | Elimina tutto lo stato locale di Claude Code per un progetto: trascrizioni, elenchi di attività, log di debug, cronologia delle modifiche ai file, righe della cronologia dei prompt e la voce del progetto in `~/.claude.json`. Ometti `[path]` per scegliere da un elenco interattivo. Flag: `--dry-run` per visualizzare un'anteprima, `-y`/`--yes` per saltare la conferma, `-i`/`--interactive` per confermare ogni elemento, `--all` per ogni progetto. Vedi [Cancella dati locali](/docs/it/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |43| `claude project purge [path]` | Elimina tutto lo stato locale di Claude Code per un progetto: trascrizioni, elenchi di attività, log di debug, cronologia delle modifiche ai file, righe della cronologia dei prompt e la voce del progetto in `~/.claude.json`. Ometti `[path]` per scegliere da un elenco interattivo. Flag: `--dry-run` per visualizzare un'anteprima, `-y`/`--yes` per saltare la conferma, `-i`/`--interactive` per confermare ogni elemento, `--all` per ogni progetto. Vedi [Cancella dati locali](/docs/it/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |

44| `claude remote-control` | Avvia un server [Remote Control](/docs/it/remote-control) per controllare Claude Code da Claude.ai o dall'app Claude. Viene eseguito in modalità server (nessuna sessione interattiva locale). Vedi [Flag modalità server](/docs/it/remote-control#start-a-remote-control-session). Dopo aver interrotto il server, puoi ripristinare le sessioni che stava servendo. Vedi [Riprendi sessioni dopo aver interrotto il server](/docs/it/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Avvia un server [Remote Control](/docs/it/remote-control) per controllare Claude Code da Claude.ai o dall'app Claude. Viene eseguito in modalità server (nessuna sessione interattiva locale). Vedi [Flag modalità server](/docs/it/remote-control#start-a-remote-control-session). Dopo aver interrotto il server, puoi ripristinare le sessioni che stava servendo. Vedi [Riprendi sessioni dopo aver interrotto il server](/docs/it/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Riavvia una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell), in esecuzione o interrotta, mantenendo la sua conversazione intatta. Usa `--all` per riavviare ogni sessione in esecuzione, ad esempio per raccogliere un binario Claude Code aggiornato | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Riavvia una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell), in esecuzione o interrotta, mantenendo la sua conversazione intatta. Usa `--all` per riavviare ogni sessione in esecuzione, ad esempio per raccogliere un binario Claude Code aggiornato | `claude respawn 7c5dcf5d` |


47| `claude self-hosted-runner` | Avvia un processo runner che registra questa macchina o contenitore con un [ambiente auto-ospitato](/docs/it/self-hosted-environments) e ospita sessioni cloud di Claude Code sulla tua infrastruttura. Esegui `claude self-hosted-runner setup` per una procedura guidata dell'operatore, `claude self-hosted-runner doctor` per [diagnosticare un runner distribuito](/docs/it/self-hosted-environments-deploy#troubleshooting) e `claude self-hosted-runner orchestrator` per generare [runner su richiesta](/docs/it/self-hosted-environments-configuration#on-demand-runners). Richiede Claude Code v2.1.224 o successivo | `claude self-hosted-runner setup` |47| `claude self-hosted-runner` | Avvia un processo runner che registra questa macchina o contenitore con un [ambiente auto-ospitato](/docs/it/self-hosted-environments) e ospita sessioni cloud di Claude Code sulla tua infrastruttura. Esegui `claude self-hosted-runner setup` per una procedura guidata dell'operatore, `claude self-hosted-runner doctor` per [diagnosticare un runner distribuito](/docs/it/self-hosted-environments-deploy#troubleshooting) e `claude self-hosted-runner orchestrator` per generare [runner su richiesta](/docs/it/self-hosted-environments-configuration#on-demand-runners). Richiede Claude Code v2.1.224 o successivo | `claude self-hosted-runner setup` |

48| `claude setup-token` | Genera un token OAuth di lunga durata per CI e script. Stampa il token nel terminale senza salvarlo. Richiede un abbonamento Claude. Vedi [Genera un token di lunga durata](/docs/it/authentication#generate-a-long-lived-token) | `claude setup-token` |48| `claude setup-token` | Genera un token OAuth di lunga durata per CI e script. Stampa il token nel terminale senza salvarlo. Richiede un abbonamento Claude. Vedi [Genera un token di lunga durata](/docs/it/authentication#generate-a-long-lived-token) | `claude setup-token` |

49| `claude stop <id>` | Interrompi una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell). Accetta anche `claude kill` | `claude stop 7c5dcf5d` |49| `claude stop <id>` | Interrompi una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell). Accetta anche `claude kill` | `claude stop 7c5dcf5d` |

50| `claude ultrareview [target]` | Esegui [ultrareview](/docs/it/ultrareview#run-ultrareview-non-interactively) in modo non interattivo. Stampa i risultati su stdout e esce con 0 in caso di successo o 1 in caso di errore. Usa `--json` per il payload grezzo e `--timeout <minutes>` per sovrascrivere il valore predefinito di 45 minuti. Usa `--post` su un target di pull request `github.com` per pubblicare i risultati finiti nel PR come un unico commento semplice dal tuo account GitHub. `--no-post` è l'impostazione predefinita. `--post` e `--no-post` richiedono Claude Code v2.1.227 o successivo. Vedi [Pubblica i risultati nel pull request](/docs/it/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |50| `claude ultrareview [target]` | Esegui [ultrareview](/docs/it/ultrareview#run-ultrareview-non-interactively) in modo non interattivo. Stampa i risultati su stdout e esce con 0 in caso di successo o 1 in caso di errore. Usa `--json` per il payload grezzo e `--timeout <minutes>` per sovrascrivere il valore predefinito di 45 minuti. Usa `--post` su un target di pull request `github.com` per pubblicare i risultati finiti nella PR come un unico commento semplice dal tuo account GitHub. `--no-post` è l'impostazione predefinita. `--post` e `--no-post` richiedono Claude Code v2.1.227 o successivo. Vedi [Pubblica i risultati nella pull request](/docs/it/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |

51 51 

52Se digiti male un sottocomando, Claude Code suggerisce la corrispondenza più vicina e esce senza avviare una sessione. Ad esempio, `claude udpate` stampa `Did you mean claude update?`.52Se digiti male un sottocomando, Claude Code suggerisce la corrispondenza più vicina e esce senza avviare una sessione. Ad esempio, `claude udpate` stampa `Did you mean claude update?`.

53 53 


156| `--append-system-prompt-file` | Aggiunge il contenuto del file al prompt predefinito | `claude --append-system-prompt-file ./style-rules.txt` |156| `--append-system-prompt-file` | Aggiunge il contenuto del file al prompt predefinito | `claude --append-system-prompt-file ./style-rules.txt` |

157| `--system-prompt-snapshot` | Con `off`, ricostruisce il prompt su ogni richiesta. Con `on`, il predefinito, riutilizza un prompt registrato dove [la registrazione si applica](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |157| `--system-prompt-snapshot` | Con `off`, ricostruisce il prompt su ogni richiesta. Con `on`, il predefinito, riutilizza un prompt registrato dove [la registrazione si applica](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |

158 158 

159`--system-prompt` e `--system-prompt-file` si escludono a vicenda. I flag di aggiunta possono essere combinati con uno dei flag di sostituzione.159Puoi combinare questi flag. Per sostituire il prompt predefinito e aggiungere comunque il tuo testo, passa `--append-system-prompt` o `--append-system-prompt-file` insieme a `--system-prompt` o `--system-prompt-file`. Con Claude Code v2.1.283 o successivo, puoi anche passare un flag insieme alla sua forma di file, come `--append-system-prompt` con `--append-system-prompt-file`, e Claude Code li usa entrambi.

160 

161Ad esempio, esegui quanto segue nella tua shell per aggiungere sia una guida di stile da un file sia un'istruzione aggiuntiva:

162 

163```bash theme={null}

164claude -p --append-system-prompt-file ./style.md --append-system-prompt "Always reply in French" "Summarize README.md"

165```

166 

167Claude riceve il prompt di sistema predefinito seguito dal contenuto di `style.md`, una riga vuota, e poi `Always reply in French`. Il contenuto del file viene prima anche se passi `--append-system-prompt` prima di `--append-system-prompt-file`.

160 168 

161Quando il testo di sostituzione combina istruzioni che sono le stesse su ogni esecuzione con contesto che cambia per esecuzione, aggiungi una riga contenente solo `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` tra le istruzioni e il contesto. Claude Code divide il prompt alla prima riga di questo tipo e rimuove quella riga, quindi la parte sopra rimane memorizzata nella cache mentre la parte sotto cambia. Richiede Claude Code v2.1.275 o successivo. [Memorizza nella cache la parte statica di un prompt personalizzato](/docs/it/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) elenca le configurazioni dove la divisione si applica.169Quando il testo di sostituzione combina istruzioni che sono le stesse su ogni esecuzione con contesto che cambia per esecuzione, aggiungi una riga contenente solo `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` tra le istruzioni e il contesto. Claude Code divide il prompt alla prima riga di questo tipo e rimuove quella riga, quindi la parte sopra rimane memorizzata nella cache mentre la parte sotto cambia. Richiede Claude Code v2.1.275 o successivo. [Memorizza nella cache la parte statica di un prompt personalizzato](/docs/it/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) elenca le configurazioni dove la divisione si applica.

162 170 

commands.md +1 −1

Details

99| `/goal [condition\|clear]` | Impostare un [goal](/docs/it/goal): Claude continua a lavorare tra i turni finché la condizione non è soddisfatta o il goal [si cancella per un altro motivo](/docs/it/goal#how-evaluation-works). Senza argomento, mostra il goal corrente o più recentemente raggiunto. `clear`, `stop`, `off`, `reset`, `none`, o `cancel` rimuove un goal attivo in anticipo |99| `/goal [condition\|clear]` | Impostare un [goal](/docs/it/goal): Claude continua a lavorare tra i turni finché la condizione non è soddisfatta o il goal [si cancella per un altro motivo](/docs/it/goal#how-evaluation-works). Senza argomento, mostra il goal corrente o più recentemente raggiunto. `clear`, `stop`, `off`, `reset`, `none`, o `cancel` rimuove un goal attivo in anticipo |

100| `/heapdump` | Scrivere uno snapshot heap JavaScript e un breakdown della memoria su `~/Desktop`, o la vostra home directory su Linux senza una cartella Desktop, per diagnosticare un utilizzo elevato della memoria. Allegate solo il file `-diagnostics.json` quando segnalate un problema di memoria; il `.heapsnapshot` contiene la vostra conversazione completa e le credenziali, quindi non condividetelo. [Nascosto dal menu dei comandi](#how-the-command-menu-matches-what-you-type); digitate per intero. Consultate [cosa fare con l'output](/docs/it/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Scrivere uno snapshot heap JavaScript e un breakdown della memoria su `~/Desktop`, o la vostra home directory su Linux senza una cartella Desktop, per diagnosticare un utilizzo elevato della memoria. Allegate solo il file `-diagnostics.json` quando segnalate un problema di memoria; il `.heapsnapshot` contiene la vostra conversazione completa e le credenziali, quindi non condividetelo. [Nascosto dal menu dei comandi](#how-the-command-menu-matches-what-you-type); digitate per intero. Consultate [cosa fare con l'output](/docs/it/troubleshooting#high-cpu-or-memory-usage) |

101| `/help` | Mostrare la guida e i comandi disponibili |101| `/help` | Mostrare la guida e i comandi disponibili |

102| `/hooks` | Visualizzare le configurazioni [hook](/docs/it/hooks) per gli eventi degli strumenti |102| `/hooks` | Visualizzare le configurazioni degli [hook](/docs/it/hooks#the-%2Fhooks-menu) |

103| `/ide` | Gestire le integrazioni IDE e mostrare lo stato |103| `/ide` | Gestire le integrazioni IDE e mostrare lo stato |

104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Portare la configurazione da OpenAI Codex, Google Gemini CLI, o Cursor sulla vostra macchina in Claude Code, inclusi file di istruzioni, server MCP, comandi, subagent e skill. In [modalità non interattiva](/docs/it/headless) con `-p`, `/import` elenca ciò che ha trovato e vi dà il comando che conferma l'importazione. Aggiungete `--dry-run` per visualizzare in anteprima senza scrivere nulla, o `--yes` per saltare il selettore interattivo. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, o Claude Platform su AWS, o attraverso un [gateway app Claude](/docs/it/claude-apps-gateway#availability-and-limitations). Anche non disponibile quando disattivate il [recupero di flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching). Richiede Claude Code v2.1.213 o successivo. L'importazione da Cursor richiede v2.1.265 o successivo |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Portare la configurazione da OpenAI Codex, Google Gemini CLI, o Cursor sulla vostra macchina in Claude Code, inclusi file di istruzioni, server MCP, comandi, subagent e skill. In [modalità non interattiva](/docs/it/headless) con `-p`, `/import` elenca ciò che ha trovato e vi dà il comando che conferma l'importazione. Aggiungete `--dry-run` per visualizzare in anteprima senza scrivere nulla, o `--yes` per saltare il selettore interattivo. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, o Claude Platform su AWS, o attraverso un [gateway app Claude](/docs/it/claude-apps-gateway#availability-and-limitations). Anche non disponibile quando disattivate il [recupero di flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching). Richiede Claude Code v2.1.213 o successivo. L'importazione da Cursor richiede v2.1.265 o successivo |

105| `/init` | Inizializzare il progetto con una guida `CLAUDE.md`. Impostare `CLAUDE_CODE_NEW_INIT=1` per un flusso interattivo che guida anche attraverso skill, hook e file di memoria personale. Se `/init` trova la configurazione di OpenAI Codex o Google Gemini CLI, offre di portarla con `/import` |105| `/init` | Inizializzare il progetto con una guida `CLAUDE.md`. Impostare `CLAUDE_CODE_NEW_INIT=1` per un flusso interattivo che guida anche attraverso skill, hook e file di memoria personale. Se `/init` trova la configurazione di OpenAI Codex o Google Gemini CLI, offre di portarla con `/import` |

Details

62Per i percorsi di configurazione e le regole di ambito, vedi [MCP](/docs/it/mcp).62Per i percorsi di configurazione e le regole di ambito, vedi [MCP](/docs/it/mcp).

63 63 

64<h2 id="check-hooks">64<h2 id="check-hooks">

65 Controlla gli hooks65 Controlla gli hook

66</h2>66</h2>

67 67 

68Esegui `/hooks` per elencare ogni hook registrato per la sessione corrente, raggruppato per evento. Se un hook che hai definito non appare, non viene letto: gli hooks vanno sotto la chiave `"hooks"` in un file di impostazioni, non in un file autonomo.68Esegui `/hooks` per elencare ogni hook registrato per la sessione corrente, raggruppato per evento. Se un hook che hai definito non appare, Claude Code non l'ha caricato. Verifica queste cause:

69 

70* L'hook è definito in un file autonomo. Gli hook vanno sotto la chiave `"hooks"` in un [file di impostazioni](/docs/it/settings#settings-files).

71* Il valore `matcher` è un array invece di una singola stringa. Claude Code elenca la voce come impostazione non valida quando avvii una sessione interattiva e in `claude doctor`. Se l'array si trova sotto `PreToolUse` o `PermissionRequest`, non viene caricato nemmeno nessuno degli altri hook di quel file.

69 72 

70Se l'hook appare ma non si attiva, il matcher è la causa usuale. Controllalo per questi errori:73Se l'hook appare ma non si attiva, il matcher è la causa usuale. Controllalo per questi errori:

71 74 

72* Il campo `matcher` è una singola stringa che usa `|` per corrispondere a più nomi di strumenti, ad esempio `"Edit|Write"`. Un separatore `,` è equivalente, quindi `"Edit,Write"` corrisponde agli stessi strumenti. Prima della v2.1.191, una virgola passava alla valutazione regex e il matcher non corrispondeva mai, quindi usa `|` se non sei ancora su v2.1.191.75* Il campo `matcher` è una singola stringa che usa `|` per corrispondere a più nomi di strumenti, ad esempio `"Edit|Write"`. Un separatore `,` è equivalente, quindi `"Edit,Write"` corrisponde agli stessi strumenti. Prima della v2.1.191, una virgola passava alla valutazione regex e il matcher non corrispondeva mai, quindi usa `|` se non sei ancora su v2.1.191.

73* Un nome di strumento scritto male produce un matcher che non corrisponde a nulla, quindi l'hook fallisce silenziosamente.76* Un nome di strumento scritto male produce un matcher che non corrisponde a nulla, quindi l'hook fallisce silenziosamente.

74* Un valore di array è un errore di schema: Claude Code mostra un avviso di errore di impostazioni e rifiuta l'intero file di impostazioni utente, progetto o locale, `claude doctor` segnala l'errore di convalida e nessun hook da quel file appare in `/hooks`. Nelle [impostazioni gestite](/docs/it/managed-settings), Claude Code elimina l'intera chiave `hooks` dal file che contiene l'array, quindi nessuno degli hook di quel file si applica. Le altre impostazioni del file si applicano ancora e `claude doctor` elenca la chiave eliminata.

75 77 

76Quando modifichi `settings.json`, la modifica ha effetto nella sessione in esecuzione dopo un breve ritardo di stabilità del file, anche se crei il file o la cartella `.claude/` del progetto stesso dopo l'avvio della sessione. Non è necessario riavviare. Prima della v2.1.257, Claude Code non rilevava le modifiche in una cartella `.claude/` creata dopo l'avvio della sessione.78Quando modifichi `settings.json`, la modifica ha effetto nella sessione in esecuzione dopo un breve ritardo di stabilità del file, anche se crei il file o la cartella `.claude/` del progetto stesso dopo l'avvio della sessione. Non è necessario riavviare. Prima della v2.1.257, Claude Code non rilevava le modifiche in una cartella `.claude/` creata dopo l'avvio della sessione.

77 79 

78Se `/hooks` mostra ancora la definizione precedente alcuni secondi dopo il salvataggio, esegui `/hooks` di nuovo per aggiornare la visualizzazione.80Se `/hooks` mostra ancora la definizione precedente alcuni secondi dopo il salvataggio, esegui `/hooks` di nuovo per aggiornare la visualizzazione.

79 81 

80Se `/hooks` mostra l'hook ma comunque non si attiva, il passo successivo è guardare la valutazione dell'hook dal vivo. Avvia una sessione con `claude --debug` e attiva la chiamata dello strumento. Il log di debug registra ogni evento, quali matcher sono stati controllati e il codice di uscita e l'output dell'hook. Vedi [Debug hooks](/docs/it/hooks#debug-hooks) per il formato del log e [troubleshooting degli hooks](/docs/it/hooks-guide#limitations-and-troubleshooting) per i modelli di errore comuni.82Se `/hooks` mostra l'hook ma comunque non si attiva, il passo successivo è guardare la valutazione dell'hook dal vivo. Avvia una sessione con `claude --debug` e attiva la chiamata allo strumento. Il log di debug registra ogni evento, quali matcher sono stati controllati e il codice di uscita e l'output dell'hook. Vedi [Debug degli hook](/docs/it/hooks#debug-hooks) per il formato del log e [risoluzione dei problemi degli hook](/docs/it/hooks-guide#limitations-and-troubleshooting) per i modelli di errore comuni.

81 83 

82<h2 id="test-against-a-clean-configuration">84<h2 id="test-against-a-clean-configuration">

83 Prova con una configurazione pulita85 Prova con una configurazione pulita

Details

4 4 

5# Iniziare con l'app desktop5# Iniziare con l'app desktop

6 6 

7> Installa Claude Code su desktop e avvia la tua prima sessione di codifica7> Installa l'app desktop di Claude, apri la scheda Code e avvia la tua prima sessione di Claude Code su una cartella di progetto sul tuo computer.

8 8 

9L'app desktop ti offre Claude Code con un'interfaccia grafica costruita per eseguire più sessioni affiancate: una barra laterale per gestire il lavoro parallelo, un layout con trascinamento della selezione con terminale integrato e editor di file, revisione visiva dei diff, anteprima live dell'app, monitoraggio dei PR di GitHub con merge automatico e attività pianificate. Non è richiesto alcun terminale.9L'app desktop ti offre Claude Code con un'interfaccia grafica, così puoi chiedere a Claude di lavorare sul codice in una cartella sul tuo computer e rivedere le sue modifiche senza usare un terminale. Questa pagina illustra l'installazione dell'app e l'avvio della tua prima sessione nella scheda **Code**. Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 10 

11<CardGroup cols={3}>11<CardGroup cols={3}>

12 <Card title="Scarica per macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Scarica per macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">


25Per Windows ARM64, scarica l'[installer ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Su Linux, installa con apt; vedi [Claude Desktop su Linux](/docs/it/desktop-linux).25Per Windows ARM64, scarica l'[installer ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Su Linux, installa con apt; vedi [Claude Desktop su Linux](/docs/it/desktop-linux).

26 26 

27<Note>27<Note>

28 Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Questi casi sono trattati in altre pagine:

29</Note>

30 29 

31Questa pagina illustra l'installazione dell'app e l'avvio della tua prima sessione. Se sei già configurato, consulta [Usa Claude Code Desktop](/docs/it/desktop) per il riferimento completo.30 * **Già configurato**: consulta [Usa Claude Code Desktop](/docs/it/desktop) per tutto ciò che la scheda Code può fare

31 * **Vuoi `claude` nel tuo terminale**: [installa la CLI](/docs/it/quickstart) separatamente

32</Note>

32 33 

33L'app desktop ha tre schede:34L'app desktop ha tre schede:

34 35 

35* **Chat**: Conversazione generale senza accesso ai file, simile a claude.ai.36* **Chat**: Conversazione generale senza accesso ai file, simile a claude.ai.

36* **Cowork**: Un agente autonomo in background che lavora su attività in una macchina virtuale sandbox con il suo ambiente, funzionando indipendentemente mentre tu fai altro. Le sessioni Cowork on-device eseguono la VM sul tuo computer; le sessioni Cowork remote eseguono invece una VM gestita da Anthropic.37* **Cowork**: Un agente autonomo in background che lavora sulle attività in modo indipendente mentre tu fai altro.

37* **Code**: Un assistente di codifica interattivo con accesso diretto ai tuoi file locali. Dipendendo dalla modalità di autorizzazione, approvi ogni modifica mentre Claude la propone o rivedi le modifiche dopo che Claude le ha apportate.38* **Code**: Un assistente di codifica interattivo con accesso diretto ai tuoi file locali. Dipendendo dalla modalità di autorizzazione, approvi ogni modifica mentre Claude la propone o rivedi le modifiche dopo che Claude le ha apportate.

38 39 

39Chat e Cowork sono trattati nel [Centro di supporto Claude](https://support.claude.com/); l'installazione e la distribuzione dell'app desktop sono trattate negli [articoli di supporto di Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Questa pagina si concentra sulla scheda **Code**.40Chat e Cowork sono trattati nel [Centro di supporto Claude](https://support.claude.com/); l'installazione e la distribuzione dell'app desktop sono trattate negli [articoli di supporto di Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Questa pagina si concentra sulla scheda **Code**.


52 </Step>53 </Step>

53</Steps>54</Steps>

54 55 

55L'app desktop include Claude Code. Non è necessario installare Node.js o la CLI separatamente. Per utilizzare `claude` dal terminale, installa la CLI separatamente. Consulta [Iniziare con la CLI](/docs/it/quickstart).56L'app desktop include Claude Code, quindi non è necessario installare Node.js o la CLI per utilizzare la scheda Code.

56 57 

57<h2 id="start-your-first-session">58<h2 id="start-your-first-session">

58 Avvia la tua prima sessione59 Avvia la tua prima sessione


65 Seleziona **Local** per eseguire Claude sulla tua macchina utilizzando direttamente i tuoi file. Fai clic su **Select folder** e scegli la directory del tuo progetto.66 Seleziona **Local** per eseguire Claude sulla tua macchina utilizzando direttamente i tuoi file. Fai clic su **Select folder** e scegli la directory del tuo progetto.

66 67 

67 <Tip>68 <Tip>

68 Inizia con un piccolo progetto che conosci bene. È il modo più veloce per vedere cosa può fare Claude Code. Su Windows, [Git](https://git-scm.com/downloads/win) deve essere installato affinché le sessioni locali funzionino. La maggior parte dei Mac include Git per impostazione predefinita.69 Inizia con un piccolo progetto che conosci bene. È il modo più veloce per vedere cosa può fare Claude Code.

69 </Tip>70 </Tip>

70 71 

71 Puoi anche selezionare:72 Puoi anche selezionare:

72 73 

73 * **Cloud**: Esegui sessioni nel cloud che continuano anche se chiudi l'app. Le sessioni cloud utilizzano la stessa infrastruttura di [Claude Code sul web](/docs/it/claude-code-on-the-web).74 * **Cloud**: Esegui sessioni nel cloud che continuano anche se chiudi l'app. Vedi [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web) per sapere come funzionano le sessioni cloud.

74 * **SSH**: Connettiti a una macchina remota tramite SSH, come i tuoi server, VM cloud o dev container. Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti.75 * **SSH**: Connettiti a una macchina remota tramite SSH, come i tuoi server, VM cloud o dev container. Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti.

75 * **WSL** (Windows): Esegui la sessione all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl); Claude Code, gli strumenti e git vengono eseguiti sul lato Linux con percorsi nativi.76 * **WSL** (Windows): Esegui la sessione all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl); Claude Code, gli strumenti e git vengono eseguiti sul lato Linux con percorsi nativi.

76 </Step>77 </Step>


86 * `Add tests for the main function`87 * `Add tests for the main function`

87 * `Create a CLAUDE.md with instructions for this codebase`88 * `Create a CLAUDE.md with instructions for this codebase`

88 89 

89 Una [sessione](/docs/it/desktop#work-in-parallel-with-sessions) è una conversazione con Claude sul tuo codice. Ogni sessione tiene traccia del suo proprio contesto e delle sue modifiche, quindi puoi lavorare su più attività senza che si interferiscano a vicenda.90 Una [sessione](/docs/it/desktop#work-in-parallel-with-sessions) è una conversazione con Claude sul tuo codice. Ogni sessione tiene traccia del suo proprio contesto e delle sue modifiche.

90 </Step>91 </Step>

91 92 

92 <Step title="Rivedi e accetta le modifiche">93 <Step title="Rivedi e accetta le modifiche">

93 Quello che succede dopo dipende dalla [modalità di autorizzazione](/docs/it/desktop#choose-a-permission-mode) mostrata nel selettore accanto al pulsante di invio:94 Quello che succede dopo dipende dalla [modalità di permesso](/docs/it/desktop#choose-a-permission-mode) mostrata nel selettore accanto al pulsante di invio:

94 95 

95 * **Auto o Accept edits**: Claude applica le sue modifiche ai file e appare un indicatore come `+12 -1` in modo che tu possa esaminarle nella vista diff96 * **Auto o Accept edits**: Claude applica le sue modifiche ai file e appare un indicatore come `+12 -1` in modo che tu possa esaminarle nella vista diff

96 * **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla. I tuoi file non vengono modificati finché non accetti, e se rifiuti una modifica, Claude ti chiede come vorresti procedere invece97 * **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla. I tuoi file non vengono modificati finché non accetti, e se rifiuti una modifica, Claude ti chiede come vorresti procedere invece


107 E adesso?108 E adesso?

108</h2>109</h2>

109 110 

110Hai fatto la tua prima modifica. Per il riferimento completo su tutto ciò che Desktop può fare, consulta [Usa Claude Code Desktop](/docs/it/desktop). Ecco alcune cose da provare dopo.111Hai fatto la tua prima modifica. Per il riferimento completo su tutto ciò che Desktop può fare, consulta [Usare Claude Code Desktop](/docs/it/desktop). Ecco alcune cose da provare dopo.

111 112 

112**Interrompi e cambia direzione.** Puoi reindirizzare Claude in qualsiasi momento. Fai clic sul pulsante di arresto per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza interrompere l'azione in corso. In entrambi i casi, non devi aspettare che finisca o ricominciare da capo.113**Interrompi e reindirizza.** Puoi reindirizzare Claude in qualsiasi momento. Fai clic sul pulsante di stop per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza fermare l'azione in corso. In entrambi i casi, non devi aspettare che finisca né ricominciare da capo.

113 114 

114**Dai a Claude più contesto.** Digita `@filename` nella casella del prompt per inserire un file specifico nella conversazione, allega immagini e PDF utilizzando il pulsante di allegato, oppure trascina e rilascia i file direttamente nel prompt. Più contesto ha Claude, migliori saranno i risultati. Consulta [Aggiungi file e contesto](/docs/it/desktop#add-files-and-context-to-prompts).115**Fornisci a Claude più contesto.** Digita `@filename` nella casella del prompt per includere un file specifico nella conversazione, allega immagini e PDF usando il pulsante degli allegati, oppure trascina e rilascia i file direttamente nel prompt. Più contesto ha Claude, migliori sono i risultati. Consulta [Aggiungere file e contesto](/docs/it/desktop#add-files-and-context-to-prompts).

115 116 

116**Usa skills per attività ripetibili.** Digita `/` o fai clic su **+** → **Slash commands** per sfogliare [comandi integrati](/docs/it/commands), [skills personalizzate](/docs/it/skills) e skills di plugin. Le skills sono prompt riutilizzabili che puoi invocare ogni volta che ne hai bisogno, come checklist di revisione del codice o passaggi di distribuzione.117**Usa le skill per attività ripetibili.** Digita `/` o fai clic su **+** → **Slash commands** per sfogliare i [comandi integrati](/docs/it/commands), le [skill personalizzate](/docs/it/skills) e le skill dei plugin. Le skill sono prompt riutilizzabili che puoi richiamare ogni volta che ne hai bisogno, come checklist di code review o passaggi di deploy.

117 118 

118**Rivedi le modifiche prima di eseguire il commit.** Dopo che Claude modifica i file, appare un indicatore `+12 -1`. Fai clic su di esso per aprire la [vista diff](/docs/it/desktop#review-changes-with-diff-view), rivedi le modifiche file per file e commenta righe specifiche. Claude legge i tuoi commenti e revisionerai. Fai clic su **Review code** per far valutare a Claude i diff stesso e lasciare suggerimenti inline.119**Rivedi le modifiche prima del commit.** Dopo che Claude modifica i file, compare un indicatore `+12 -1`. Fai clic su di esso per aprire la [vista diff](/docs/it/desktop#review-changes-with-diff-view), rivedere le modifiche file per file e commentare righe specifiche. Claude legge i tuoi commenti e apporta le revisioni. Fai clic su **Review code** per far valutare i diff a Claude stesso e fargli lasciare suggerimenti inline.

119 120 

120**Regola il controllo che hai.** La tua [modalità di autorizzazione](/docs/it/desktop#choose-a-permission-mode) imposta quanto Claude può fare senza chiedere l'approvazione:121**Regola il livello di controllo.** La tua [modalità di permesso](/docs/it/desktop#choose-a-permission-mode) stabilisce quanto Claude può fare senza chiedere approvazione:

121 122 

122* **Auto**: un classificatore esamina le azioni in background e blocca quelle rischiose invece di chiederti.123* **Auto**: un classificatore esamina le azioni in background e blocca quelle rischiose invece di chiedertelo.

123* **Manual**: Claude chiede prima di modificare i file o eseguire comandi.124* **Manual**: Claude chiede prima di modificare file o eseguire comandi.

124* **Accept edits**: Claude accetta automaticamente le modifiche ai file per un'iterazione più veloce.125* **Accept edits**: Claude accetta automaticamente le modifiche ai file per un'iterazione più rapida.

125* **Plan**: Claude propone un approccio senza modificare alcun file, il che è utile prima di un grande refactor.126* **Plan**: Claude propone un approccio senza modificare alcun file, utile prima di un refactoring di grandi dimensioni.

126 127 

127**Aggiungi plugin per più funzionalità.** Fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Plugins** per sfogliare e installare [plugin](/docs/it/desktop#install-plugins) che aggiungono skills, agenti, server MCP e altro ancora.128**Aggiungi plugin per più funzionalità.** Fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Plugins** per sfogliare e installare [plugin](/docs/it/desktop#install-plugins) che aggiungono skill, agenti, server MCP e altro.

128 129 

129**Organizza il tuo workspace.** Trascina i riquadri chat, diff, terminal, file e browser in qualsiasi layout desideri. Apri il terminal con **Ctrl+\`** per eseguire comandi insieme alla tua sessione, oppure fai clic su un percorso di file per aprirlo nel riquadro file. Consulta [Organizza il tuo workspace](/docs/it/desktop#arrange-your-workspace).130**Organizza il tuo workspace.** Trascina i riquadri di chat, diff, terminale, file e browser nel layout che preferisci. Apri il terminale con **Ctrl+\`** per eseguire comandi accanto alla tua sessione, oppure fai clic sul percorso di un file per aprirlo nel riquadro dei file. Consulta [Organizzare il workspace](/docs/it/desktop#arrange-your-workspace).

130 131 

131**Visualizza l'anteprima della tua app.** Quando esegui il tuo dev server nel desktop, la tua app si apre nel riquadro Browser, che può anche [aprire siti esterni](/docs/it/desktop#browse-external-sites). Claude può visualizzare l'app in esecuzione, testare endpoint, ispezionare i log e iterare su ciò che vede. Consulta [Visualizza l'anteprima della tua app](/docs/it/desktop#preview-your-app).132**Visualizza l'anteprima della tua app.** Quando esegui il tuo server di sviluppo nel desktop, la tua app si apre nel riquadro Browser, che può anche [aprire siti esterni](/docs/it/desktop#browse-external-sites). Claude può visualizzare l'app in esecuzione, testare gli endpoint, ispezionare i log e iterare in base a ciò che vede. Consulta [Visualizzare l'anteprima della tua app](/docs/it/desktop#preview-your-app).

132 133 

133**Traccia la tua pull request.** Dopo aver aperto una PR, Claude Code monitora i risultati dei controlli CI e può correggere automaticamente gli errori o unire la PR una volta che tutti i controlli passano. Consulta [Monitora lo stato della pull request](/docs/it/desktop#monitor-pull-request-status).134**Monitora la tua pull request.** Dopo l'apertura di una PR, Claude Code monitora i risultati dei controlli CI e può correggere automaticamente i fallimenti o eseguire il merge della PR una volta superati tutti i controlli. Consulta [Monitorare lo stato della pull request](/docs/it/desktop#monitor-pull-request-status).

134 135 

135**Metti Claude in programma.** Configura [attività pianificate](/docs/it/desktop-scheduled-tasks) per eseguire Claude automaticamente su base ricorrente: una revisione del codice giornaliera ogni mattina, un audit delle dipendenze settimanale, o un briefing che estrae dai tuoi strumenti connessi.136**Pianifica il lavoro di Claude.** Configura delle [attività pianificate](/docs/it/desktop-scheduled-tasks) per eseguire Claude automaticamente a intervalli ricorrenti: una code review quotidiana ogni mattina, un audit settimanale delle dipendenze o un briefing che attinge dai tuoi strumenti collegati.

136 137 

137**Scala quando sei pronto.** Apri [sessioni parallele](/docs/it/desktop#work-in-parallel-with-sessions) dalla barra laterale per lavorare su più attività contemporaneamente, ognuna, facoltativamente, nel proprio Git worktree, e apri il [riquadro tasks](/docs/it/desktop#watch-background-tasks) per guardare i subagenti e i comandi in background che una sessione ha in esecuzione. Apri una [side chat](/docs/it/desktop#ask-a-side-question-without-derailing-the-session) per fare una domanda senza deviare il thread principale. Invia [lavoro a lunga esecuzione al cloud](/docs/it/desktop#run-long-running-tasks-in-the-cloud) in modo che continui anche se chiudi l'app, oppure [continua una sessione sul web o nel tuo IDE](/docs/it/desktop#continue-in-another-surface) se un'attività richiede più tempo del previsto. [Connetti strumenti esterni](/docs/it/desktop#extend-claude-code) come GitHub, Slack e Linear per riunire il tuo flusso di lavoro.138**Amplia il lavoro quando sei pronto.** Apri [sessioni parallele](/docs/it/desktop#work-in-parallel-with-sessions) dalla barra laterale per lavorare su più attività contemporaneamente, facoltativamente ciascuna nel proprio worktree Git, e apri il [riquadro delle attività](/docs/it/desktop#watch-background-tasks) per osservare i subagent e i comandi in background che una sessione ha in esecuzione. Apri una [chat laterale](/docs/it/desktop#ask-a-side-question-without-derailing-the-session) per fare una domanda senza deviare il thread principale. Invia il [lavoro di lunga durata al cloud](/docs/it/desktop#run-long-running-tasks-in-the-cloud) in modo che continui anche se chiudi l'app, oppure [continua una sessione sul web o nel tuo IDE](/docs/it/desktop#continue-in-another-surface) se un'attività richiede più tempo del previsto. [Collega strumenti esterni](/docs/it/desktop#extend-claude-code) come GitHub, Slack e Linear per riunire il tuo workflow.

138 139 

139<h2 id="what’s-next">140<h2 id="what’s-next">

140 Cosa fare dopo141 Cosa fare dopo

env-vars.md +389 −384

Details

16* [Vedere quali funzionalità smettono di funzionare](#features-that-need-feature-flag-fetching) quando una variabile disattiva il recupero dei flag di funzionalità16* [Vedere quali funzionalità smettono di funzionare](#features-that-need-feature-flag-fetching) quando una variabile disattiva il recupero dei flag di funzionalità

17 17 

18<h2 id="set-environment-variables">18<h2 id="set-environment-variables">

19 Impostare variabili di ambiente19 Impostare variabili d'ambiente

20</h2>20</h2>

21 21 

22Una variabile che imposti nella tua shell dura per quella sessione di terminale, mentre una variabile in un file di impostazioni si applica ogni volta che `claude` viene eseguito.22Una variabile che imposti nella tua shell dura per quella sessione di terminale, mentre una variabile in un file di impostazioni si applica ogni volta che `claude` viene eseguito.


56 </Tab>56 </Tab>

57</Tabs>57</Tabs>

58 58 

59La riga di assegnazione non stampa nulla in caso di successo, quindi conferma che la variabile è impostata stampandola nella stessa shell prima di eseguire `claude`:59La riga di assegnazione non stampa nulla in caso di successo. Per confermare che la variabile è impostata, stampala nella stessa shell:

60 60 

61<Tabs>61<Tabs>

62 <Tab title="macOS, Linux, WSL">62 <Tab title="macOS, Linux, WSL">


108 Precedenza108 Precedenza

109</h2>109</h2>

110 110 

111Alcuni comportamenti hanno sia una variabile di ambiente che una chiave di impostazioni dedicata, e quale Claude Code legge per primo differisce per chiave. Per `ANTHROPIC_MODEL` e `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code legge prima la variabile e utilizza l'impostazione `model` o `autoConnectIde` solo quando la variabile non è impostata. Per la coppia che state impostando, controllate la riga della variabile di seguito e la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference).111Alcuni comportamenti hanno sia una variabile d'ambiente che una chiave di impostazioni dedicata, e quale Claude Code legge per primo differisce per chiave. Per `ANTHROPIC_MODEL` e `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code legge prima la variabile e utilizza l'impostazione `model` o `autoConnectIde` solo quando la variabile non è impostata. Per la coppia che stai impostando, controlla la riga della variabile di seguito e la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference).

112 112 

113Quando la stessa variabile è impostata sia nella vostra shell che in un blocco `env` del file di impostazioni, il valore del file di impostazioni si applica. Claude Code scrive ogni voce `env` nell'ambiente del processo, sostituendo il valore ereditato dalla shell. L'[impostazione `env`](/docs/it/settings-reference#when-claude-code-applies-env-values) indica quando la applica. Alcune variabili sono trattate come casi speciali; l'[impostazione `env`](/docs/it/settings-reference#env) elenca le eccezioni.113Quando la stessa variabile è impostata sia nella tua shell che in un blocco `env` del file di impostazioni, nella maggior parte delle sessioni si applica il valore del file di impostazioni. Claude Code scrive ogni voce `env` nell'ambiente del processo, sostituendo il valore ereditato dalla shell. [Come i valori `env` interagiscono con la tua shell](/docs/it/settings-reference#how-env-values-interact-with-your-shell) descrive le sessioni che mantengono invece il valore ereditato, e l'[impostazione `env`](/docs/it/settings-reference#when-claude-code-applies-env-values) indica quando Claude Code li applica. Alcune variabili sono trattate come casi speciali; l'[impostazione `env`](/docs/it/settings-reference#env) elenca le eccezioni.

114 114 

115In un file di impostazioni potete impostare una variabile ma non potete rimuoverne una. Per sovrascrivere una variabile che non potete annullare, come una `CLAUDE_CODE_USE_VERTEX` obsoleta esportata da un profilo di shell che non controllate, impostatela su una stringa vuota nel blocco `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code tratta il valore vuoto come non impostato per la selezione del provider. I sottoprocessi ereditano comunque il valore vuoto.115In un file di impostazioni puoi impostare una variabile ma non puoi rimuoverne una. Per sovrascrivere una variabile che non puoi annullare, come una `CLAUDE_CODE_USE_VERTEX` obsoleta esportata da un profilo di shell che non controlli, impostala su una stringa vuota nel blocco `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code tratta il valore vuoto come non impostato per la selezione del provider. I sottoprocessi ereditano comunque il valore vuoto.

116 116 

117Tra i file di impostazioni, i valori `env` seguono la [precedenza delle impostazioni](/docs/it/settings#settings-precedence), quindi una voce di impostazioni gestite sovrascrive la stessa variabile nelle impostazioni utente o progetto. Le impostazioni di progetto e locali non possono impostare alcune variabili, come `CLAUDE_CONFIG_DIR` e le variabili dell'esportatore OpenTelemetry. [Le variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env) le elenca, insieme ai valori di disattivazione di OpenTelemetry che si applicano ancora.117Tra i file di impostazioni, i valori `env` seguono la [precedenza delle impostazioni](/docs/it/settings#settings-precedence), quindi una voce di impostazioni gestite sovrascrive la stessa variabile nelle impostazioni utente o progetto. Le impostazioni di progetto e locali non possono impostare alcune variabili, come `CLAUDE_CONFIG_DIR` e le variabili dell'esportatore OpenTelemetry. [Le variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env) le elenca, insieme ai valori di disattivazione di OpenTelemetry che si applicano ancora.

118 118 

119Il modo in cui una variabile di ambiente interagisce con i flag CLI e i comandi in-session varia per funzionalità: `--model` e `/model` sovrascrivono `ANTHROPIC_MODEL`, mentre `CLAUDE_CODE_EFFORT_LEVEL` sovrascrive `--effort` e `/effort`. Quando una variabile interagisce con un'altra fonte di configurazione, la sua riga nell'elenco [Variabili](#variables) dichiara la precedenza o rimanda alla pagina che la documenta.119Il modo in cui una variabile d'ambiente interagisce con i flag CLI e i comandi in-session varia per funzionalità: `--model` e `/model` sovrascrivono `ANTHROPIC_MODEL`, mentre `CLAUDE_CODE_EFFORT_LEVEL` sovrascrive `--effort` e `/effort`. Quando una variabile interagisce con un'altra fonte di configurazione, la sua riga nell'elenco [Variabili](#variables) dichiara la precedenza o rimanda alla pagina che la documenta.

120 120 

121Claude Code legge le variabili di ambiente della shell all'avvio, quindi le modifiche ad esse hanno effetto la prossima volta che avviate `claude`. Le variabili impostate sotto la chiave `env` nei file di impostazioni vengono riapplicate a una sessione in esecuzione quando il file cambia, con l'eccezione di avvio-solo descritta in [Nei file di impostazioni](#in-settings-files).121Claude Code legge le variabili d'ambiente della shell all'avvio, quindi le modifiche ad esse hanno effetto la prossima volta che avvii `claude`. Le variabili impostate sotto la chiave `env` nei file di impostazioni vengono riapplicate a una sessione in esecuzione quando il file cambia, con l'eccezione di avvio-solo descritta in [Nei file di impostazioni](#in-settings-files).

122 122 

123<h2 id="variables">123<h2 id="variables">

124 Variabili124 Variabili

125</h2>125</h2>

126 126 

127Le variabili numeriche come timeout, budget di token e conteggi di tentativi accettano notazione scientifica e ortografia con separatori di cifre oltre alle cifre semplici, tranne dove la riga di una variabile nota che accetta solo cifre semplici. Ad esempio, Claude Code legge `2e3` come 2000 e `64_000` come 64000. Prima della v2.1.211, queste ortografie potevano impostare silenziosamente un valore molto più piccolo, come `1e6` che impostava un timeout a 1.127Le variabili numeriche come timeout, budget di token e numero di nuovi tentativi accettano la notazione scientifica e le grafie con separatore di cifre oltre alle semplici cifre, tranne dove la riga di una variabile indica che accetta solo cifre semplici. Ad esempio, Claude Code legge `2e3` come 2000 e `64_000` come 64000. Prima della v2.1.211, queste grafie potevano impostare silenziosamente un valore molto più piccolo, ad esempio `1e6` impostava un timeout a 1.

128 128 

129<Note>129<Note>

130 Per le variabili che attivano o disattivano un comportamento, impostare `1` o `true` per attivarlo e `0` o `false` per disattivarlo, in qualsiasi maiuscola.130 Per le variabili che attivano o disattivano un comportamento, imposta `1`, `true`, `yes` o `on` per attivarlo e `0`, `false`, `no` o `off` per disattivarlo, con qualsiasi combinazione di maiuscole e minuscole.

131 131 

132 Alcune variabili leggono solo se le avete impostate, quindi qualsiasi valore non vuoto incluso `0` attiva il comportamento, e disattivate il comportamento non impostando la variabile o impostandola su un valore vuoto. Queste variabili funzionano in questo modo:132 Alcune variabili verificano solo se le hai impostate, quindi qualsiasi valore non vuoto, incluso `0`, attiva il comportamento, e lo disattivi rimuovendo la variabile o impostandola su un valore vuoto. Queste variabili funzionano in questo modo:

133 133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`135 * `DISABLE_TELEMETRY`


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`139 * `IS_DEMO`

140 140 

141 Un'altra variabile ha la sua regola: `FORCE_HYPERLINK` legge un numero, quindi solo `0` la disattiva. La riga di ogni variabile dichiara anche la sua regola.141 Un'altra variabile ha una regola propria: `FORCE_HYPERLINK` legge un numero, quindi solo `0` la disattiva. Anche la riga di ciascuna variabile indica la sua regola.

142</Note>142</Note>

143 143 

144| Variabile | Scopo |144| Variabile | Scopo |

145| :- | :- |145| :- | :- |

146| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando impostata, questa chiave viene utilizzata al posto del vostro abbonamento Claude Pro, Max, Team o Enterprise anche se siete connessi. In modalità non interattiva (`-p`), la chiave viene sempre utilizzata quando presente. In modalità interattiva, vi viene chiesto di approvare la chiave una volta prima che sostituisca il vostro abbonamento. Per utilizzare il vostro abbonamento, eseguite `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando è impostata, questa chiave viene usata al posto del tuo abbonamento Claude Pro, Max, Team o Enterprise anche se hai effettuato l'accesso. In modalità non interattiva (`-p`), la chiave viene sempre usata quando presente. In modalità interattiva, ti viene chiesto di approvare la chiave una volta prima che sovrascriva il tuo abbonamento. Per usare invece il tuo abbonamento, esegui `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che impostate qui sarà preceduto da `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che imposti qui avrà il prefisso `Bearer `) |

148| `ANTHROPIC_AWS_API_KEY` | Chiave API dell'area di lavoro per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella Console AWS. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Chiave API del workspace per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella AWS Console. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |

149| `ANTHROPIC_AWS_BASE_URL` | Sostituire l'URL dell'endpoint [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Utilizzare per aree personalizzate o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Impostazione predefinita: `https://aws-external-anthropic.{region}.api.aws`. Claude Code risolve l'area con la [stessa precedenza di Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |149| `ANTHROPIC_AWS_BASE_URL` | Sovrascrive l'URL dell'endpoint di [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Usala per regioni personalizzate o quando instradi le richieste tramite un [gateway LLM](/docs/it/llm-gateway). Il valore predefinito è `https://aws-external-anthropic.{region}.api.aws`. Claude Code determina la regione con la [stessa precedenza usata su Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |

150| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatorio per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviato su ogni richiesta come intestazione `anthropic-workspace-id` |150| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatoria per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviata in ogni richiesta come intestazione `anthropic-workspace-id` |

151| `ANTHROPIC_BASE_URL` | Sostituire l'endpoint API per instradare le richieste attraverso un proxy o gateway. Quando impostato su un host non di prima parte, [ricerca strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitata per impostazione predefinita. Impostare `ENABLE_TOOL_SEARCH=true` se il vostro proxy inoltra blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disabilitato quando questo punta a un host diverso da `api.anthropic.com`, corrispondendo al suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |151| `ANTHROPIC_BASE_URL` | Sovrascrive l'endpoint API per instradare le richieste tramite un proxy o un gateway. Quando è impostata su un host non di prima parte, [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search) è disattivato per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il tuo proxy inoltra i blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disattivato quando questa variabile punta a un host diverso da `api.anthropic.com`, in linea con il suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Sostituire l'URL dell'endpoint Amazon Bedrock. Utilizzare per endpoint Amazon Bedrock personalizzati o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedere [Amazon Bedrock](/docs/it/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi le richieste tramite un [gateway LLM](/docs/it/llm-gateway). Consulta [Amazon Bedrock](/docs/it/amazon-bedrock) |

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sostituire l'URL dell'endpoint Amazon Bedrock Mantle. Vedere [endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra aree (`us`, `eu`, `apac`, `jp`, `au`, o `global`) che Claude Code prova per primo al posto di quello derivato dall'area AWS. Ignorato nelle aree AWS GovCloud. Richiede Claude Code v2.1.224 o successivo. Vedere [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`us`, `eu`, `apac`, `jp`, `au` o `global`) che Claude Code prova per primo al posto di quello derivato dalla regione AWS. Ignorata nelle regioni AWS GovCloud. Richiede Claude Code v2.1.224 o successiva. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Livello di servizio](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex`, o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Vedere [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Livello di servizio](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) di Amazon Bedrock (`default`, `flex` o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori di intestazione `anthropic-beta` aggiuntivi da includere nelle richieste API. Claude Code invia già gli intestazioni beta di cui ha bisogno; utilizzare questo per aderire a un [beta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del flag [`--betas`](/docs/it/cli-reference#cli-flags), che richiede l'autenticazione con chiave API, questa variabile funziona con tutti i metodi di autenticazione incluso l'abbonamento Claude.ai |156| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'intestazione `anthropic-beta` da includere nelle richieste API. Claude Code invia già le intestazioni beta di cui ha bisogno; usa questa variabile per aderire a una [beta dell'API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del [flag `--betas`](/docs/it/cli-reference#cli-flags), che richiede l'autenticazione con chiave API, questa variabile funziona con tutti i metodi di autenticazione, incluso l'abbonamento Claude.ai |

157| `ANTHROPIC_CUSTOM_HEADERS` | Intestazioni personalizzate da aggiungere alle richieste (formato `Name: Value`, separato da nuova riga per più intestazioni). Se un nome o un valore contiene un carattere che un'intestazione HTTP non può trasportare, come una virgoletta ricurva o uno spazio di larghezza zero, la richiesta fallisce con un errore che identifica la coppia per posizione. Richiede Claude Code v2.1.227 o successivo. [Invalid request header value](/docs/it/errors#invalid-request-header-value) elenca l'insieme esatto di caratteri e dove viene eseguito il controllo. Un valore che imposta un'intestazione di credenziale, organizzazione o tenant, instradamento o comportamento API, come `Authorization` o `Host`, conta come un [impostazione che necessita approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog) quando le impostazioni gestite dal server la consegnano. Dalle impostazioni di progetto o locali, tale valore segue le [regole per quando i valori `env` si applicano](/docs/it/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | Intestazioni personalizzate da aggiungere alle richieste (formato `Name: Value`, separate da un a capo per più intestazioni). Se un nome o un valore contiene un carattere che un'intestazione HTTP non può trasportare, come una virgoletta curva o uno spazio a larghezza zero, la richiesta fallisce con un errore che identifica la coppia in base alla posizione. Richiede Claude Code v2.1.227 o successiva. [Valore dell'intestazione di richiesta non valido](/docs/it/errors#invalid-request-header-value) elenca l'esatto set di caratteri e dove viene eseguito il controllo. Un valore che imposta un'intestazione di credenziali, organizzazione o tenant, instradamento o comportamento dell'API, come `Authorization` o `Host`, conta come [impostazione che richiede approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog) quando viene fornito dalle impostazioni gestite dal server. Dalle impostazioni di progetto o locali, un valore di questo tipo segue le [regole su quando si applicano i valori `env`](/docs/it/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID modello da aggiungere come voce personalizzata nel selettore `/model`. Utilizzare per rendere selezionabile un modello non standard o specifico del gateway senza sostituire gli alias incorporati. Vedere [Configurazione del modello](/docs/it/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID del modello da aggiungere come voce personalizzata nel selettore `/model`. Usala per rendere selezionabile un modello non standard o specifico del gateway senza sostituire gli alias integrati. Consulta [Configurazione del modello](/docs/it/model-config#add-a-custom-model-option) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrizione di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Impostazione predefinita: `Custom model (<model-id>)` quando non impostato |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrizione visualizzata per la voce del modello personalizzato nel selettore `/model`. Il valore predefinito è `Custom model (<model-id>)` quando non è impostata |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Quando non impostato, la voce mostra il nome del modello se Claude Code [riconosce l'ID](/docs/it/model-config#customize-pinned-model-display-and-capabilities), e l'ID del modello altrimenti |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome visualizzato per la voce del modello personalizzato nel selettore `/model`. Quando non è impostato, la voce mostra il nome del modello se Claude Code [riconosce l'ID](/docs/it/model-config#customize-pinned-model-display-and-capabilities), altrimenti l'ID del modello |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello personalizzato, ad esempio `effort,thinking`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Elenco separato da virgole delle [funzionalità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello personalizzato, ad esempio `effort,thinking`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID modello a cui l'alias `fable` si risolve, e l'ID che Claude Code riconosce come modello Fable per il [fallback automatico del modello](/docs/it/model-config#automatic-model-fallback) su provider di terze parti. Vedere [Configurazione del modello](/docs/it/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID del modello a cui si risolve l'alias `fable` e ID che Claude Code riconosce come modello Fable per il [fallback automatico del modello](/docs/it/model-config#automatic-model-fallback) sui provider di terze parti. Consulta [Configurazione del modello](/docs/it/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Fable bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Fable model`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrizione visualizzata per il modello Fable fissato nel selettore `/model`. Quando non è impostata, la riga mostra una descrizione predefinita che inizia con `Custom Fable model`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome di visualizzazione per il modello Fable bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome visualizzato per il modello Fable fissato nel selettore `/model`. Quando non è impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID fissato, altrimenti l'ID fissato. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Fable bloccato, ad esempio `effort,thinking`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole delle [funzionalità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Fable fissato, ad esempio `effort,thinking`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID modello a cui l'alias `haiku` si risolve, utilizzato anche per [funzionalità in background](/docs/it/costs#background-token-usage). Vedere [Configurazione del modello](/docs/it/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID del modello a cui si risolve l'alias `haiku`, usato anche per le [funzionalità in background](/docs/it/costs#background-token-usage). Consulta [Configurazione del modello](/docs/it/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Haiku bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Haiku model`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrizione visualizzata per il modello Haiku fissato nel selettore `/model`. Quando non è impostata, la riga mostra una descrizione predefinita che inizia con `Custom Haiku model`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome di visualizzazione per il modello Haiku bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome visualizzato per il modello Haiku fissato nel selettore `/model`. Quando non è impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID fissato, altrimenti l'ID fissato. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Haiku bloccato, ad esempio `effort,thinking`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole delle [funzionalità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Haiku fissato, ad esempio `effort,thinking`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | Modello su cui le nuove sessioni iniziano per impostazione predefinita. Richiede Claude Code v2.1.236 o successivo. Vedere [Impostare un modello predefinito per le nuove sessioni](/docs/it/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | Modello con cui le nuove sessioni si avviano per impostazione predefinita. Richiede Claude Code v2.1.236 o successiva. Consulta [Impostare un modello predefinito per le nuove sessioni](/docs/it/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID modello a cui l'alias `opus` si risolve, e che `opusplan` utilizza mentre Plan Mode è attivo. Vedere [Configurazione del modello](/docs/it/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID del modello a cui si risolve l'alias `opus` e che `opusplan` usa mentre il Plan Mode è attivo. Consulta [Configurazione del modello](/docs/it/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Opus bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Opus model`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrizione visualizzata per il modello Opus fissato nel selettore `/model`. Quando non è impostata, la riga mostra una descrizione predefinita che inizia con `Custom Opus model`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome di visualizzazione per il modello Opus bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome visualizzato per il modello Opus fissato nel selettore `/model`. Quando non è impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID fissato, altrimenti l'ID fissato. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Opus bloccato, ad esempio `effort,thinking`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole delle [funzionalità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Opus fissato, ad esempio `effort,thinking`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID modello a cui l'alias `sonnet` si risolve, e che `opusplan` utilizza quando Plan Mode non è attivo. Vedere [Configurazione del modello](/docs/it/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID del modello a cui si risolve l'alias `sonnet` e che `opusplan` usa quando il Plan Mode non è attivo. Consulta [Configurazione del modello](/docs/it/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Sonnet bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Sonnet model`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrizione visualizzata per il modello Sonnet fissato nel selettore `/model`. Quando non è impostata, la riga mostra una descrizione predefinita che inizia con `Custom Sonnet model`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome di visualizzazione per il modello Sonnet bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome visualizzato per il modello Sonnet fissato nel selettore `/model`. Quando non è impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID fissato, altrimenti l'ID fissato. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Sonnet bloccato, ad esempio `effort,thinking`. Vedere [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole delle [funzionalità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Sonnet fissato, ad esempio `effort,thinking`. Consulta [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | ID regola di federazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Quando lo impostate insieme a `ANTHROPIC_ORGANIZATION_ID`, Claude Code seleziona le credenziali di federazione, che hanno la precedenza sulla vostra credenziale `/login`. Vedere [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | ID della regola di federazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Quando la imposti insieme a `ANTHROPIC_ORGANIZATION_ID`, Claude Code seleziona le credenziali di federazione, che hanno priorità superiore rispetto alla tua credenziale `/login`. Consulta [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer per l'autenticazione Microsoft Foundry, come un token di accesso Microsoft Entra. Claude Code lo invia come intestazione `Authorization: Bearer`. Ha la precedenza su `ANTHROPIC_FOUNDRY_API_KEY` e sulla catena di credenziali predefinita di Azure. Vedere [Microsoft Foundry](/docs/it/microsoft-foundry). Richiede Claude Code v2.1.203 o successivo |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer per l'autenticazione Microsoft Foundry, come un token di accesso Microsoft Entra. Claude Code lo invia come intestazione `Authorization: Bearer`. Ha la precedenza su `ANTHROPIC_FOUNDRY_API_KEY` e sulla catena di credenziali predefinita di Azure. Consulta [Microsoft Foundry](/docs/it/microsoft-foundry). Richiede Claude Code v2.1.203 o successiva |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | URL di base completo per la risorsa Microsoft Foundry (ad esempio, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | URL di base completo per la risorsa Microsoft Foundry (ad esempio, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome della risorsa Microsoft Foundry (ad esempio, `my-resource`). Obbligatorio se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostato (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome della risorsa Microsoft Foundry (ad esempio, `my-resource`). Obbligatoria se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostata (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da utilizzare (vedere [Configurazione del modello](/docs/it/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da usare (consulta [Configurazione del modello](/docs/it/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | ID organizzazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostatelo insieme a `ANTHROPIC_FEDERATION_RULE_ID`. Vedere [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | ID dell'organizzazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostala insieme a `ANTHROPIC_FEDERATION_RULE_ID`. Consulta [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | Nome del profilo Anthropic con cui autenticarsi, come uno creato da [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) o da [accesso a un account Console senza chiave API](/docs/it/authentication#sign-in-without-an-api-key). Vedere [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | Nome del profilo Anthropic con cui autenticarsi, come uno creato da [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) o [accedendo a un account Console senza una chiave API](/docs/it/authentication#sign-in-without-an-api-key). Consulta [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATO] Nome di [modello di classe Haiku per attività in background](/docs/it/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATA] Nome del [modello di classe Haiku per le attività in background](/docs/it/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sostituire l'area AWS per il modello di classe Haiku quando si utilizza Amazon Bedrock o Amazon Bedrock Mantle. Su Amazon Bedrock, questo ha effetto solo quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` o il deprecato `ANTHROPIC_SMALL_FAST_MODEL` è anche impostato, poiché Amazon Bedrock altrimenti esegue attività in background sul [modello Sonnet predefinito o sul modello primario](/docs/it/amazon-bedrock#4-pin-model-versions) nell'area della sessione |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sovrascrive la regione AWS per il modello di classe Haiku quando usi Amazon Bedrock o Amazon Bedrock Mantle. Su Amazon Bedrock, ha effetto solo quando è impostata anche `ANTHROPIC_DEFAULT_HAIKU_MODEL` o la deprecata `ANTHROPIC_SMALL_FAST_MODEL`, poiché altrimenti Amazon Bedrock esegue le attività in background sul [modello Sonnet predefinito o sul modello principale](/docs/it/amazon-bedrock#4-pin-model-versions) nella regione della sessione |

189| `ANTHROPIC_VERTEX_BASE_URL` | Sostituire l'URL dell'endpoint Google Cloud's Agent Platform. Utilizzare per endpoint Google Cloud's Agent Platform personalizzati o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedere [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Sovrascrive l'URL dell'endpoint di Google Cloud's Agent Platform. Usala per endpoint personalizzati di Google Cloud's Agent Platform o quando instradi le richieste tramite un [gateway LLM](/docs/it/llm-gateway). Consulta [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID progetto GCP a cui sono indirizzate le richieste di Google Cloud's Agent Platform. Vedere [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID del progetto GCP a cui sono indirizzate le richieste a Google Cloud's Agent Platform. Consulta [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | ID area di lavoro per [federazione dell'identità del carico di lavoro](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostatelo quando la vostra regola di federazione è limitata a più di un'area di lavoro in modo che lo scambio di token sappia quale area di lavoro scegliere come destinazione |191| `ANTHROPIC_WORKSPACE_ID` | ID del workspace per la [federazione delle identità dei carichi di lavoro](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostala quando la tua regola di federazione è limitata a più di un workspace, in modo che lo scambio di token sappia quale workspace usare come destinazione |

192| `API_FORCE_IDLE_TIMEOUT` | Sostituire il timeout di inattività del corpo di 5 minuti che interrompe una risposta del modello in streaming quando non arrivano byte. Impostare su `0` per disattivare il timeout, ad esempio quando un [gateway](/docs/it/llm-gateway) lento o un modello locale fa una pausa più lunga di 5 minuti tra i chunk, o `1` per mantenerlo attivo per ogni provider. Quando non impostato, il timeout è attivo su provider diversi dall'API Anthropic diretta e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). I [watchdog di flusso](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando impostate `0` qui |192| `API_FORCE_IDLE_TIMEOUT` | Sovrascrive il timeout di inattività del corpo di 5 minuti che interrompe una risposta del modello in streaming quando non arrivano byte. Imposta `0` per disattivare il timeout, ad esempio quando un [gateway](/docs/it/llm-gateway) lento o un modello locale fa pause più lunghe di 5 minuti tra un blocco e l'altro, oppure `1` per mantenerlo attivo per ogni provider. Quando non è impostata, il timeout è attivo sui provider diversi dall'API Anthropic diretta, da [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e da Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` impostata. I [watchdog dello stream](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando imposti `0` qui |

193| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, o 10 minuti; massimo: 2147483647). Aumentare quando le richieste scadono su reti lente o quando si instrada attraverso un proxy. I valori superiori al massimo causano un overflow del timer sottostante e causano il fallimento immediato delle richieste |193| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, ovvero 10 minuti; massimo: 2147483647). Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi le richieste tramite un proxy. I valori superiori al massimo causano l'overflow del timer sottostante e fanno fallire immediatamente le richieste |

194| `AWS_BEARER_TOKEN_BEDROCK` | Chiave API Amazon Bedrock per l'autenticazione (vedere [Chiavi API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |194| `AWS_BEARER_TOKEN_BEDROCK` | Chiave API di Amazon Bedrock per l'autenticazione (consulta [Chiavi API di Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout predefinito per i comandi bash a lunga esecuzione (predefinito: 120000, o 2 minuti) |195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout predefinito per un comando in primo piano dello strumento Bash o PowerShell, in millisecondi (predefinito: 120000, ovvero 2 minuti). Un valore predefinito superiore a 30 minuti diventa anche il [limite di tempo predefinito per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands). Il limite di tempo in background richiede Claude Code v2.1.285 o successiva |

196| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri dell'output bash che Claude Code legge di nuovo nel risultato di un comando (predefinito: 30000; massimo: 150000). Se impostate l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars), Claude Code ignora questa variabile. Vedere [Limiti di output](/docs/it/tools-reference#output-limits) |196| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri dell'output bash che Claude Code rilegge nel risultato di un comando (predefinito: 30000; massimo: 150000). Se configuri l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars), Claude Code ignora questa variabile. Consulta [Limiti di output](/docs/it/tools-reference#output-limits) |

197| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione (predefinito: 600000, o 10 minuti). Il limite effettivo è il maggiore tra questo e `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per un comando in primo piano dello strumento Bash o PowerShell, in millisecondi (predefinito: 600000, ovvero 10 minuti). Il limite effettivo è il maggiore tra questo valore e `BASH_DEFAULT_TIMEOUT_MS`. Un limite effettivo superiore a 2 ore diventa anche il [limite di tempo massimo per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands). Il limite di tempo in background richiede Claude Code v2.1.285 o successiva |

198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP per [tracciamento beta dettagliato](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, i log e le tracce vanno lì invece che agli esportatori configurati. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP per il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, log e trace vengono inviati lì invece che agli exporter configurati. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

199| `CCR_FORCE_BUNDLE` | Impostare su `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a raggruppare e caricare il vostro repository locale invece di clonarlo dal suo remoto |199| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a creare un bundle del tuo repository locale e caricarlo invece di clonarlo dal suo remote |

200| `CLAUDECODE` | Impostare su `1` nei sottoprocessi che Claude Code genera (strumenti Bash e PowerShell, sessioni tmux, comandi [hook](/docs/it/hooks), comandi [linea di stato](/docs/it/statusline), sottoprocessi [server MCP](/docs/it/mcp) stdio). Le estensioni IDE impostano anche questo nei loro terminali integrati. Utilizzare per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso generato da Claude Code. Per verificare se il processo corrente è stato generato direttamente da una chiamata di strumento o hook, piuttosto che all'interno di un server MCP stdio che Claude Code ha avviato, utilizzare `CLAUDE_CODE_CHILD_SESSION` |200| `CLAUDECODE` | Impostata su `1` nei sottoprocessi avviati da Claude Code (strumenti Bash e PowerShell, sessioni tmux, comandi degli [hook](/docs/it/hooks), comandi della [riga di stato](/docs/it/statusline), sottoprocessi dei [server MCP](/docs/it/mcp) stdio). Anche le estensioni IDE la impostano nei loro terminali integrati. Usala per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso avviato da Claude Code. Per verificare se il processo corrente è stato avviato direttamente da una chiamata a uno strumento o da un hook, anziché all'interno di un server MCP stdio avviato da Claude Code, usa invece `CLAUDE_CODE_CHILD_SESSION` |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Quanti millisecondi prima dell'auto-continuazione il conto alla rovescia sullo schermo appare su una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta. Predefinito `20000` (20 secondi), limitato al timeout di auto-continuazione. Non ha effetto a meno che l'auto-continuazione non sia attiva; vedere l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Richiede Claude Code v2.1.198 o successivo |201| `CLAUDE_AFK_COUNTDOWN_MS` | Quanti millisecondi prima della continuazione automatica compare il conto alla rovescia sullo schermo in una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta. Predefinito `20000` (20 secondi), limitato al timeout di continuazione automatica. Non ha effetto a meno che la continuazione automatica non sia attiva; consulta l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Richiede Claude Code v2.1.198 o successiva |

202| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di tempo di inattività prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui automaticamente senza di voi. L'auto-continuazione è disattivata per impostazione predefinita; aderire con l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout). Questa variabile è un override per demo e test automatizzati: quando impostata, ha la precedenza su tale impostazione e attiva l'auto-continuazione anche quando l'impostazione non è impostata o è `never`. L'impostazione di `0` non disattiva il timeout; chiude la finestra di dialogo immediatamente. Nella v2.1.198 e v2.1.199, l'auto-continuazione era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o successivo |202| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di inattività prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta prosegua automaticamente senza di te. La continuazione automatica è disattivata per impostazione predefinita; attivala con l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout). Questa variabile è un override per demo e test automatizzati: quando è impostata, ha la precedenza su quell'impostazione e attiva la continuazione automatica anche quando l'impostazione non è configurata o è `never`. Impostare `0` non disattiva il timeout; chiude immediatamente la finestra di dialogo. Nella v2.1.198 e nella v2.1.199, la continuazione automatica era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o successiva |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Impostare su `1` per disabilitare tutti i tipi di [subagent](/docs/it/sub-agents) incorporati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che desiderano una lavagna pulita. Questo rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata dello strumento Agent omette `subagent_type`. Tale chiamata fallisce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disattivare tutti i tipi di [subagent](/docs/it/sub-agents) integrati, come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti dell'SDK che vogliono partire da zero. Questo rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata allo strumento Agent omette `subagent_type`. Una chiamata di questo tipo fallisce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Impostare su `1` per saltare il prefisso `mcp__<server>__` sui nomi degli strumenti dai server MCP creati da SDK. Gli strumenti utilizzano i loro nomi originali. Solo utilizzo SDK |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per omettere il prefisso `mcp__<server>__` nei nomi degli strumenti dei server MCP creati tramite SDK. Gli strumenti usano i loro nomi originali. Solo per l'uso con l'SDK |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Predefinito `600000` (10 minuti); se aumentate `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mentre il watchdog di flusso è attivo, il predefinito aumenta con esso, come [Gestire risposte API lente o bloccate](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses) descrive. Il timer si ripristina su ogni evento di progresso di streaming; se nessun progresso arriva entro la finestra, Claude Code interrompe il subagent e segnala lo stallo al genitore |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Predefinito `600000` (10 minuti); se aumenti `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mentre il watchdog dello stream è attivo, il valore predefinito aumenta di conseguenza, come descritto in [Gestire risposte API lente o bloccate](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Il timer si azzera a ogni evento di avanzamento dello streaming; se non arriva alcun avanzamento entro la finestra, Claude Code interrompe il subagent e segnala lo stallo all'agente padre |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Impostare la percentuale (1-100) della finestra di auto-compattazione in cui si attiva la compattazione automatica. Utilizzare valori inferiori come `50` per compattare prima; la variabile non può aumentare la soglia, quindi i valori superiori alla percentuale predefinita vengono ignorati. Si applica solo alle sessioni che [compattano prima del limite di contesto del modello](/docs/it/model-config#context-window-and-auto-compaction). Si applica sia alle conversazioni principali che ai subagent |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Imposta la percentuale (1-100) della finestra di compattazione automatica alla quale si attiva la compattazione automatica. Usa valori più bassi come `50` per compattare prima; la variabile non può alzare la soglia, quindi i valori superiori alla percentuale predefinita vengono ignorati. Si applica solo nelle sessioni che [compattano prima del limite di contesto del modello](/docs/it/model-config#context-window-and-auto-compaction). Si applica sia alle conversazioni principali sia ai subagent |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Impostare su `1` per forzare l'abilitazione dello sfondo automatico dei compiti agenti a lunga esecuzione. Quando abilitato, i subagent vengono spostati in background dopo l'esecuzione per circa due minuti. Abilita anche [lo sfondo automatico delle lunghe chiamate di strumenti MCP](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) in modalità non interattiva su Claude Code v2.1.212 o successivo |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Imposta su `1` per forzare l'attivazione dello spostamento automatico in background delle attività degli agenti a lunga esecuzione. Quando è attiva, i subagent vengono spostati in background dopo circa due minuti di esecuzione. Attiva anche lo [spostamento automatico in background delle chiamate lunghe agli strumenti MCP](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) in modalità non interattiva su Claude Code v2.1.212 o successiva |

208| `CLAUDE_AX_PREPARK_MS` | In [modalità lettore di schermo](/docs/it/accessibility#what-your-screen-reader-hears), quanti millisecondi Claude Code aspetta, con il cursore all'inizio della riga, prima di scrivere una riga nuova o modificata. Predefinito `50`. Impostare `0` per scrivere immediatamente. Claude Code limita l'attesa a `5000`. Richiede Claude Code v2.1.233 o successivo |208| `CLAUDE_AX_PREPARK_MS` | In [modalità screen reader](/docs/it/accessibility), quanti millisecondi Claude Code attende prima di scrivere una riga nuova o modificata. Predefinito `0`, quindi Claude Code non attende. Prima della v2.1.287, il valore predefinito era `50`. Claude Code limita l'attesa a `5000`. Richiede Claude Code v2.1.233 o successiva |

209| `CLAUDE_AX_SCREEN_READER` | Impostare su `1` per eseguire il rendering dell'output compatibile con il lettore di schermo: testo piatto senza bordi decorativi o animazioni. Impostare su `0` per forzare la disattivazione della modalità lettore di schermo anche quando [`axScreenReader`](/docs/it/settings-reference#axscreenreader) è `true`. Il flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successivo |209| `CLAUDE_AX_SCREEN_READER` | Imposta su `1` per generare un output adatto agli screen reader: testo semplice senza bordi decorativi o animazioni. Imposta su `0` per forzare la disattivazione della modalità screen reader anche quando [`axScreenReader`](/docs/it/settings-reference#axscreenreader) è `true`. Il flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successiva |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | In [modalità lettore di schermo](/docs/it/accessibility), quanti millisecondi Claude Code mantiene il primo rendering dell'interfaccia dopo la riga di conferma di avvio, in modo che il vostro lettore di schermo possa pronunciare la riga completamente prima che il nuovo output l'interrompa. Predefinito `3000`. Impostare `0` per eseguire il rendering immediatamente. Claude Code limita la sospensione a `600000` (10 minuti). La vostra prima pressione di tasto termina la sospensione in anticipo. Richiede Claude Code v2.1.217 o successivo |210| `CLAUDE_AX_STARTUP_QUIET_MS` | In [modalità screen reader](/docs/it/accessibility), per quanti millisecondi Claude Code trattiene il primo rendering dell'interfaccia dopo la riga di conferma dell'avvio, in modo che il tuo screen reader possa leggere la riga per intero prima che nuovo output la interrompa. Predefinito `3000`. Imposta `0` per eseguire subito il rendering. Claude Code limita l'attesa a `600000` (10 minuti). Il primo tasto che premi termina l'attesa in anticipo. Richiede Claude Code v2.1.217 o successiva |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Tornare alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Torna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi per il watchdog di inattività di flusso a livello di byte; quando impostato, ha la precedenza su `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per quel watchdog e lascia il watchdog a livello di evento invariato. Claude Code limita questa variabile tra 10 secondi e 30 minuti. Richiede Claude Code v2.1.210 o successivo |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi per il watchdog di inattività dello streaming a livello di byte; quando è impostata, ha la precedenza su `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per quel watchdog e lascia invariato il watchdog a livello di evento. Claude Code limita questa variabile a un valore compreso tra 10 secondi e 30 minuti. Richiede Claude Code v2.1.210 o successiva |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | Percorso a un file che uno strumento esterno, come un listener di blocco dello schermo, crea quando sbloccare lo schermo e elimina quando lo blocca. Mentre il file esiste, Claude Code salta [notifiche push mobili di Remote Control](/docs/it/remote-control#mobile-push-notifications), quindi smettete di ricevere push mentre state utilizzando attivamente il computer. Quando il file è assente o illeggibile, le notifiche vengono inviate normalmente. Claude Code controlla il file una volta per evento di attivazione push piuttosto che eseguire il polling. Richiede Claude Code v2.1.181 o successivo |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Percorso di un file che uno strumento esterno, come un listener del blocco schermo, crea quando sblocchi lo schermo ed elimina quando lo blocchi. Finché il file esiste, Claude Code salta le [notifiche push mobili di Remote Control](/docs/it/remote-control#mobile-push-notifications), così smetti di ricevere notifiche push mentre usi attivamente il computer. Quando il file è assente o illeggibile, le notifiche vengono inviate normalmente. Claude Code controlla il file una volta per ogni evento che attiva una notifica push, anziché interrogarlo periodicamente. Richiede Claude Code v2.1.181 o successiva |

214| `CLAUDE_CODE_ACCESSIBILITY` | Impostare su `1` per mantenere visibile il cursore del terminale nativo e disabilitare l'indicatore del cursore con testo invertito. Consente ai magnifier dello schermo come macOS Zoom di tracciare la posizione del cursore |214| `CLAUDE_CODE_ACCESSIBILITY` | Imposta su `1` per mantenere visibile il cursore nativo del terminale e disattivare l'indicatore del cursore a testo invertito. Consente agli ingranditori dello schermo come Zoom di macOS di seguire la posizione del cursore |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Impostare su `1` per caricare i file di memoria dalle directory specificate con `--add-dir`. Carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, e `CLAUDE.local.md`. Per impostazione predefinita, le directory aggiuntive non caricano i file di memoria |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Imposta su `1` per caricare i file di memoria dalle directory specificate con `--add-dir`. Carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md`. Per impostazione predefinita, le directory aggiuntive non caricano i file di memoria |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Impostare su `1` per ridisegnare l'intero schermo su ogni frame nel [rendering a schermo intero](/docs/it/fullscreen) invece di inviare aggiornamenti incrementali. Utilizzare se la modalità a schermo intero mostra frammenti di testo stantii o posizionati male. Claude Code abilita questo automaticamente per le sessioni in background e [visualizzazione agente](/docs/it/agent-view) su Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Imposta su `1` per ridisegnare l'intero schermo a ogni frame nel [rendering a schermo intero](/docs/it/fullscreen) invece di inviare aggiornamenti incrementali. Usala se la modalità a schermo intero mostra frammenti di testo obsoleti o fuori posto. Claude Code la attiva automaticamente per le sessioni in background e per la [vista agenti](/docs/it/agent-view) su Windows |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Impostare su `1` per inviare il parametro [effort](/docs/it/model-config#adjust-effort-level) con ogni richiesta, anche quando Claude Code non riconosce l'ID del modello come in grado di supportare lo sforzo. Utilizzare quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway) o provider di terze parti che serve modelli con identificatori personalizzati. I modelli che rifiutano il parametro effort all'API, inclusi i modelli Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1, e Haiku 4.5, sono comunque esclusi in modo che le richieste non falliscano |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Imposta su `1` per inviare il parametro [effort](/docs/it/model-config#adjust-effort-level) con ogni richiesta, anche quando Claude Code non riconosce l'ID del modello come compatibile con effort. Usala quando instradi le richieste tramite un [gateway LLM](/docs/it/llm-gateway) o un provider di terze parti che serve modelli con identificatori personalizzati. I modelli che rifiutano il parametro effort a livello di API, inclusi i modelli Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1 e Haiku 4.5, restano comunque esclusi, così le richieste non falliscono |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi in cui le credenziali devono essere aggiornate (quando si utilizza [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi con cui le credenziali devono essere aggiornate (quando usi [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Impostare su `0` per impedire a Claude Code di aprire il browser automaticamente quando viene pubblicato un nuovo [artifact](/docs/it/artifacts#create-an-artifact) |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Imposta su `0` per impedire a Claude Code di aprire automaticamente il browser quando viene pubblicato un nuovo [artefatto](/docs/it/artifacts#create-an-artifact) |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Impostare su `0` per impedire a Claude di leggere e rispondere ai [commenti su un artifact](/docs/it/artifacts#collect-comments-on-an-artifact). Non ha effetto quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ha [disattivato gli artifact](/docs/it/artifacts#availability). Richiede Claude Code v2.1.221 o successivo |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Imposta su `0` per impedire a Claude di leggere e rispondere ai [commenti su un artefatto](/docs/it/artifacts#collect-comments-on-an-artifact). Non ha effetto quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ha [disattivato gli artefatti](/docs/it/artifacts#availability). Richiede Claude Code v2.1.221 o successiva |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Impostare su `0` per impedire a Claude di [rispondere da solo ai commenti inviatigli](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Richiede Claude Code v2.1.228 o successivo |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Imposta su `0` per impedire a Claude di [rispondere autonomamente ai commenti che gli vengono inviati](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Richiede Claude Code v2.1.228 o successiva |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Impostare su `0` per omettere il [blocco di attribuzione](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), che trasporta la versione del client e un'impronta digitale del prompt, dall'inizio del prompt di sistema. La memorizzazione in cache su una connessione diretta all'API Anthropic non è interessata in entrambi i casi. In alcuni setup di connessione diretta, Claude Code mantiene il blocco sulle richieste del classificatore [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) anche quando impostate `0`. In [Blocco di attribuzione del prompt di sistema](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), controllate quali connessioni e credenziali questo copre. Prima della v2.1.181 il blocco includeva un token per richiesta su URL di base personalizzati e connessioni Microsoft Foundry, quindi su quelle versioni impostatelo su `0` quando il vostro gateway LLM memorizza in cache il corpo della richiesta o inoltra le richieste a un provider di terze parti, o quando vi connettete a Microsoft Foundry direttamente |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Imposta su `0` per omettere il [blocco di attribuzione](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), che contiene la versione del client e un'impronta del prompt, dall'inizio del prompt di sistema. La memorizzazione nella cache su una connessione diretta all'API Anthropic non è influenzata in nessun caso. In alcune configurazioni con connessione diretta, Claude Code mantiene il blocco nelle richieste al classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) anche quando imposti `0`. In [Blocco di attribuzione del prompt di sistema](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), verifica quali connessioni e credenziali sono interessate. Prima della v2.1.181 il blocco includeva un token per richiesta sugli URL di base personalizzati e sulle connessioni Microsoft Foundry, quindi su quelle versioni impostala su `0` quando il tuo gateway LLM memorizza nella cache in base al corpo della richiesta o inoltra le richieste a un provider di terze parti, oppure quando ti connetti direttamente a Microsoft Foundry |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è abilitato, secondi tra i promemoria a Claude di controllare i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ancora in esecuzione. Accetta un numero intero semplice da `1` a `86400` solo; qualsiasi altro valore o ortografia legge come non impostato. Quando non impostato, non ci sono promemoria di check-in. Richiede Claude Code v2.1.248 o successivo |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è attiva, secondi tra i promemoria a Claude per controllare i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ancora in esecuzione. Accetta solo un intero semplice da `1` a `86400`; qualsiasi altro valore o grafia viene letto come non impostato. Quando non è impostata, non ci sono promemoria di controllo. Richiede Claude Code v2.1.248 o successiva |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Impostare la [finestra di auto-compattazione](/docs/it/model-config#set-the-auto-compact-window) in token, da `100000` a `1000000`. Accetta un numero intero semplice come `500000` solo: un valore come `500k` legge come `500` e si limita al minimo di 100K. La finestra effettiva è anche limitata alla finestra di contesto del modello. Ha la precedenza sul comando `/autocompact`, il flag `--autocompact` e l'impostazione `autoCompactWindow`. La percentuale `used_percentage` della linea di stato misura sempre contro la finestra di contesto completa del modello, quindi una volta impostata questa variabile, quella percentuale non indica più quando verrà eseguita la compattazione |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Imposta la [finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) in token, da `100000` a `1000000`. Accetta solo un intero semplice come `500000`: un valore come `500k` viene letto come `500` e viene portato al minimo di 100K. La finestra effettiva è inoltre limitata alla finestra di contesto del modello. Ha la precedenza sul comando `/autocompact`, sul flag `--autocompact` e sull'impostazione `autoCompactWindow`. Il valore `used_percentage` della riga di stato si misura sempre rispetto all'intera finestra di contesto del modello, quindi una volta impostata questa variabile, quella percentuale non indica più quando verrà eseguita la compattazione |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sostituire la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando avviato all'interno del terminale integrato di un IDE supportato. Impostare su `false` per impedire questo. Impostare su `true` per forzare un tentativo di connessione quando l'auto-rilevamento fallisce, ad esempio quando tmux oscura il terminale genitore. Ha la precedenza sull'impostazione di configurazione globale [`autoConnectIde`](/docs/it/settings-reference#autoconnectide) |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrive la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando viene avviato nel terminale integrato di un IDE supportato. Imposta su `false` per impedirlo. Imposta su `true` per forzare un tentativo di connessione quando il rilevamento automatico non riesce, ad esempio quando tmux nasconde il terminale padre. Ha la precedenza sull'impostazione di configurazione globale [`autoConnectIde`](/docs/it/settings-reference#autoconnectide) |

226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controlla se Claude Code chiede al server di [rivedere le azioni della modalità auto](/docs/it/permission-modes#server-side-classifier-review). Impostare su `0` per utilizzare le richieste del classificatore di Claude Code. Su una connessione diretta all'API Anthropic, richiede v2.1.281 o successivo. La sezione collegata elenca quali sessioni chiedono al server quando la variabile non è impostata e da quale versione. Richiede Claude Code v2.1.271 o successivo |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controlla se Claude Code chiede al server di [esaminare le azioni della modalità auto](/docs/it/permission-modes#server-side-classifier-review). Imposta su `0` per usare invece le richieste al classificatore di Claude Code stesso. Su una connessione diretta all'API Anthropic, richiede la v2.1.281 o successiva. La sezione collegata elenca quali sessioni interpellano il server quando la variabile non è impostata, e da quale versione. Richiede Claude Code v2.1.271 o successiva |

227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi che Claude Code aspetta affinché la catena del provider di credenziali predefinito AWS produca credenziali prima che la richiesta fallisca con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out) (predefinito: `60000`). Aumentare quando un passaggio nella vostra catena ha legittimamente bisogno di più tempo, come un accesso SSO basato su browser con MFA attraverso un wrapper come `aws-vault`. Si applica ovunque Claude Code firmi con la catena predefinita: [Amazon Bedrock](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Richiede Claude Code v2.1.207 o successivo |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi che Claude Code attende affinché la catena predefinita dei provider di credenziali AWS produca le credenziali prima che la richiesta fallisca con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out) (predefinito: `60000`). Aumentalo quando un passaggio della tua catena richiede legittimamente più tempo, come un accesso SSO basato su browser con MFA tramite un wrapper come `aws-vault`. Si applica ovunque Claude Code firmi con la catena predefinita: [Amazon Bedrock](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Richiede Claude Code v2.1.207 o successiva |

228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Impostare su `0` per disattivare il [diff dei file che sono cambiati mentre un comando Bash era in esecuzione](/docs/it/hooks#bash), o `1` per registrarlo in ogni modalità di autorizzazione. Ha la precedenza sull'impostazione [`bashEditDiffEnabled`](/docs/it/settings-reference#basheditdiffenabled). Richiede Claude Code v2.1.269 o successivo |228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Imposta su `0` per disattivare il [diff dei file modificati durante l'esecuzione di un comando Bash](/docs/it/hooks#bash), oppure su `1` per registrarlo in ogni modalità di permesso. Ha la precedenza sull'impostazione [`bashEditDiffEnabled`](/docs/it/settings-reference#basheditdiffenabled). Richiede Claude Code v2.1.269 o successiva |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Impostare su `0` per fare in modo che una sessione non interattiva segnali uno stato di inattività al suo host alla fine di ogni turno, anche mentre il lavoro in background è ancora in esecuzione. Per impostazione predefinita, la sessione continua a segnalare uno stato di esecuzione oltre la fine del turno mentre il lavoro in background come un agente in background o un'esecuzione di [workflow](/docs/it/workflows) è ancora attivo. Questo impedisce a un host che osserva lo stato, come un elenco di sessioni remote, di annunciare che Claude sta aspettando il vostro input a metà lavoro. I comandi shell in background, come un server di sviluppo, non mantengono lo stato di esecuzione. Il predefinito dello stato di esecuzione e l'opt-out di `0` richiedono Claude Code v2.1.269 o successivo; su versioni precedenti, impostare `1` per mantenere lo stato di esecuzione |229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Imposta su `0` per fare in modo che una sessione non interattiva segnali al proprio host uno stato inattivo alla fine di ogni turno, anche mentre è ancora in corso lavoro in background. Per impostazione predefinita, la sessione continua a segnalare uno stato in esecuzione dopo la fine del turno finché il lavoro in background, come un agente in background o un'esecuzione di un [workflow](/docs/it/workflows), è ancora attivo. Questo impedisce a un host che osserva lo stato, come un elenco di sessioni remote, di annunciare che Claude è in attesa del tuo input a metà lavoro. I comandi shell in background, come un server di sviluppo, non mantengono lo stato in esecuzione. Il valore predefinito dello stato in esecuzione e la disattivazione con `0` richiedono Claude Code v2.1.269 o successiva; nelle versioni precedenti, imposta `1` per mantenere lo stato in esecuzione |

230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Impostato automaticamente nei sottoprocessi dello strumento Bash e [comando hook](/docs/it/hooks) mentre la sessione ha una connessione [Remote Control](/docs/it/remote-control) attiva, e rimosso quando la connessione termina. Il valore è l'ID della sessione in forma `session_`, lo stesso identificatore che appare nell'URL `claude.ai/code` della sessione, quindi uno script può collegarsi di nuovo alla sessione che lo ha eseguito. Richiede Claude Code v2.1.199 o successivo. Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), leggere `CLAUDE_CODE_REMOTE_SESSION_ID` |230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Impostata automaticamente nei sottoprocessi dello strumento Bash e dei [comandi degli hook](/docs/it/hooks) mentre la sessione ha una connessione [Remote Control](/docs/it/remote-control) attiva, e rimossa al termine della connessione. Il valore è l'ID della sessione nel formato `session_`, lo stesso identificatore che compare nell'URL `claude.ai/code` della sessione, così uno script può collegarsi alla sessione che lo ha eseguito. Richiede Claude Code v2.1.199 o successiva. Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), leggi invece `CLAUDE_CODE_REMOTE_SESSION_ID` |

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Impostare su `0` per fare in modo che Claude Code legga il byte `0x08`, anche scritto `^H`, come Backspace semplice, o `1` per leggerlo come Ctrl+Backspace. Entrambi i valori sostituiscono il predefinito della piattaforma. Per impostazione predefinita, Claude Code lo legge come Ctrl+Backspace su Windows, tranne quando `TERM_PROGRAM` è `mintty` o `TERM` è `cygwin`, e come Backspace semplice su macOS e Linux. Impostare `0` in un terminale Windows dove [Backspace elimina un'intera parola](/docs/it/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Imposta su `0` per fare in modo che Claude Code legga il byte `0x08`, scritto anche `^H`, come semplice Backspace, oppure su `1` per leggerlo come Ctrl+Backspace. Entrambi i valori sostituiscono il comportamento predefinito della piattaforma. Per impostazione predefinita, Claude Code lo legge come Ctrl+Backspace su Windows, tranne quando `TERM_PROGRAM` è `mintty` o `TERM` è `cygwin`, e come semplice Backspace su macOS e Linux. Imposta `0` in un terminale Windows in cui [Backspace elimina un'intera parola](/docs/it/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

232| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole di fonti di certificati CA per le connessioni TLS. `bundled` è l'insieme Mozilla CA fornito con Claude Code. `system` è l'archivio di fiducia del sistema operativo, letto solo su runtime con `tls.getCACertificates`: il binario nativo, o Node 22.15 o successivo per le installazioni npm. Vedere [Archivio di certificati CA](/docs/it/network-config#ca-certificate-store). Il predefinito è `bundled,system` |232| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole delle origini dei certificati CA per le connessioni TLS. `bundled` è il set di CA Mozilla fornito con Claude Code. `system` è l'archivio di attendibilità del sistema operativo, letto solo sui runtime con `tls.getCACertificates`: il binario nativo, oppure Node 22.15 o successivo per le installazioni npm. Consulta [Archivio dei certificati CA](/docs/it/network-config#ca-certificate-store). Il valore predefinito è `bundled,system` |

233| `CLAUDE_CODE_CHILD_SESSION` | Impostato su `1` nei sottoprocessi che Claude Code genera tramite gli strumenti Bash, PowerShell e Monitor, comandi [hook](/docs/it/hooks) e comandi [linea di stato](/docs/it/statusline). Non impostato per i sottoprocessi [server MCP](/docs/it/mcp) stdio, che sono di lunga durata e sopravvivono alla sessione che li ha generati. A differenza di `CLAUDECODE`, questo è impostato solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione nidificata da un `claude` di primo livello avviato in un terminale integrato IDE. Una `claude` TUI interattiva nidificata avviata in questo modo è automaticamente esclusa da `--resume`, `--continue`, cronologia freccia su e l'elenco `claude agents`. Le sessioni non interattive `claude -p` persistono comunque. Impostare `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per ignorare questa esclusione. Richiede Claude Code v2.1.172 o successivo |233| `CLAUDE_CODE_CHILD_SESSION` | Impostata su `1` nei sottoprocessi che Claude Code avvia tramite gli strumenti Bash, PowerShell e Monitor, i comandi degli [hook](/docs/it/hooks) e i comandi della [riga di stato](/docs/it/statusline). Non è impostata per i sottoprocessi dei [server MCP](/docs/it/mcp) stdio, che sono di lunga durata e sopravvivono alla sessione che li ha avviati. A differenza di `CLAUDECODE`, viene impostata solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione annidata da un `claude` di primo livello avviato in un terminale integrato nell'IDE. Una TUI `claude` interattiva annidata avviata in questo modo viene esclusa automaticamente da `--resume`, `--continue`, dalla cronologia con freccia su e dall'elenco `claude agents`. Le sessioni non interattive `claude -p` vengono comunque salvate. Imposta `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per sovrascrivere questa esclusione. Richiede Claude Code v2.1.172 o successiva |

234| `CLAUDE_CODE_CLIENT_CERT` | Percorso al file del certificato client per l'autenticazione mTLS |234| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |

235| `CLAUDE_CODE_CLIENT_KEY` | Percorso al file della chiave privata client per l'autenticazione mTLS |235| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |

236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per `CLAUDE_CODE_CLIENT_KEY` crittografato (facoltativo) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |

237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimosso nella v2.1.186 e ora un no-op. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazione di risposta di una richiesta API in streaming. Utilizzare `API_TIMEOUT_MS` per il timeout per richiesta. Per la fase di intestazione di risposta di una richiesta in streaming, vedere `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora non ha alcun effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazioni di risposta di una richiesta API in streaming. Usa `API_TIMEOUT_MS` per il timeout per richiesta. Per la fase delle intestazioni di risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sostituire il percorso del file di log di debug. Nonostante il nome, questo è un percorso di file, non una directory. Richiede l'abilitazione della modalità debug separatamente tramite `--debug`, `/debug` o la variabile di ambiente `DEBUG`: l'impostazione di questa variabile da sola non abilita la registrazione. Il flag [`--debug-file`](/docs/it/cli-reference#cli-flags) fa entrambi contemporaneamente. Impostazione predefinita: `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrive il percorso del file di log di debug. Nonostante il nome, si tratta di un percorso di file, non di una directory. Richiede che la modalità di debug sia attivata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: impostare solo questa variabile non attiva il logging. Il flag [`--debug-file`](/docs/it/cli-reference#cli-flags) fa entrambe le cose contemporaneamente. Il valore predefinito è `~/.claude/debug/<session-id>.txt` |

239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello di log minimo scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Impostare su `verbose` per includere diagnostica ad alto volume come l'output completo del comando della linea di stato, o aumentare a `error` per ridurre il rumore |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello minimo di log scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Imposta su `verbose` per includere diagnostica ad alto volume come l'output completo del comando della riga di stato, oppure alza a `error` per ridurre il rumore |

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Impostare su `1` per disabilitare il supporto della [finestra di contesto 1M](/docs/it/model-config#extended-context). Quando impostato, le varianti del modello 1M non sono disponibili nel selettore del modello, e Claude Code mantiene le sessioni su modelli con una finestra nativa 1M, come [Sonnet 5.5](/docs/it/model-config#sonnet-5-5-and-sonnet-5-context-window) e i modelli Fable, a una finestra 200K; vedere [Contesto esteso](/docs/it/model-config#extended-context) per come viene applicato il blocco. Utile per gli ambienti aziendali con requisiti di conformità. Per il suo ruolo nel correggere la finestra per un ID modello non riconosciuto `[1m]`, vedere [Correggere la finestra per un ID modello gateway o personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disattivare il supporto della [finestra di contesto da 1M](/docs/it/model-config#extended-context). Quando è impostata, le varianti dei modelli da 1M non sono disponibili nel selettore dei modelli e Claude Code limita a una finestra di 200K le sessioni sui modelli con una finestra nativa da 1M, come [Sonnet 5.5](/docs/it/model-config#sonnet-5-5-and-sonnet-5-context-window) e i modelli Fable; consulta [Contesto esteso](/docs/it/model-config#extended-context) per sapere come viene applicato il limite. Utile per ambienti aziendali con requisiti di conformità. Per il suo ruolo nella correzione della finestra per un ID di modello `[1m]` non riconosciuto, consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Impostare su `1` per disabilitare il [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e tornare al budget di pensiero fisso controllato da `MAX_THINKING_TOKENS`. Non ha effetto sui [modelli Fable](/docs/it/model-config#extended-thinking), Sonnet 5, o Opus 4.7 e successivi, che utilizzano sempre il ragionamento adattivo |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disattivare il [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e ripiegare sul budget di ragionamento fisso controllato da `MAX_THINKING_TOKENS`. Non ha effetto sui [modelli Fable](/docs/it/model-config#extended-thinking), su Sonnet 5 e successivi o su Opus 4.7 e successivi, che usano sempre il ragionamento adattivo |

242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Impostare su `1` per impedire a Claude Code di unire i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) per chiave tra le fonti di amministrazione, in modo che si applichi solo il blocco `env` della fonte con la priorità più alta, come prima della v2.1.223. Impostatelo nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia consegnata attraverso un blocco `env` delle impostazioni. Richiede Claude Code v2.1.223 o successivo |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Imposta su `1` per impedire a Claude Code di unire per chiave i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) tra le origini di amministrazione, in modo che si applichi solo l'intero blocco `env` dell'origine con priorità più alta, come prima della v2.1.223. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.223 o successiva |

243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Impostare su `1` per disabilitare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato, e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disattivare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |

244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Impostare su `1` per disattivare [agenti in background e visualizzazione agente](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivalente all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la vista agenti](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore on demand. Equivalente all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |

245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Impostare su `1` per disabilitare il [rendering a schermo intero](/docs/it/fullscreen) e utilizzare il renderer della schermata principale classica. La conversazione rimane nella cronologia nativa del vostro terminale in modo che `Cmd+f` e la modalità di copia tmux funzionino come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e l'impostazione [`tui`](/docs/it/settings-reference#tui). Potete anche passare con `/tui default`. Non si applica alle sessioni in background aperte da [visualizzazione agente](/docs/it/agent-view), che utilizzano sempre il rendering a schermo intero |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disattivare il [rendering a schermo intero](/docs/it/fullscreen) e usare il renderer classico sullo schermo principale. La conversazione resta nello scrollback nativo del terminale, così `Cmd+f` e la modalità copia di tmux funzionano come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/docs/it/settings-reference#tui). Puoi anche passare con `/tui default`. Non si applica alle sessioni in background aperte dalla [vista agenti](/docs/it/agent-view), che usano sempre il rendering a schermo intero |

246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Impostare su `1` per disattivare lo strumento [Artifact](/docs/it/artifacts), che pubblica l'output della sessione come pagina web privata su claude.ai. Una volta impostato, nessun file di impostazioni riattiva lo strumento. Per disattivare lo strumento da un file di impostazioni, impostare [`enableArtifact`](/docs/it/settings-reference#enableartifact) su `false`; la chiave deprecata [`disableArtifact`](/docs/it/settings-reference#disableartifact) lo disattiva anche |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Imposta su `1` per disattivare lo strumento [Artifact](/docs/it/artifacts), che pubblica l'output della sessione come pagina web privata su claude.ai. Una volta impostata, nessun file di impostazioni riattiva lo strumento. Per disattivare invece lo strumento da un file di impostazioni, imposta [`enableArtifact`](/docs/it/settings-reference#enableartifact) su `false`; anche la chiave deprecata [`disableArtifact`](/docs/it/settings-reference#disableartifact) lo disattiva |

247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Impostare su `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disattivare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |

248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Impostare su `1` per disabilitare la [memoria automatica](/docs/it/memory#auto-memory). Impostare su `0` per forzare la memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings-reference#automemoryenabled) la disabiliterebbero altrimenti. Quando disabilitata, Claude non crea o carica i file di memoria automatica |248| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Imposta su `1` per fare in modo che un processo Claude Code esegua da sé il comando [`gcpAuthRefresh`](/docs/it/settings-reference#gcpauthrefresh) o [`awsAuthRefresh`](/docs/it/settings-reference#awsauthrefresh) invece di attendere mentre un altro processo lo esegue. Richiede Claude Code v2.1.286 o successiva |

249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Impostare su `1` per disabilitare tutta la funzionalità di attività in background, incluso il parametro `run_in_background` sugli strumenti Bash e subagent, l'auto-backgrounding e la scorciatoia Ctrl+B |249| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disattivare la [memoria automatica](/docs/it/memory#auto-memory). Imposta su `0` per forzare l'attivazione della memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings-reference#automemoryenabled) la disattiverebbero. Quando è disattivata, Claude non crea né carica i file di memoria automatica |

250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Impostare su `1` per impedire a Claude Code di trattare una risposta in streaming [Amazon Bedrock](/docs/it/amazon-bedrock) con un'intestazione `Content-Type` mancante o vuota come flusso di eventi binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia eliminato l'intestazione da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Impostare questo solo per un gateway che anche ri-emette il flusso come server-sent events; Claude Code legge il corpo senza intestazione come server-sent events. Richiede Claude Code v2.1.239 o successivo |250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disattivare tutte le funzionalità delle attività in background, incluso il parametro `run_in_background` negli strumenti Bash e subagent, lo spostamento automatico in background e la scorciatoia Ctrl+B |

251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Impostare su `1` per saltare il controllo che una risposta in streaming [Amazon Bedrock](/docs/it/amazon-bedrock) trasporta il tipo di contenuto `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta trasporta un tipo di contenuto diverso, Claude Code fallisce la richiesta con un errore che nomina quel tipo, il che significa che un [gateway o proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurare il gateway per inoltrare l'intestazione `Content-Type` e il corpo senza modifiche piuttosto che impostare questa variabile. Richiede Claude Code v2.1.208 o successivo |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Imposta su `1` per impedire a Claude Code di trattare una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) con un'intestazione `Content-Type` mancante o vuota come il flusso di eventi binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia eliminato l'intestazione da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Impostala solo per un gateway che riemette anche il flusso come server-sent events; Claude Code legge quindi il corpo senza intestazione come server-sent events. Richiede Claude Code v2.1.239 o successiva |

252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Impostare su `1` per impedire ai comandi shell in background in esecuzione di una [sessione in background](/docs/it/agent-view), flussi di lavoro dinamici, e, a partire dalla v2.1.198, subagent in background quando il [supervisore](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di consegnarli al processo successivo della sessione. Influisce solo su quel passaggio: lo sfondo di una sessione con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) continua a trasportare il lavoro in volo, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successivo |252| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'intestazione `Content-Type` e il corpo senza modifiche, anziché impostare questa variabile. Richiede Claude Code v2.1.208 o successiva |

253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Impostare su `1` per impedire a Claude Code di terminare i [comandi shell in background](/docs/it/interactive-mode#background-bash-commands) sotto pressione di memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione di memoria critica e la sessione è stata inattiva per 30 minuti senza turno o subagent in esecuzione. Windows non ha un segnale di pressione di memoria, quindi questa variabile non ha effetto lì. Richiede Claude Code v2.1.193 o successivo |253| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per arrestare, in una [sessione in background](/docs/it/agent-view), i comandi shell in background in esecuzione, i workflow dinamici e, a partire dalla v2.1.198, i subagent in background quando il [supervisore](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarli al processo successivo della sessione. Riguarda solo quel passaggio: mettere in background una sessione con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in corso, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successiva |

254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Impostare su `1` per disabilitare le [skill](/docs/it/skills) e i flussi di lavoro inclusi con Claude Code: le skill e i flussi di lavoro raggruppati vengono rimossi completamente, mentre i comandi incorporati come `/init` rimangono digitabili ma nascosti dal modello. `/doctor` rimane digitabile come i comandi incorporati; nasconderlo con `DISABLE_DOCTOR_COMMAND`. Le skill dai plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |254| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](/docs/it/interactive-mode#background-bash-commands) in caso di pressione sulla memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione critica sulla memoria e la sessione è rimasta inattiva per 30 minuti senza turni o subagent in esecuzione. Windows non ha un segnale di pressione sulla memoria, quindi lì questa variabile non ha effetto. Richiede Claude Code v2.1.193 o successiva |

255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Impostare su `1` per mantenere disponibili gli strumenti del browser [Claude in Chrome](/docs/it/chrome) mentre si omette la sezione Chrome del prompt di sistema e la skill [bundled](/docs/it/skills#bundled-skills) `/claude-in-chrome`. Per gli host che incorporano Claude Code e forniscono la loro guida del browser. Richiede Claude Code v2.1.257 o successivo |255| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disattivare le [skill](/docs/it/skills) e i workflow inclusi in Claude Code: le skill e i workflow inclusi vengono rimossi completamente, mentre i comandi integrati come `/init` restano digitabili ma vengono nascosti al modello. `/doctor` resta digitabile come i comandi integrati; nascondilo invece con `DISABLE_DOCTOR_COMMAND`. Le skill provenienti dai plugin, da `.claude/skills/` e da `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |

256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Impostare su `1` per impedire il caricamento di qualsiasi file di memoria CLAUDE.md nel contesto, inclusi i file di memoria utente, progetto e automatica |256| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Imposta su `1` per mantenere disponibili gli strumenti del browser di [Claude in Chrome](/docs/it/chrome) omettendo la sezione Chrome del prompt di sistema e la [skill inclusa](/docs/it/skills#bundled-skills) `/claude-in-chrome`. Per gli host che incorporano Claude Code e forniscono le proprie indicazioni sul browser. Richiede Claude Code v2.1.257 o successiva |

257| `CLAUDE_CODE_DISABLE_CRON` | Impostare su `1` per disabilitare i [compiti programmati](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e qualsiasi compito già programmato smette di attivarsi, inclusi i compiti che sono già in esecuzione a metà sessione |257| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Imposta su `1` per impedire il caricamento nel contesto di qualsiasi file di memoria CLAUDE.md, inclusi i file di memoria utente, di progetto e di memoria automatica |

258| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Impostare su `1` per disattivare il limite di tempo sui prompt di [rimozione del percorso critico](/docs/it/permission-modes#critical-paths). In modalità `auto` Claude Code invia quindi queste rimozioni al classificatore, e in modalità `bypassPermissions` il prompt aspetta la vostra risposta. Impostatelo nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia consegnata attraverso un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successivo |258| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disattivare le [attività pianificate](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse quelle già in esecuzione a metà sessione |

259| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impostare su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema dello strumento beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizzare quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. [Ricerca strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitata e tutti gli strumenti MCP si caricano in anticipo, anche quando impostate `ENABLE_TOOL_SEARCH`. Su Claude Code v2.1.227 o successivo, le [impostazioni gestite](/docs/it/managed-settings) possono mantenere la ricerca degli strumenti attiva. [Disabilitare le capacità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) copre dove si applica l'override |259| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Imposta su `1` per disattivare il limite di tempo sulle richieste di conferma per la [rimozione di percorsi critici](/docs/it/permission-modes#critical-paths). In modalità `auto` Claude Code invia invece queste rimozioni al classificatore, e in modalità `bypassPermissions` la richiesta attende la tua risposta. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successiva |

260| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Impostare su `1` per disabilitare i [subagent Explore e Plan](/docs/it/sub-agents#built-in-subagents) incorporati. Claude esplora con i suoi strumenti di ricerca o il subagent di uso generale, e la [modalità piano](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente piuttosto che lanciare agenti Explore e Plan. I subagent personalizzati denominati `Explore` o `Plan` non sono interessati. Per rimuovere ogni tipo di subagent incorporato in Agent SDK o modalità non interattiva, utilizzare `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Richiede Claude Code v2.1.198 o successivo |260| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere dalle richieste API le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi beta dello schema degli strumenti (come `defer_loading` e `eager_input_streaming`). Usala quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono mantenuti. [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search) viene disattivato e tutti gli strumenti MCP vengono caricati in anticipo, anche quando imposti `ENABLE_TOOL_SEARCH`. Su Claude Code v2.1.227 o successiva, le [impostazioni gestite](/docs/it/managed-settings) possono mantenere attiva la ricerca degli strumenti. [Disattivare le funzionalità non ancora rilasciate](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) spiega dove si applica l'override |

261| `CLAUDE_CODE_DISABLE_FAST_MODE` | Impostare su `1` per disabilitare la [modalità veloce](/docs/it/fast-mode) |261| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disattivare i [subagent Explore e Plan](/docs/it/sub-agents#built-in-subagents) integrati. Claude esplora invece con i suoi strumenti di ricerca o con il subagent general-purpose, e il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente anziché avviare gli agenti Explore e Plan. I subagent personalizzati denominati `Explore` o `Plan` non sono interessati. Per rimuovere tutti i tipi di subagent integrati nell'Agent SDK o in modalità non interattiva, usa invece `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Richiede Claude Code v2.1.198 o successiva |

262| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Impostare su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non aderisca di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizzare l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Vedere [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |262| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disattivare la [modalità veloce](/docs/it/fast-mode) |

263| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Impostare su `1` per disabilitare il [checkpointing](/docs/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice. Sostituisce l'impostazione [`fileCheckpointingEnabled`](/docs/it/settings-reference#filecheckpointingenabled) |263| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disattivare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi sono disattivati anche quando è impostata `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non li riattivi. Per impostare una frequenza di campionamento invece di disattivarli del tutto, usa l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Consulta [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |

264| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Impostare su `1` per rimuovere le istruzioni di flusso di lavoro di commit e PR incorporate e lo snapshot dello stato git dal contesto di Claude. Utile quando si utilizzano le proprie skill di flusso di lavoro git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings-reference#includegitinstructions) quando impostato |264| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disattivare il [checkpointing](/docs/it/checkpointing) dei file. Il comando `/rewind` non potrà ripristinare le modifiche al codice. Sovrascrive l'impostazione [`fileCheckpointingEnabled`](/docs/it/settings-reference#filecheckpointingenabled) |

265| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Impostare su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizzare quando desiderate intenzionalmente bloccare un modello più vecchio. Il remapping non viene eseguito su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry |265| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere dal contesto di Claude le istruzioni integrate sui workflow di commit e PR e lo snapshot dello stato git. Utile quando usi le tue skill per il workflow git. Quando è impostata, ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings-reference#includegitinstructions) |

266| `CLAUDE_CODE_DISABLE_MOUSE` | Impostare su `1` per disabilitare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` continua a funzionare. Utilizzare per mantenere il comportamento nativo di copia al passaggio del mouse del vostro terminale |266| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire la rimappatura automatica di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Usala quando vuoi intenzionalmente fissare un modello più vecchio. La rimappatura non viene eseguita su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry |

267| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Impostare su `1` per disabilitare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento della rotella del mouse. Utilizzare quando desiderate che lo scorrimento della rotella funzioni all'interno di Claude Code ma non desiderate che i clic posizionino il cursore, espandano l'output dello strumento o aprano i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando entrambi sono impostati. Richiede Claude Code v2.1.195 o successivo |267| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Imposta su `1` per impedire a Claude Code su [Amazon Bedrock](/docs/it/amazon-bedrock#when-a-model-is-disabled-mid-session) e [Google Cloud's Agent Platform](/docs/it/google-vertex-ai#when-a-model-is-disabled-mid-session) di passare a un modello più vecchio quando il tuo account perde l'accesso al modello di una sessione a metà sessione; la richiesta rifiutata fallisce invece immediatamente. Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configuri passa comunque a un altro modello in caso di quel rifiuto, e i [controlli dei modelli all'avvio](/docs/it/amazon-bedrock#startup-model-checks) eseguono comunque il fallback all'avvio. Richiede Claude Code v2.1.285 o successiva |

268| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Impostare su `1` per impedire a Claude Code di rileggere il [certificato client mTLS e la chiave](/docs/it/network-config#mtls-authentication) quando una richiesta API fallisce con un errore a livello di connessione, come un ripristino della connessione o un errore di handshake TLS. Con il ricaricamento disabilitato, Claude Code carica i file ruotati solo quando applica successivamente le impostazioni o al prossimo avvio. Richiede Claude Code v2.1.232 o successivo |268| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disattivare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` continua a funzionare. Usala per mantenere il comportamento nativo del terminale di copia alla selezione |

269| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Impostare su qualsiasi valore non vuoto, come `1`, per disabilitare il traffico di rete non essenziale: auto-aggiornamenti, telemetria, segnalazione di errori, il comando `/feedback`, [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), note di rilascio, i controlli del [badge di stato PR e MR](/docs/it/interactive-mode#pr-review-status), e i controlli di disponibilità come il controllo della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Interrompe anche le [esecuzioni in background delle fonti di comando del plugin](/docs/it/plugins/loading#when-a-command-source-re-runs), che sono comandi locali piuttosto che traffico di rete, perché possono attivare installazioni di dipendenze. **L'impostazione su `0` o `false` disabilita comunque questo traffico**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per consentirlo di nuovo. Disabilita anche il recupero dei flag di funzionalità, che rende [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. L'auto-installazione del marketplace ufficiale dei plugin non è coperta; disabilitarla con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sulla [scoperta del modello gateway](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha il suo opt-in |269| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disattivare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento con la rotellina. Usala quando vuoi che lo scorrimento con la rotellina funzioni in Claude Code ma non vuoi che i clic posizionino il cursore, espandano l'output degli strumenti o aprano link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando sono impostate entrambe. Richiede Claude Code v2.1.195 o successiva |

270| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Impostare su `1` per disabilitare il fallback non in streaming quando una richiesta in streaming fallisce a metà flusso. Gli errori di streaming si propagano al livello di ripetizione. Utile quando un proxy o gateway causa il fallback per produrre l'esecuzione dello strumento duplicata |270| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Imposta su `1` per impedire a Claude Code di rileggere il [certificato client e la chiave mTLS](/docs/it/network-config#mtls-authentication) quando una richiesta API fallisce con un errore a livello di connessione, come un reset della connessione o un errore di handshake TLS. Con la ricarica disattivata, Claude Code carica i file ruotati solo alla successiva applicazione delle impostazioni o al successivo avvio. Richiede Claude Code v2.1.232 o successiva |

271| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Impostare su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre state digitando nel terminale o siete focalizzati su di esso. Per impostazione predefinita lo strumento salta sia la notifica desktop che il [push mobile](/docs/it/remote-control#mobile-push-notifications) quando rileva un'attività di tastiera recente o la messa a fuoco del terminale. Questa variabile disabilita solo quel controllo locale, quindi il server può comunque sopprimere il push mobile quando rileva che siete attivi. Richiede Claude Code v2.1.193 o successivo |271| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Imposta su qualsiasi valore non vuoto, come `1`, per disattivare il traffico di rete non essenziale: aggiornamenti automatici, telemetria, segnalazione degli errori, il comando `/feedback`, il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), le note di rilascio, i controlli del [badge di stato di PR e MR](/docs/it/interactive-mode#pr-review-status) e i controlli di disponibilità come quello della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Interrompe anche le [esecuzioni in background delle origini `command` dei plugin](/docs/it/plugins/loading#when-a-command-source-re-runs), che sono comandi locali anziché traffico di rete, perché possono attivare installazioni di dipendenze. **Impostarla su `0` o `false` disattiva comunque questo traffico**, a differenza della maggior parte delle variabili di attivazione/disattivazione; rimuovi la variabile per consentirlo di nuovo. Disattiva anche il recupero dei feature flag, il che rende non disponibili [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che richiedono il recupero dei feature flag](#features-that-need-feature-flag-fetching). L'installazione automatica del marketplace ufficiale dei plugin non è inclusa; disattivala con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sul [rilevamento dei modelli del gateway](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha un proprio consenso esplicito |

272| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Impostare su `1` per disabilitare la registrazione automatica del marketplace ufficiale dei plugin. Claude Code legge la variabile quando sta per registrare il marketplace, di solito durante il primo avvio interattivo di una macchina. Se la variabile è impostata a quel punto, Claude Code salta la registrazione in modo permanente. L'annullamento dell'impostazione della variabile in seguito non annulla il salto. Eseguire `claude plugin marketplace add anthropics/claude-plugins-official` per registrare il marketplace in qualsiasi momento |272| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disattivare il fallback non in streaming quando una richiesta in streaming fallisce a metà stream. Gli errori di streaming vengono invece propagati al livello dei nuovi tentativi. Utile quando un proxy o un gateway fa sì che il fallback produca un'esecuzione duplicata degli strumenti |

273| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Impostare su `1` per impedire a Claude Code di eseguire i vostri [hook `Notification` per le richieste di autorizzazione senza risposta](/docs/it/hooks#notification) nelle sessioni in cui Claude Code le invia al callback `canUseTool` dell'Agent SDK, che è come Claude Desktop e l'estensione VS Code ospitano Claude Code. Non ha effetto nelle sessioni di terminale. Richiede Claude Code v2.1.233 o successivo |273| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Imposta su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre stai digitando nel terminale o il terminale ha il focus. Per impostazione predefinita lo strumento salta sia la notifica desktop sia la [notifica push mobile](/docs/it/remote-control#mobile-push-notifications) quando rileva attività recente della tastiera o il focus sul terminale. Questa variabile disattiva solo quel controllo locale, quindi il server può comunque sopprimere la notifica push mobile quando rileva che sei attivo. Richiede Claude Code v2.1.193 o successiva |

274| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Impostare su `1` per saltare il caricamento delle skill dalla directory di skill gestite a livello di sistema. Utile per le sessioni di container o CI che non dovrebbero caricare le skill fornite dall'operatore |274| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per disattivare la registrazione automatica del marketplace ufficiale dei plugin. Claude Code legge la variabile quando sta per registrare il marketplace, di solito durante il primo avvio interattivo su una macchina. Se in quel momento la variabile è impostata, Claude Code salta la registrazione in modo permanente. Rimuovere la variabile in seguito non annulla il salto. Esegui `claude plugin marketplace add anthropics/claude-plugins-official` per registrare il marketplace in qualsiasi momento |

275| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Impostare su `1` per disattivare il controllo dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) che nega i comandi incorporati `cmd` `rd`, `rmdir`, `del` e `erase` su un [percorso di sistema](/docs/it/permission-modes#remove-item-in-powershell), come una radice di unità o la vostra home directory. Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.283 o successivo |275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Imposta su `1` per impedire a Claude Code di eseguire i tuoi [hook `Notification` per le richieste di permesso senza risposta](/docs/it/hooks#notification) nelle sessioni in cui Claude Code le invia alla callback `canUseTool` dell'Agent SDK, che è il modo in cui Claude Desktop e l'estensione VS Code ospitano Claude Code. Non ha effetto nelle sessioni del terminale. Richiede Claude Code v2.1.233 o successiva |

276| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Impostare su `1` per disattivare il controllo del [percorso critico](/docs/it/permission-modes#critical-paths) per un `rm` ricorsivo il cui target è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli del percorso critico continuano a funzionare. Impostatelo nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia consegnata attraverso un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successivo |276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni in container o CI che non devono caricare skill fornite dall'operatore |

277| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Impostare su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Questo salta anche la richiesta del modello piccolo/veloce in background che [genera un titolo di sessione](/docs/it/sessions#name-your-sessions) |277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Imposta su `1` per disattivare il controllo dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) che nega i comandi integrati di `cmd` `rd`, `rmdir`, `del` ed `erase` su un [percorso di sistema](/docs/it/permission-modes#remove-item-in-powershell), come la radice di un'unità o la tua directory home. Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.283 o successiva |

278| `CLAUDE_CODE_DISABLE_THINKING` | Impostare su `1` per omettere completamente il parametro `thinking` dalle richieste API. Questa è un'opzione di compatibilità per i proxy e i gateway che rifiutano il parametro. Sui modelli che pensano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque pensare. Per disabilitare esplicitamente il [pensiero esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, utilizzare `MAX_THINKING_TOKENS=0`. Nessuna variabile disattiva il pensiero su Opus 5.5 o sui modelli Fable, che non possono avere il pensiero disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `MAX_THINKING_TOKENS=0` omette allo stesso modo il parametro, quindi le due variabili si comportano allo stesso modo lì |278| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Imposta su `1` per disattivare il controllo dei [percorsi critici](/docs/it/permission-modes#critical-paths) per un `rm` ricorsivo il cui obiettivo è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli dei percorsi critici continuano a essere eseguiti. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successiva |

279| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Impostare su `1` per saltare la [auto-compattazione](/docs/it/costs#reduce-token-usage) proattiva quando Claude Code non riconosce l'ID del modello, come un alias di [gateway LLM](/docs/it/llm-gateway). Senza questa variabile, Claude Code compatta alla finestra di contesto che presume per l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può correggere la finestra presunta; vedere [Correggere la finestra per un ID modello gateway o personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) per quando si applica ogni variabile. Richiede Claude Code v2.1.223 o successivo |279| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disattivare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Questo salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |

280| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Impostare su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) e eseguire il rendering di ogni messaggio nella trascrizione. Utilizzare se lo scorrimento in modalità a schermo intero mostra aree vuote dove dovrebbero apparire i messaggi |280| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. Si tratta di un'opzione di compatibilità per proxy e gateway che rifiutano il parametro. Sui modelli che ragionano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque ragionare. Per disattivare esplicitamente il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, usa invece `MAX_THINKING_TOKENS=0`. Nessuna delle due variabili disattiva il ragionamento su Opus 5.5, Sonnet 5.5 o sui modelli Fable, per i quali il ragionamento non può essere disattivato. Sui [provider di terze parti](/docs/it/third-party-integrations), anche `MAX_THINKING_TOKENS=0` omette il parametro, quindi lì le due variabili si comportano allo stesso modo |

281| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Impostare su `1` per avviare i comandi dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) su Windows direttamente invece che attraverso il launcher `cmd.exe`. Per impostazione predefinita, il launcher consente a un comando PowerShell [in esecuzione in background](/docs/it/tools-reference#background-commands) di [trasferirsi al processo successivo della sessione](/docs/it/agent-view#the-supervisor-process), ad esempio quando [mettete in background la sessione](/docs/it/agent-view#from-inside-a-session). Se impostate la variabile, un comando PowerShell messo in background si arresta quando il processo della sessione esce. I comandi Bash non sono interessati. Richiede Claude Code v2.1.269 o successivo |281| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Imposta su `1` per saltare la [compattazione automatica](/docs/it/costs#reduce-token-usage) proattiva quando Claude Code non riconosce l'ID del modello, come un alias di un [gateway LLM](/docs/it/llm-gateway). Senza questa variabile, Claude Code compatta in base alla finestra di contesto che presume per l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può invece correggere la finestra presunta; consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) per sapere quando si applica ciascuna variabile. Richiede Claude Code v2.1.223 o successiva |

282| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Impostare su `1` per disabilitare i [flussi di lavoro](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |282| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disattivare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) e mostrare ogni messaggio della trascrizione. Usala se lo scorrimento in modalità a schermo intero mostra aree vuote dove dovrebbero comparire i messaggi |

283| `CLAUDE_CODE_EFFORT_LEVEL` | Impostare il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max`, o `auto` per utilizzare il predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort` e le impostazioni `modelSettings` e `effortLevel`. Un limite [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) si applica comunque. Vedere [Regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) |283| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Imposta su `1` per disattivare lo strumento [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior). Lo strumento [WebSearch](/docs/it/tools-reference#websearch-tool-behavior) resta disponibile. Richiede Claude Code v2.1.285 o successiva |

284| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettato per la compatibilità con le versioni precedenti e non ha effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni del [gateway app Claude](/docs/it/claude-apps-gateway) con accesso. Nella v2.1.158 attraverso v2.1.206, l'impostazione su `1` era necessaria per rendere la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) disponibile su quei provider |284| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Imposta su `1` per avviare i comandi dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) su Windows direttamente anziché tramite il launcher `cmd.exe`. Per impostazione predefinita, il launcher consente a un comando PowerShell [in esecuzione in background](/docs/it/tools-reference#background-commands) di [essere trasferito al processo successivo della sessione](/docs/it/agent-view#the-supervisor-process), ad esempio quando [metti in background la sessione](/docs/it/agent-view#from-inside-a-session). Se imposti la variabile, un comando PowerShell in background si arresta quando il processo della sessione termina. I comandi Bash non sono interessati. Richiede Claude Code v2.1.269 o successiva |

285| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sostituire la disponibilità del [riepilogo della sessione](/docs/it/interactive-mode#session-recap). Impostare su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Impostare su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/docs/it/settings-reference#awaysummaryenabled) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |285| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disattivare i [workflow](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |

286| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Impostare su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/docs/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento modifica il prompt di sistema a metà sessione, il che invalida la [memorizzazione in cache del prompt](/docs/it/prompt-caching) per quel turno |286| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` oppure `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort` e sulle impostazioni `modelSettings` ed `effortLevel`. Un limite [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) si applica comunque. Consulta [Regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

287| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Impostare su `1` per instradare il sondaggio sulla qualità della sessione "Come sta andando Claude?" al vostro [raccoglitore OpenTelemetry](/docs/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al vostro raccoglitore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |287| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettata per compatibilità con le versioni precedenti e non ha alcun effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e le sessioni con accesso effettuato al [gateway delle app Claude](/docs/it/claude-apps-gateway). Dalla v2.1.158 alla v2.1.206, era necessario impostarla su `1` per rendere disponibile la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su quei provider |

288| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate di strumento vengono trasmessi dall'API mentre Claude li genera. Con questo disattivato, un input di strumento grande come una lunga scrittura di file arriva solo dopo che Claude finisce di generarlo, il che può sembrare che sia bloccato. Abilitato per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, abilitato per modello dove il contenitore distribuito lo supporta. Impostare su `0` per rinunciare. Impostare su `1` per forzare l'attivazione quando si instrada attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivato per impostazione predefinita su Microsoft Foundry e connessioni [gateway](/docs/it/llm-gateway) |288| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrive la disponibilità del [riepilogo della sessione](/docs/it/interactive-mode#session-recap). Imposta su `0` per forzare la disattivazione dei riepiloghi indipendentemente dall'opzione in `/config`. Imposta su `1` per forzare l'attivazione dei riepiloghi quando [`awaySummaryEnabled`](/docs/it/settings-reference#awaysummaryenabled) è `false`. Ha la precedenza sull'impostazione e sull'opzione in `/config` |

289| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Impostare su `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del vostro gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivato per impostazione predefinita perché i gateway supportati da una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli scoperti vengono comunque filtrati da un'allowlist [`availableModels`](/docs/it/settings-reference#availablemodels) che la sessione riceve; consegnare l'elenco tramite [MDM o un file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms), poiché la [consegna gestita dal server non è disponibile su configurazioni gateway](/docs/it/server-managed-settings#platform-availability) |289| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato dei plugin ai confini dei turni in [modalità non interattiva](/docs/it/headless) dopo il completamento di un'installazione in background. Disattivata per impostazione predefinita perché l'aggiornamento modifica il prompt di sistema a metà sessione, il che invalida il [prompt caching](/docs/it/prompt-caching) per quel turno |

290| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Rimosso nella v2.1.142, quando il predefinito della [modalità veloce](/docs/it/fast-mode) si è spostato da Opus 4.6 a Opus 4.7 |290| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta a `1` per inviare il sondaggio sulla qualità della sessione "How is Claude doing?" al tuo [collector OpenTelemetry](/docs/it/monitoring-usage) quando il traffico non essenziale diretto ad Anthropic è bloccato. Le valutazioni del sondaggio vengono emesse solo come eventi OTEL verso il collector che hai configurato. In questa modalità nessun dato del sondaggio viene inviato ad Anthropic. Si applica quando è impostata `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK`, e non ha alcun effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la policy dell'organizzazione sul feedback del prodotto hanno la precedenza |

291| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Impostare su `false` per disattivare i suggerimenti di prompt, le previsioni grigie che appaiono nel vostro input di prompt. Ha la precedenza sull'impostazione [`promptSuggestionEnabled`](/docs/it/settings-reference#promptsuggestionenabled), che è quello che l'interruttore **Suggerimenti di prompt** in `/config` scrive. Claude Code inoltre [mette in pausa i suggerimenti mentre il vostro account è vicino o al limite di utilizzo](/docs/it/interactive-mode#when-claude-code-skips-suggestions). Impostare su `true` per mantenerli attivi fino a raggiungere il limite. Richiede Claude Code v2.1.238 o successivo. Vedere [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |291| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate agli strumenti vengono trasmessi in streaming dall'API man mano che Claude li genera. Con questa opzione disattivata, un input di grandi dimensioni, come la scrittura di un file lungo, arriva solo dopo che Claude ha finito di generarlo, il che può sembrare un blocco. Abilitata per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e su Agent Platform di Google Cloud, è abilitata per modello dove il container distribuito lo supporta. Imposta a `0` per disattivarla. Imposta a `1` per forzarne l'attivazione quando instradi il traffico attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivata per impostazione predefinita su Microsoft Foundry e sulle connessioni tramite [gateway](/docs/it/llm-gateway) |

292| `CLAUDE_CODE_ENABLE_TASKS` | Seleziona quali strumenti di tracciamento delle attività Claude Code fornisce nelle [sessioni che li hanno](/docs/it/tools-reference#task-tool-availability). Per impostazione predefinita, Claude Code fornisce gli strumenti Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Impostare su `0` per ottenere lo strumento legacy `TodoWrite`. Vedere [Elenco attività](/docs/it/interactive-mode#task-list) |292| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta a `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del tuo gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivata per impostazione predefinita perché altrimenti i gateway basati su una chiave API condivisa mostrerebbero a ogni utente tutti i modelli a cui la chiave può accedere. I modelli individuati vengono comunque filtrati da un'allowlist [`availableModels`](/docs/it/settings-reference#availablemodels) ricevuta dalla sessione; distribuisci l'elenco tramite [MDM o un file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms), poiché [la distribuzione gestita dal server non è disponibile nelle configurazioni con gateway](/docs/it/server-managed-settings#platform-availability) |

293| `CLAUDE_CODE_ENABLE_TELEMETRY` | Impostare su `1` per abilitare la raccolta di dati OpenTelemetry per metriche e registrazione. Obbligatorio prima di configurare gli esportatori OTel. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Vedere [Monitoraggio](/docs/it/monitoring-usage) |293| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Rimossa nella v2.1.142, quando il modello predefinito della [modalità veloce](/docs/it/fast-mode) è passato da Opus 4.6 a Opus 4.7 |

294| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Impostare su `1` per ottenere gli strumenti di tracciamento delle attività su ogni modello. Senza di esso, Claude Code li fornisce per impostazione predefinita solo sui modelli elencati in [Disponibilità dello strumento Task](/docs/it/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` seleziona comunque gli strumenti Task o `TodoWrite`. Richiede Claude Code v2.1.233 o successivo |294| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta a `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che appaiono nell'input del prompt. Ha la precedenza sull'impostazione [`promptSuggestionEnabled`](/docs/it/settings-reference#promptsuggestionenabled), che è quella scritta dall'interruttore **Prompt suggestions** in `/config`. Claude Code inoltre [mette in pausa i suggerimenti quando il tuo account è vicino al limite di utilizzo o lo ha raggiunto](/docs/it/interactive-mode#when-claude-code-skips-suggestions). Imposta a `true` per mantenerli attivi finché non raggiungi il limite. Richiede Claude Code v2.1.238 o successiva. Consulta [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |

295| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da aspettare dopo che il ciclo di query diventa inattivo prima di uscire automaticamente. Utile per flussi di lavoro automatizzati e script che utilizzano la modalità SDK |295| `CLAUDE_CODE_ENABLE_TASKS` | Seleziona quali strumenti di tracciamento delle attività Claude Code fornisce nelle [sessioni che li prevedono](/docs/it/tools-reference#task-tool-availability). Per impostazione predefinita, Claude Code fornisce gli strumenti Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Imposta a `0` per ottenere invece lo strumento legacy `TodoWrite`. Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |

296| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Impostare su `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |296| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta a `1` per abilitare la raccolta dei dati OpenTelemetry per metriche e logging. Necessaria prima di configurare gli exporter OTel. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

297| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore di ogni corpo di richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella vostra shell si applica anche alle [sessioni in background](/docs/it/agent-view) che inviate con `claude agents` o `--bg`. Prima della v2.1.206, le sessioni in background ignoravano un valore esportato dalla shell e utilizzavano qualsiasi copia ereditata dal processo supervisore in background |297| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Imposta a `1` per ottenere gli strumenti di tracciamento delle attività su ogni modello. Senza di essa, Claude Code li fornisce per impostazione predefinita solo sui modelli elencati in [Disponibilità dello strumento Task](/docs/it/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` continua a selezionare gli strumenti Task o `TodoWrite`. Richiede Claude Code v2.1.233 o successiva |

298| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sostituire il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |298| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da attendere dopo che il ciclo delle query diventa inattivo prima di uscire automaticamente. Utile per workflow automatizzati e script che usano la modalità SDK |

299| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Impostare su `1` per forzare la persistenza della trascrizione, la cronologia dei prompt e la registrazione di `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione Claude Code. Utilizzare quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da una sessione `screen` o un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, causa una sessione di primo livello genuina a essere classificata erroneamente come nidificata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Anche onorato su v2.1.169 e precedenti; non ha effetto su v2.1.170 e v2.1.171, dove il rilevamento della sessione nidificata che sostituisce è stato rimosso |299| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta a `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |

300| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Impostare su `1` per forzare il rendering del barrato per `~~text~~` nelle risposte di Claude quando il vostro terminale lo supporta ma non viene rilevato automaticamente, ad esempio su SSH senza `TERM_PROGRAM` inoltrato. Senza questo, i terminali non rilevati mostrano i marcatori letterali `~~` invece di eseguire il rendering del testo come barrato. Richiede Claude Code v2.1.186 o successivo |300| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore del corpo di ogni richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella tua shell si applica anche alle [sessioni in background](/docs/it/agent-view) che avvii con `claude agents` o `--bg`. Prima della v2.1.206, le sessioni in background ignoravano un valore esportato dalla shell e usavano la copia ereditata dal processo supervisore in background |

301| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Impostare su `1` per forzare l'abilitazione della modalità privata DEC 2026 [output sincronizzato](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando il vostro terminale lo supporta ma non viene rilevato automaticamente. Utile per emulatori come `eat` di Emacs che implementano BSU/ESU ma non rispondono al probe di capacità. Non ha effetto sotto tmux. A differenza di `CLAUDE_CODE_NO_FLICKER`, che passa al [rendering a schermo intero](/docs/it/fullscreen), questo non cambia il renderer |301| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrive il limite di token predefinito per la lettura dei file. Utile quando devi leggere per intero file più grandi |

302| `CLAUDE_CODE_FORK_SUBAGENT` | Controlla la [modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off), che consente a Claude di generare [subagent forkati](/docs/it/sub-agents#fork-the-current-conversation) da solo ed è attiva per impostazione predefinita solo nelle sessioni interattive. Impostare su `1` per attivarla anche in `claude -p` e Agent SDK, o `0` per disattivarla in ogni tipo di sessione. Potete eseguire `/subtask` indipendentemente dal fatto che la modalità fork sia attiva. Il predefinito interattivo richiede Claude Code v2.1.232 o successivo; su versioni precedenti, impostare la variabile su `1` per attivare la modalità fork |302| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta a `1` per forzare la persistenza della trascrizione, la cronologia dei prompt e la registrazione in `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione di Claude Code. Usala quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da una sessione `screen` o da un launcher in background avviato inizialmente dallo strumento Bash di Claude Code, fa sì che una vera sessione di primo livello venga erroneamente classificata come annidata. Dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Rispettata anche nella v2.1.169 e precedenti; non ha effetto nelle v2.1.170 e v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |

303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Impostare su `1` per emettere blocchi di testo e pensiero del [subagent](/docs/it/sub-agents) nell'output `claude -p --output-format stream-json`, lo stesso comportamento del flag [`--forward-subagent-text`](/docs/it/cli-reference#cli-flags). Utilizzare la variabile quando un harness invoca `claude` e non può passare il flag stesso. A differenza del flag, che esce con un errore al di fuori della modalità non interattiva con output stream-json, la variabile viene ignorata lì in modo che le invocazioni nidificate continuino a funzionare quando è impostata a livello di processo. Richiede Claude Code v2.1.211 o successivo |303| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta a `1` per forzare la visualizzazione barrata di `~~text~~` nelle risposte di Claude quando il tuo terminale la supporta ma non viene rilevato automaticamente, ad esempio tramite SSH senza l'inoltro di `TERM_PROGRAM`. Senza di essa, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |

304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Impostare su `1` per inviare le [intestazioni di suggerimento gateway](/docs/it/llm-gateway-protocol#gateway-hint-headers), come `x-claude-code-request-class` e `x-claude-code-compaction`, su un proxy personalizzato o un provider di terze parti come Amazon Bedrock o Claude Platform on AWS. Impostare su `0` per smettere di inviarle su ogni connessione, inclusa una connessione diretta all'API Anthropic, dove Claude Code le invia per impostazione predefinita. Richiede Claude Code v2.1.273 o successivo |304| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta a `1` per forzare l'abilitazione dell'[output sincronizzato](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) della modalità privata DEC 2026 quando il tuo terminale lo supporta ma non viene rilevato automaticamente. Utile per emulatori come `eat` di Emacs che implementano BSU/ESU ma non rispondono al rilevamento delle funzionalità. Non ha effetto sotto tmux. A differenza di `CLAUDE_CODE_NO_FLICKER`, che passa al [rendering a schermo intero](/docs/it/fullscreen), questa non cambia il renderer |

305| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in millisecondi per la richiesta di [scoperta del modello gateway](/docs/it/llm-gateway-protocol#model-discovery) che `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` attiva (predefinito: `3000`). Aumentare quando il vostro gateway ha bisogno di più di tre secondi per rispondere a `/v1/models` all'avvio. Accetta solo cifre semplici; `0`, valori negativi e altre ortografie mantengono il predefinito. Richiede Claude Code v2.1.269 o successivo |305| `CLAUDE_CODE_FORK_SUBAGENT` | Controlla la [modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off), che consente a Claude di generare autonomamente [subagent fork](/docs/it/sub-agents#fork-the-current-conversation) ed è attiva per impostazione predefinita solo nelle sessioni interattive. Imposta a `1` per attivarla anche in `claude -p` e nell'Agent SDK, oppure a `0` per disattivarla in ogni tipo di sessione. Puoi eseguire `/subtask` indipendentemente dal fatto che la modalità fork sia attiva. Il comportamento predefinito interattivo richiede Claude Code v2.1.232 o successiva; nelle versioni precedenti, imposta la variabile a `1` per attivare la modalità fork |

306| `CLAUDE_CODE_GIT_BASH_PATH` | Solo Windows: percorso all'eseguibile Git Bash (`bash.exe`). Utilizzare quando Git Bash è installato ma non nel vostro PATH. Se il percorso non esiste o il file non è denominato `bash.exe`, `sh.exe`, `bash` o `sh`, Claude Code ignora la variabile e auto-rileva Git Bash come se fosse non impostato, registrando un avviso visibile con `--debug`. Prima della v2.1.219, Claude Code usciva all'avvio quando il percorso non esisteva e utilizzava qualsiasi file esistente come shell senza verificare che fosse bash o sh. Vedere [Configurazione di Windows](/docs/it/setup#set-up-on-windows) |306| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Imposta a `1` per emettere il testo e i blocchi di ragionamento dei [subagent](/docs/it/sub-agents) nell'output di `claude -p --output-format stream-json`, con lo stesso comportamento del flag [`--forward-subagent-text`](/docs/it/cli-reference#cli-flags). Usa la variabile quando un harness invoca `claude` e non può passare il flag da sé. A differenza del flag, che termina con un errore al di fuori della modalità non interattiva con output stream-json, in quel caso la variabile viene ignorata, così le invocazioni annidate continuano a funzionare quando è impostata per l'intero processo. Richiede Claude Code v2.1.211 o successiva |

307| `CLAUDE_CODE_GLOB_HIDDEN` | Impostare su `false` per escludere i dotfile dai risultati quando Claude invoca lo strumento [Glob](/docs/it/tools-reference#glob-tool-behavior). Incluso per impostazione predefinita. Non influisce su `@` autocomplete di file, `ls`, Grep o Read |307| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Imposta a `1` per inviare gli [header di suggerimento per il gateway](/docs/it/llm-gateway-protocol#gateway-hint-headers), come `x-claude-code-request-class` e `x-claude-code-compaction`, su un proxy personalizzato o su un provider di terze parti come Amazon Bedrock o Claude Platform on AWS. Imposta a `0` per smettere di inviarli su ogni connessione, inclusa una connessione diretta all'API Anthropic, dove Claude Code li invia per impostazione predefinita. Richiede Claude Code v2.1.273 o successiva |

308| `CLAUDE_CODE_GLOB_NO_IGNORE` | Impostare su `false` per fare in modo che lo strumento [Glob](/docs/it/tools-reference#glob-tool-behavior) rispetti i modelli `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti inclusi quelli gitignored. Non influisce su `@` autocomplete di file, che ha la sua impostazione [`respectGitignore`](/docs/it/settings-reference#respectgitignore) |308| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in millisecondi per la richiesta di [individuazione dei modelli del gateway](/docs/it/llm-gateway-protocol#model-discovery) attivata da `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (predefinito: `3000`). Aumentalo quando il tuo gateway impiega più di tre secondi per rispondere a `/v1/models` all'avvio. Accetta solo cifre semplici; `0`, i valori negativi e altre scritture mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |

309| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per la scoperta dei file dello strumento Glob. Impostazione predefinita: 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |309| `CLAUDE_CODE_GIT_BASH_PATH` | Solo Windows: percorso dell'eseguibile di Git Bash (`bash.exe`). Usala quando Git Bash è installato ma non si trova nel tuo PATH. Se il percorso non esiste o il file non si chiama `bash.exe`, `sh.exe`, `bash` o `sh`, Claude Code ignora la variabile e rileva automaticamente Git Bash come se non fosse impostata, registrando un avviso visibile con `--debug`. Prima della v2.1.219, Claude Code terminava all'avvio quando il percorso non esisteva e usava qualsiasi file esistente come shell senza verificare che fosse bash o sh. Consulta [Configurazione su Windows](/docs/it/setup#set-up-on-windows) |

310| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quanti minuti il lavoro in background può mantenere un obiettivo attivo in attesa prima che Claude Code [chieda a Claude di controllarlo](/docs/it/goal#background-work-defers-evaluation). Predefinito `30`. Impostare `0` per disattivare i check-in. Fornire minuti interi in cifre semplici, al massimo `10080`, che è una settimana. Claude Code tratta qualsiasi altro valore come non impostato e utilizza il predefinito. Richiede Claude Code v2.1.234 o successivo |310| `CLAUDE_CODE_GLOB_HIDDEN` | Imposta a `false` per escludere i dotfile dai risultati quando Claude invoca lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior). Inclusi per impostazione predefinita. Non influisce sul completamento automatico dei file con `@`, su `ls`, Grep o Read |

311| `CLAUDE_CODE_HIDE_CWD` | Impostare su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per screenshare o registrazioni dove il percorso espone il vostro nome utente del sistema operativo |311| `CLAUDE_CODE_GLOB_NO_IGNORE` | Imposta a `false` per fare in modo che lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior) rispetti i pattern di `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti, inclusi quelli ignorati da Git. Non influisce sul completamento automatico dei file con `@`, che ha una propria [impostazione `respectGitignore`](/docs/it/settings-reference#respectgitignore) |

312| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sostituire l'indirizzo host utilizzato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code auto-rileva l'indirizzo corretto, incluso l'instradamento WSL-to-Windows |312| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per l'individuazione dei file da parte dello strumento Glob. Il valore predefinito è 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |

313| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Impostare su `1` per saltare l'auto-installazione delle estensioni IDE. Equivalente all'impostazione [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) su `false` |313| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Per quanti minuti il lavoro in background può tenere in attesa un obiettivo attivo prima che Claude Code [chieda a Claude di verificarlo](/docs/it/goal#background-work-defers-evaluation). Predefinito `30`. Imposta `0` per disattivare le verifiche. Specifica minuti interi in cifre semplici, al massimo `10080`, cioè una settimana. Claude Code tratta qualsiasi altro valore come non impostato e usa il valore predefinito. Richiede Claude Code v2.1.234 o successiva |

314| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Impostare su `1` per saltare la convalida delle voci del file di blocco IDE durante la connessione. Utilizzare quando l'auto-connessione non riesce a trovare il vostro IDE nonostante sia in esecuzione |314| `CLAUDE_CODE_HIDE_CWD` | Imposta a `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso rivela il nome utente del tuo sistema operativo |

315| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quanti [subagent](/docs/it/sub-agents#concurrent-subagent-limit) possono essere in esecuzione in una sessione prima che lo strumento Agent rifiuti di generarne un altro (predefinito: 20). Accetta un numero intero positivo in cifre semplici; qualsiasi altra cosa viene ignorata, quindi la variabile può regolare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successivo |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrive l'indirizzo host usato per connettersi all'estensione dell'IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso l'instradamento da WSL a Windows |

316| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sostituire la dimensione della finestra di contesto che Claude Code presume per il modello attivo. A partire dalla v2.1.193, come si applica dipende da come Claude Code risolve l'ID del modello; vedere [Correggere la finestra per un ID modello gateway o personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Utilizzare quando si instrada a un modello attraverso `ANTHROPIC_BASE_URL` la cui finestra di contesto non corrisponde alla dimensione incorporata per il suo nome |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta a `1` per saltare l'installazione automatica delle estensioni dell'IDE. Equivale a impostare [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) a `false` |

317| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri di ogni descrizione dello strumento MCP e delle istruzioni di ogni server MCP che Claude Code invia al modello (predefinito: 2048). Claude Code [tronca il testo più lungo](/docs/it/mcp#for-mcp-server-authors). Accetta un numero intero positivo in cifre semplici. Qualsiasi altra cosa viene ignorato e si applica il predefinito. Richiede Claude Code v2.1.280 o successivo |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta a `1` per saltare la convalida delle voci del lockfile dell'IDE durante la connessione. Usala quando la connessione automatica non riesce a trovare il tuo IDE nonostante sia in esecuzione |

318| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Impostare il numero massimo di token di output per la maggior parte delle richieste. I predefiniti e i limiti variano per modello; vedere [token di output massimi](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code impostazione predefinita a 32000 per gli ID modello che non riconosce, come i nomi specifici del gateway, e abbassa i valori superiori al limite di un modello al limite. L'aumento di questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [auto-compattazione](/docs/it/costs#reduce-token-usage) |318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quanti [subagent](/docs/it/sub-agents#concurrent-subagent-limit) possono essere in esecuzione in una sessione prima che lo strumento Agent si rifiuti di generarne un altro (predefinito: 20). Accetta un numero intero positivo in cifre semplici; qualsiasi altro valore viene ignorato, quindi la variabile può modificare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successiva |

319| `CLAUDE_CODE_MAX_RETRIES` | Sostituire il numero di volte per riprovare le richieste API non riuscite (predefinito: 10). Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il predefinito e rimuove il limite. Per le sessioni non presidiate che devono aspettare attraverso interruzioni più lunghe, impostare `CLAUDE_CODE_RETRY_WATCHDOG` |319| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrive la dimensione della finestra di contesto che Claude Code presume per il modello attivo. Dalla v2.1.193, il modo in cui si applica dipende da come Claude Code risolve l'ID del modello; consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Usala quando instradi verso un modello tramite `ANTHROPIC_BASE_URL` la cui finestra di contesto non corrisponde alla dimensione integrata associata al suo nome |

320| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimosso nella v2.1.224 e ora un no-op. In precedenza limitava il numero totale di [subagent](/docs/it/sub-agents) che Claude poteva generare con lo strumento Agent in una sessione (predefinito: 200); la generazione oltre il limite falliva con `Subagent spawn limit reached`. Il [limite di subagent concorrente](/docs/it/sub-agents#concurrent-subagent-limit) e il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) si applicano comunque |320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri di ciascuna descrizione degli strumenti MCP e delle istruzioni di ciascun server MCP che Claude Code invia al modello (predefinito: 2048). Claude Code [tronca il testo più lungo](/docs/it/mcp#for-mcp-server-authors). Accetta un numero intero positivo in cifre semplici. Qualsiasi altro valore viene ignorato e si applica il valore predefinito. Richiede Claude Code v2.1.280 o successiva |

321| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Numero di [livelli di subagent](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) consentiti sotto la conversazione principale (predefinito: 3). Al predefinito, i subagent possono generare i loro subagent e un subagent al terzo livello non può generare ulteriormente; impostare `1` per disattivare l'annidamento. Nella v2.1.217 attraverso v2.1.218, il predefinito era 1, quindi un subagent non poteva generare il suo a meno che non aumentaste il limite; v2.1.219 ha aumentato il predefinito a 3. Accetta un numero intero positivo in cifre semplici; qualsiasi altra cosa viene ignorata, quindi il limite può essere regolato ma non rimosso. Richiede Claude Code v2.1.217 o successivo |321| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e i limiti variano in base al modello; consulta [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code riduce al limite un valore superiore al limite del modello. Per un ID di modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |

322| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). I valori più alti aumentano il parallelismo ma consumano più risorse |322| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrive il numero di volte in cui riprovare le richieste API non riuscite (predefinito: 10). Limitato a 15 dalla v2.1.186; dalla v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Per le sessioni non presidiate che devono attendere interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |

323| `CLAUDE_CODE_MAX_TURNS` | Limitare il numero di turni agenti quando non viene passato un limite esplicito. Equivalente a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un numero intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimossa nella v2.1.224 e ora non ha alcun effetto. In precedenza limitava il numero totale di [subagent](/docs/it/sub-agents) che Claude poteva generare con lo strumento Agent in una sessione (predefinito: 200); la generazione oltre il limite falliva con `Subagent spawn limit reached`. Il [limite di subagent simultanei](/docs/it/sub-agents#concurrent-subagent-limit) e il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) si applicano ancora |

324| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite sul numero totale di chiamate [WebSearch](/docs/it/tools-reference#websearch-tool-behavior) che una sessione può effettuare (predefinito: 200). Quando Claude raggiunge il limite, le ulteriori chiamate WebSearch restituiscono un avviso che gli dice di continuare con le informazioni che ha già raccolto. Accetta un numero intero positivo senza limite superiore. Qualsiasi altra cosa viene ignorata e si applica il predefinito, quindi il limite può essere aumentato ma non disattivato. Richiede Claude Code v2.1.212 o successivo |324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Numero di [livelli di subagent](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) consentiti sotto la conversazione principale (predefinito: 3). Con il valore predefinito, i subagent possono generare i propri subagent e un subagent al terzo livello non può generarne altri; imposta `1` per disattivare l'annidamento. Dalla v2.1.217 alla v2.1.218, il valore predefinito era 1, quindi un subagent non poteva generarne di propri a meno che tu non aumentassi il limite; la v2.1.219 ha portato il valore predefinito a 3. Accetta un numero intero positivo in cifre semplici; qualsiasi altro valore viene ignorato, quindi il limite può essere modificato ma non rimosso. Richiede Claude Code v2.1.217 o successiva |

325| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Impostare su `1` per generare i server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della vostra shell |325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |

326| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo trascorso in millisecondi prima che una chiamata di strumento MCP ancora in esecuzione [si sposti a un'attività in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) (predefinito: 120000, o 2 minuti). Impostare su `0` per disattivare l'auto-backgrounding. Richiede Claude Code v2.1.212 o successivo |326| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivale a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando sono impostati entrambi. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore invece di essere trattato come assenza di limite |

327| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto a lungo in millisecondi il primo turno di una sessione [non interattiva](/docs/it/headless) aspetta i server MCP ancora in connessione, al posto dell'[attesa del primo turno](/docs/it/agent-sdk/mcp#connection-timing) predefinita. Quando impostato, l'attesa copre ogni server in sospeso. Impostare su `0` per saltare l'attesa. Un server [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) mantiene la sua propria attesa `MCP_TIMEOUT` indipendentemente dal valore. Richiede Claude Code v2.1.274 o successivo |327| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite al numero totale di chiamate a [WebSearch](/docs/it/tools-reference#websearch-tool-behavior) che una sessione può effettuare (predefinito: 200). Quando Claude raggiunge il limite, le ulteriori chiamate a WebSearch restituiscono un avviso che gli dice di proseguire con le informazioni già raccolte. Accetta un numero intero positivo senza limite superiore. Qualsiasi altro valore viene ignorato e si applica il valore predefinito, quindi il limite può essere aumentato ma non disattivato. Richiede Claude Code v2.1.212 o successiva |

328| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate di strumenti MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket o [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia risposta e nessuna notifica di progresso per questo lungo, la chiamata dello strumento si interrompe con un errore invece di aspettare il `MCP_TOOL_TIMEOUT` complessivo. Sostituisce i predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Impostare su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono aumentati a un secondo e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 aumenta la finestra di inattività di quel server ad almeno il valore `timeout`. Non si applica ai server IDE o ai server in-process SDK. Richiede Claude Code v2.1.187 o successivo. Prima della v2.1.203, i server stdio erano esenti dal timeout di inattività |328| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta a `1` per avviare i server MCP stdio solo con un ambiente di base sicuro più l'`env` configurato per il server, invece di ereditare l'ambiente della tua shell |

329| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostato da Claude Code, non da voi: nelle sessioni che vincolano un [socket della posta in arrivo](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta il percorso di quel socket ai hook e ai comandi Bash quando vincola il socket. In una sessione che inizia con la messaggistica attiva, Claude Code vincola il socket prima che qualsiasi hook venga eseguito. Altre sessioni sulla macchina consegnano i messaggi a questo percorso. Ogni sessione esporta il suo socket piuttosto che uno ereditato da un genitore, e i messaggi che arrivano su di esso passano attraverso i [controlli in entrata](/docs/it/cross-session-messaging#control-inbound-messages) della sessione. I blocchi `env` delle impostazioni non possono impostarlo. Richiede Claude Code v2.1.224 o successivo |329| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo trascorso in millisecondi prima che una chiamata a uno strumento MCP ancora in esecuzione [passi a un'attività in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) (predefinito: 120000, ovvero 2 minuti). Imposta a `0` per disattivare il passaggio automatico in background. Richiede Claude Code v2.1.212 o successiva |

330| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostato da Claude Code, non da voi: nelle sessioni che vincolano un [socket della posta in arrivo](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta questo token per sessione ai hook e ai comandi Bash insieme a `CLAUDE_CODE_MESSAGING_SOCKET`. Uno script che invia al socket può inviare `{"type":"auth","token":"<token>"}` come sua prima riga per provare che appartiene alla sessione. Su Windows nativo, Claude Code richiede questa riga e chiude qualsiasi connessione che non si apre con una valida. Le [regole dei propri figli](/docs/it/cross-session-messaging#the-sessions-inbox-socket) dicono quando Claude Code consulta il token. Ogni sessione esporta il suo token, mai uno ereditato da una sessione genitore. I blocchi `env` delle impostazioni non possono impostarlo. Richiede Claude Code v2.1.228 o successivo |330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Per quanti millisecondi il primo turno di una sessione [non interattiva](/docs/it/headless) attende i server MCP ancora in fase di connessione, al posto dell'[attesa predefinita del primo turno](/docs/it/agent-sdk/mcp#connection-timing). Quando è impostata, l'attesa copre tutti i server in sospeso. Imposta a `0` per saltare l'attesa. Un server [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) mantiene la propria attesa `MCP_TIMEOUT` indipendentemente dal valore. Richiede Claude Code v2.1.274 o successiva |

331| `CLAUDE_CODE_NATIVE_CURSOR` | Impostare su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e messa a fuoco del terminale |331| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate agli strumenti MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket o un [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia alcuna risposta né alcuna notifica di avanzamento per questo intervallo, la chiamata allo strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` complessivo. Sovrascrive i valori predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Imposta a `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono portati a un secondo e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 porta la finestra di inattività di quel server almeno al valore di `timeout`. Non si applica ai server dell'IDE né ai server in-process dell'SDK. Richiede Claude Code v2.1.187 o successiva. Prima della v2.1.203, i server stdio erano esenti dal timeout di inattività |

332| `CLAUDE_CODE_NEW_INIT` | Impostare su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere |332| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella di posta](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta il percorso di quel socket verso gli hook e i comandi Bash quando associa il socket. In una sessione che si avvia con la messaggistica attiva, Claude Code associa il socket prima dell'esecuzione di qualsiasi hook. Le altre sessioni sulla macchina recapitano i messaggi a questo percorso. Ogni sessione esporta il proprio socket anziché uno ereditato da una sessione padre, e i messaggi che vi arrivano passano attraverso i [controlli in ingresso](/docs/it/cross-session-messaging#control-inbound-messages) della sessione. I blocchi `env` delle impostazioni non possono impostarla. Richiede Claude Code v2.1.224 o successiva |

333| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Impostare su `1` per scrivere l'output del terminale attraverso un secondo descrittore di file non bloccante, in modo che un terminale che smette di leggere, come un riquadro di controllo tmux in pausa o una connessione SSH bloccata, non possa congelare Claude Code a metà sessione. Si applica su macOS, Linux e WSL quando stdout è un terminale. Richiede Claude Code v2.1.261 o successivo |333| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella di posta](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta questo token per sessione verso gli hook e i comandi Bash insieme a `CLAUDE_CODE_MESSAGING_SOCKET`. Uno script che scrive sul socket può inviare `{"type":"auth","token":"<token>"}` come prima riga per dimostrare di appartenere alla sessione. Su Windows nativo, Claude Code richiede questa riga e chiude qualsiasi connessione che non si apra con una riga valida. Le [regole sui processi figli propri](/docs/it/cross-session-messaging#the-sessions-inbox-socket) indicano quando Claude Code consulta il token. Ogni sessione esporta il proprio token, mai uno ereditato da una sessione padre. I blocchi `env` delle impostazioni non possono impostarla. Richiede Claude Code v2.1.228 o successiva |

334| `CLAUDE_CODE_NO_FLICKER` | Impostare su `1` per abilitare il [rendering a schermo intero](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene la memoria piatta nelle conversazioni lunghe. Sostituisce l'impostazione [`tui`](/docs/it/settings-reference#tui); potete anche passare con `/tui fullscreen` |334| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta a `1` per mostrare il cursore proprio del terminale nel punto di inserimento invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggiamento, forma e focus del terminale |

335| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Quando impostato, `claude auth login` scambia questo token direttamente invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per il provisioning dell'autenticazione in ambienti automatizzati |335| `CLAUDE_CODE_NEW_INIT` | Imposta a `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare il codebase e scriverli. Senza questa variabile, `/init` genera automaticamente un CLAUDE.md senza chiedere nulla |

336| `CLAUDE_CODE_OAUTH_SCOPES` | Ambiti OAuth separati da spazi con cui il token di aggiornamento è stato emesso, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatorio quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` è impostato |336| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Imposta a `1` per scrivere l'output del terminale attraverso un secondo file descriptor non bloccante, in modo che un terminale che smette di leggere, come un pannello tmux in control mode messo in pausa o una connessione SSH bloccata, non possa bloccare Claude Code a metà sessione. Si applica su macOS, Linux e WSL quando stdout è un terminale. Richiede Claude Code v2.1.261 o successiva |

337| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione claude.ai. Alternativa a `/login` per SDK e ambienti automatizzati. Ha la precedenza sulle credenziali archiviate nel portachiavi. Generarne uno con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token). A meno che non eseguiate [`/login`](/docs/it/authentication#authentication-precedence), Claude Code utilizza il token che impostate per l'intera sessione. Per sostituire un token scaduto, generarne uno nuovo e riavviate |337| `CLAUDE_CODE_NO_FLICKER` | Imposta a `1` per abilitare il [rendering a schermo intero](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene costante l'uso della memoria nelle conversazioni lunghe. Sovrascrive l'impostazione [`tui`](/docs/it/settings-reference#tui); puoi anche passare a questa modalità con `/tui fullscreen` |

338| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Rimosso nella v2.1.160 e ora un no-op. In precedenza bloccava la [modalità veloce](/docs/it/fast-mode) a Claude Opus 4.6 invece del predefinito corrente. Opus 4.6 non supporta più la modalità veloce |338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Quando è impostato, `claude auth login` scambia direttamente questo token invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per predisporre l'autenticazione in ambienti automatizzati |

339| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Lunghezza massima degli attributi OpenTelemetry che trasportano contenuto (risposte del modello, contenuto dello strumento, prompt di sistema, corpi API grezzi), marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Aumentare solo se il vostro backend di telemetria accetta valori di attributo più grandi di 64 KB, o abbassare per ridurre il volume di telemetria. Richiede Claude Code v2.1.214 o successivo. Vedere [Monitoraggio](/docs/it/monitoring-usage) |339| `CLAUDE_CODE_OAUTH_SCOPES` | Scope OAuth separati da spazi con cui è stato emesso il token di aggiornamento, ad esempio `"user:profile user:inference user:sessions:claude_code"`. Obbligatoria quando è impostata `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |

340| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Impostare su `1` per scrivere gli errori diagnostici dell'esportatore OpenTelemetry su stderr. Per impostazione predefinita questi errori appaiono solo con `--debug`, quindi un esportatore non configurato correttamente come una collisione di porta Prometheus altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successivo. Vedere [Monitoraggio](/docs/it/monitoring-usage) |340| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione claude.ai. Alternativa a `/login` per l'SDK e gli ambienti automatizzati. Ha la precedenza sulle credenziali memorizzate nel portachiavi. Generane uno con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token). A meno che tu non esegua [`/login`](/docs/it/authentication#authentication-precedence), Claude Code usa il token che hai impostato per l'intera sessione. Per sostituire un token scaduto, generane uno nuovo e riavvia |

341| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo scaricamento degli span OpenTelemetry in sospeso (predefinito: 5000). Vedere [Monitoraggio](/docs/it/monitoring-usage) |341| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Rimossa nella v2.1.160 e ora non ha alcun effetto. In precedenza fissava la [modalità veloce](/docs/it/fast-mode) su Claude Opus 4.6 invece che sul modello predefinito attuale. Opus 4.6 non supporta più la modalità veloce |

342| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni OpenTelemetry dinamiche in millisecondi (predefinito: 1740000 / 29 minuti). Vedere [Intestazioni dinamiche](/docs/it/monitoring-usage#dynamic-headers) |342| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Lunghezza massima degli attributi OpenTelemetry che contengono contenuti (risposte del modello, contenuti degli strumenti, prompt di sistema, corpi API grezzi), incluso il marcatore di troncamento, in unità di codice UTF-16 (predefinito: 61440, ovvero 60 KB). Aumentala solo se il tuo backend di telemetria accetta valori di attributo superiori a 64 KB, oppure riducila per diminuire il volume della telemetria. Richiede Claude Code v2.1.214 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

343| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in millisecondi affinché l'esportatore OpenTelemetry finisca all'arresto (predefinito: 2000). Aumentare se le metriche vengono eliminate all'uscita. Vedere [Monitoraggio](/docs/it/monitoring-usage) |343| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Imposta a `1` per scrivere su stderr gli errori diagnostici dell'exporter OpenTelemetry. Per impostazione predefinita questi errori compaiono solo con `--debug`, quindi un exporter configurato male, ad esempio per una collisione di porta di Prometheus, altrimenti fallisce in silenzio. Richiede Claude Code v2.1.179 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

344| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Impostare su `1` per consentire a Claude Code di eseguire il comando di aggiornamento del vostro gestore di pacchetti in background quando è disponibile una nuova versione. Si applica alle installazioni Homebrew e WinGet. Gli altri gestori di pacchetti continuano a mostrare il comando di aggiornamento senza eseguirlo. Vedere [Auto-aggiornamenti](/docs/it/setup#auto-updates) |344| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo svuotamento degli span OpenTelemetry in sospeso (predefinito: 5000). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

345| `CLAUDE_CODE_PERFORCE_MODE` | Impostare su `1` per abilitare la protezione da scrittura consapevole di Perforce. Quando impostato, Edit, Write e NotebookEdit falliscono con un suggerimento `p4 edit <file>` se il file di destinazione manca il bit di proprietario-scrittura, che Perforce cancella sui file sincronizzati fino a quando `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento dei cambiamenti di Perforce |345| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo in millisecondi per l'aggiornamento degli header OpenTelemetry dinamici (predefinito: 1740000 / 29 minuti). Consulta [Header dinamici](/docs/it/monitoring-usage#dynamic-headers) |

346| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sostituire la directory radice dei plugin. Nonostante il nome, questo imposta la directory genitore, non la cache stessa: i marketplace e la cache dei plugin vivono in sottodirectory sotto questo percorso. Impostazione predefinita: `~/.claude/plugins` |346| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in millisecondi entro cui l'exporter OpenTelemetry deve terminare alla chiusura (predefinito: 2000). Aumentalo se le metriche vengono perse all'uscita. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

347| `CLAUDE_CODE_PLUGIN_DIRS` | Directory dei plugin da caricare per la sessione, ognuna caricata nel modo in cui un flag [`--plugin-dir`](/docs/it/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) la carica. Separare più percorsi con `:` su Unix o `;` su Windows. Fornire ogni percorso come percorso assoluto o iniziare con `~`, perché Claude Code salta i percorsi relativi. Richiede Claude Code v2.1.280 o successivo. Vedere [Caricare un plugin per una sessione](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session) |347| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Imposta a `1` per consentire a Claude Code di eseguire in background il comando di aggiornamento del tuo gestore di pacchetti quando è disponibile una nuova versione. Si applica alle installazioni tramite Homebrew e WinGet. Gli altri gestori di pacchetti continuano a mostrare il comando di aggiornamento senza eseguirlo. Consulta [Aggiornamenti automatici](/docs/it/setup#auto-updates) |

348| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in millisecondi per le operazioni git durante l'installazione o l'aggiornamento dei plugin (predefinito: 120000). Aumentare questo valore per repository grandi o connessioni di rete lente. Vedere [Le operazioni Git scadono](/docs/it/plugins/troubleshooting#git-clone-timed-out-after-120s) |348| `CLAUDE_CODE_PERFORCE_MODE` | Imposta a `1` per abilitare la protezione in scrittura compatibile con Perforce. Quando è impostata, Edit, Write e NotebookEdit falliscono con un suggerimento `p4 edit <file>` se il file di destinazione non ha il bit di scrittura per il proprietario, che Perforce rimuove dai file sincronizzati finché `p4 edit` non li apre. Ciò impedisce a Claude Code di aggirare il tracciamento delle modifiche di Perforce |

349| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Impostare su `1` per saltare il tentativo di re-clone e continuare a utilizzare il checkout del marketplace esistente quando un aggiornamento del marketplace non riesce a raggiungere o autenticarsi al remoto. Utile negli ambienti offline o airgapped dove il re-cloning fallirebbe allo stesso modo. Vedere [Gli aggiornamenti del marketplace falliscono negli ambienti offline](/docs/it/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |349| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sovrascrive la directory radice dei plugin. Nonostante il nome, imposta la directory padre, non la cache stessa: i marketplace e la cache dei plugin si trovano in sottodirectory di questo percorso. Il valore predefinito è `~/.claude/plugins` |

350| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Impostare su `1` per clonare le fonti di scorciatoia GitHub `owner/repo` su HTTPS invece di SSH. Si applica all'installazione e all'aggiornamento dei plugin, e a `/plugin marketplace add` e `update`. Utile nei runner CI, nei container o in qualsiasi ambiente senza una chiave SSH configurata per `github.com` |350| `CLAUDE_CODE_PLUGIN_DIRS` | Directory dei plugin da caricare per la sessione, ciascuna caricata nel modo in cui la carica un flag [`--plugin-dir`](/docs/it/plugins/cli-reference#flags-that-load-a-plugin-for-one-session). Separa più percorsi con `:` su Unix o `;` su Windows. Specifica ogni percorso come percorso assoluto o iniziandolo con `~`, perché Claude Code salta i percorsi relativi. Richiede Claude Code v2.1.280 o successiva. Consulta [Caricare un plugin per una sessione](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session) |

351| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso a una o più directory di seed di plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Utilizzare per raggruppare una directory di plugin pre-popolata in un'immagine di container. Claude Code registra i marketplace da queste directory all'avvio e utilizza i plugin pre-memorizzati in cache senza re-clonare. Vedere [Pre-popolare i plugin per i container](/docs/it/plugins/org#seed-containers-and-ci) |351| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in millisecondi per la clonazione o l'aggiornamento di un marketplace di plugin (predefinito: 120000). Aumenta questo valore per repository di grandi dimensioni o connessioni di rete lente. Consulta [Timeout del git clone](/docs/it/plugins/troubleshooting#git-clone-timed-out-after-120s) |

352| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Impostare su `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando genera PowerShell per le chiamate di strumenti, gli hook e i comandi della linea di stato, e rispettare la politica di esecuzione effettiva della macchina. Per impostazione predefinita Claude Code bypassa la politica di esecuzione a livello di processo in modo che gli script `.ps1` e gli import di moduli funzionino su installazioni Windows predefinite-Restricted. Il bypass a livello di processo non sostituisce mai la `MachinePolicy` o la `UserPolicy` di Group Policy indipendentemente da questa impostazione |352| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Imposta a `1` per saltare il tentativo di nuova clonazione e continuare a usare il checkout esistente del marketplace quando un aggiornamento del marketplace non riesce a raggiungere il remoto o ad autenticarsi. Utile in ambienti offline o airgapped in cui una nuova clonazione fallirebbe allo stesso modo. Consulta [Gli aggiornamenti del marketplace falliscono negli ambienti offline](/docs/it/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

353| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite in millisecondi sull'attesa inattiva per i subagent in background e i flussi di lavoro dopo il turno finale in [modalità non interattiva](/docs/it/headless#background-tasks-at-exit) con il flag `-p`. L'attesa inattiva ricomincia ogni volta che Claude prende un turno per gestire un risultato in background. Predefinito: `600000`, o 10 minuti. Quando l'attesa inattiva raggiunge il limite, Claude Code smette di aspettare i compiti in background rimanenti e esce. Impostare su `0` per aspettare indefinitamente. Questo limite è separato dal periodo di grazia di cinque secondi che si applica alle shell in background semplici. Richiede Claude Code v2.1.182 o successivo |353| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta a `1` per clonare le sorgenti GitHub in forma abbreviata `owner/repo` tramite HTTPS invece che tramite SSH. Si applica all'installazione e all'aggiornamento dei plugin, e a `/plugin marketplace add` e `update`. Utile nei runner di CI, nei container o in qualsiasi ambiente senza una chiave SSH configurata per `github.com` |

354| `CLAUDE_CODE_PROCESS_WRAPPER` | Avviare i processi che Claude Code avvia dal suo binario, come il servizio in background che ospita le sessioni di [visualizzazione agente](/docs/it/agent-view), attraverso un launcher aziendale fornito come prefisso argv come `/opt/corp/launcher`. Impostatelo nel blocco `env` delle impostazioni utente o [gestite](/docs/it/managed-settings), non come esportazione di shell, in modo che il servizio in background staccato lo erediti; le impostazioni di progetto e locali non possono impostarlo. Equivalente all'impostazione [`processWrapper`](/docs/it/settings-reference#processwrapper), che richiede Claude Code v2.1.210 o successivo; questa variabile ha la precedenza quando entrambi sono impostati. L'estensione VS Code configura il suo launcher separatamente attraverso la sua impostazione `claudeProcessWrapper`. Ignorato su Windows. Vedere [Eseguire Claude Code dietro un launcher aziendale](/docs/it/corporate-launcher) per il formato del valore, cosa copre il launcher e il contratto che il launcher deve soddisfare. Richiede Claude Code v2.1.208 o successivo |354| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso di una o più directory seed di plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Usala per includere una directory di plugin prepopolata in un'immagine container. Claude Code registra i marketplace da queste directory all'avvio e usa i plugin già presenti nella cache senza clonarli di nuovo. Consulta [Prepopolare i plugin per i container](/docs/it/plugins/org#seed-containers-and-ci) |

355| `CLAUDE_CODE_PROJECT_DIR_NAME` | Impostare insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory `projects/` in cui Claude Code memorizza le trascrizioni e la memoria automatica di quella sessione, al posto di uno derivato dal percorso della directory di lavoro. Ad esempio, avviare Claude Code con `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` le memorizza sotto `/srv/tenant-a/projects/work/`. Claude Code ignora questa variabile quando `CLAUDE_CONFIG_DIR` non è impostato e la legge solo dall'ambiente da cui avviate `claude`, mai da un [blocco `env` del file di impostazioni](#in-settings-files). Vedere [Denominare la directory del progetto voi stessi](/docs/it/sessions#name-the-project-directory-yourself). Richiede Claude Code v2.1.234 o successivo |355| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta a `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando avvia PowerShell per le chiamate agli strumenti, gli hook e i comandi della riga di stato, rispettando invece la execution policy effettiva della macchina. Per impostazione predefinita Claude Code aggira la execution policy nell'ambito del processo, così gli script `.ps1` e le importazioni di moduli funzionano nelle installazioni di Windows con il valore predefinito Restricted. L'aggiramento nell'ambito del processo non sovrascrive mai le policy di gruppo `MachinePolicy` o `UserPolicy`, indipendentemente da questa impostazione |

356| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Impostare `5m` o `1h`, gli unici valori che Claude Code accetta, per scegliere il [TTL della cache del prompt](/docs/it/prompt-caching#cache-lifetime) per la conversazione principale: i vostri turni interattivi, `-p` e SDK, più gli helper che vengono eseguiti in linea con essi. Ha la precedenza sull'impostazione `promptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` la sostituisce. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Richiede Claude Code v2.1.242 o successivo |356| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite massimo in millisecondi dell'attesa inattiva per i subagent e i workflow in background dopo il turno finale in [modalità non interattiva](/docs/it/headless#background-tasks-at-exit) con il flag `-p`. L'attesa inattiva ricomincia ogni volta che Claude esegue un turno per gestire un risultato in background. Predefinito: `600000`, ovvero 10 minuti. Quando l'attesa inattiva raggiunge il limite, Claude Code smette di attendere le restanti attività in background ed esce. Imposta a `0` per attendere indefinitamente. Questo limite è separato dal periodo di tolleranza di cinque secondi che si applica alle semplici shell in background. Richiede Claude Code v2.1.182 o successiva |

357| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Impostare su `1` per propagare il contesto di traccia W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione copre l'intestazione `traceparent` sulle richieste del modello e MCP HTTP e la variabile di ambiente `TRACEPARENT` per i sottoprocessi Bash, PowerShell e hook. Per impostazione predefinita, la propagazione è abilitata solo quando connessi direttamente all'API Anthropic. Aggiunto nella v2.1.152. Vedere [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |357| `CLAUDE_CODE_PROCESS_WRAPPER` | Avvia i processi che Claude Code lancia dal proprio binario, come il servizio in background che ospita le sessioni di [agent view](/docs/it/agent-view), tramite un launcher aziendale specificato come prefisso argv, ad esempio `/opt/corp/launcher`. Impostala nel blocco `env` delle impostazioni utente o delle [impostazioni gestite](/docs/it/managed-settings), non come export della shell, in modo che il servizio in background scollegato la erediti; le impostazioni di progetto e locali non possono impostarla. Equivale all'[impostazione `processWrapper`](/docs/it/settings-reference#processwrapper), che richiede Claude Code v2.1.210 o successiva; questa variabile ha la precedenza quando sono impostate entrambe. L'estensione di VS Code configura il proprio launcher separatamente tramite la sua impostazione `claudeProcessWrapper`. Ignorata su Windows. Consulta [Eseguire Claude Code dietro un launcher aziendale](/docs/it/corporate-launcher) per il formato del valore, ciò che il launcher copre e il contratto che il launcher deve rispettare. Richiede Claude Code v2.1.208 o successiva |

358| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Impostato da piattaforme host che incorporano Claude Code e gestiscono l'instradamento del provider di modelli per suo conto. Quando impostato, Claude Code ignora le variabili di selezione del provider, endpoint e autenticazione come `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY` nei file di impostazioni, in modo che le impostazioni utente non possono ignorare l'instradamento dell'host. Claude Code ignora anche le chiavi di selezione del modello come `model`, `fallbackModel` e `modelOverrides` nelle [impostazioni gestite](/docs/it/managed-settings), qualunque fonte gestita le consegni, in modo che la configurazione del modello dell'host ha la precedenza su un pin del modello gestito non aggiornato. Claude Code ignora anche le variabili di selezione del modello come `ANTHROPIC_MODEL` e la famiglia `ANTHROPIC_DEFAULT_*_MODEL` in un blocco `env` gestito; un'allowlist [`availableModels`](/docs/it/model-config#restrict-model-selection) nelle impostazioni gestite si applica comunque a meno che l'host non fornisca la sua. Claude Code salta anche l'opt-out di telemetria automatica che altrimenti applica su provider di terze parti come Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, in modo che la telemetria segua l'opt-out standard `DISABLE_TELEMETRY`. Vedere [Comportamenti predefiniti per provider API](/docs/it/data-usage#default-behaviors-by-api-provider) |358| `CLAUDE_CODE_PROJECT_DIR_NAME` | Da impostare insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory in `projects/` in cui Claude Code archivia le trascrizioni e la memoria automatica di quella sessione, al posto di un nome derivato dal percorso della directory di lavoro. Ad esempio, avviando Claude Code con `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` le archivia in `/srv/tenant-a/projects/work/`. Claude Code ignora questa variabile quando `CLAUDE_CONFIG_DIR` non è impostata, e la legge solo dall'ambiente da cui avvii `claude`, mai da un [blocco `env` di un file di impostazioni](#in-settings-files). Consulta [Assegnare tu il nome alla directory del progetto](/docs/it/sessions#name-the-project-directory-yourself). Richiede Claude Code v2.1.234 o successiva |

359| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Impostare su `1` per consentire al proxy di eseguire la risoluzione DNS invece del chiamante. Opt-in per gli ambienti in cui il proxy dovrebbe gestire la risoluzione del nome host |359| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, per scegliere il [TTL del prompt caching](/docs/it/prompt-caching#cache-lifetime) per la conversazione principale: i tuoi turni interattivi, `-p` e SDK, più gli helper che vengono eseguiti in linea con essi. Ha la precedenza sull'impostazione `promptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, mentre `FORCE_PROMPT_CACHING_5M` la sovrascrive. L'API fattura le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |

360| `CLAUDE_CODE_REMOTE` | Impostato automaticamente su `true` quando Claude Code è in esecuzione come una [sessione cloud](/docs/it/claude-code-on-the-web). Leggere questo da un hook o script di configurazione per rilevare se siete in una sessione cloud |360| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Imposta a `1` per propagare il trace context W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione riguarda l'header `traceparent` sulle richieste al modello e ai server MCP HTTP e la variabile d'ambiente `TRACEPARENT` per i sottoprocessi di Bash, PowerShell e degli hook. Per impostazione predefinita, la propagazione è abilitata solo quando la connessione è diretta all'API Anthropic. Aggiunta nella v2.1.152. Consulta [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |

361| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostato automaticamente nelle [sessioni cloud](/docs/it/claude-code-on-the-web) all'ID della sessione corrente. Leggere questo per costruire un link di ritorno alla trascrizione della sessione. Vedere [Collegare l'output di nuovo alla sessione](/docs/it/cloud-environments#link-output-back-to-the-session) |361| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Impostata dalle piattaforme host che incorporano Claude Code e gestiscono per suo conto l'instradamento verso il provider del modello. Quando è impostata, Claude Code ignora le variabili di selezione del provider, dell'endpoint e di autenticazione, come `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY`, nei file di impostazioni, così le impostazioni utente non possono sovrascrivere l'instradamento dell'host. Claude Code ignora inoltre le chiavi di selezione del modello come `model`, `fallbackModel` e `modelOverrides` nelle [impostazioni gestite](/docs/it/managed-settings), qualunque sia la fonte gestita che le distribuisce, così la configurazione del modello dell'host ha la precedenza su un modello fissato nelle impostazioni gestite non aggiornato. Claude Code ignora anche le variabili di selezione del modello come `ANTHROPIC_MODEL` e la famiglia `ANTHROPIC_DEFAULT_*_MODEL` in un blocco `env` gestito; un'allowlist [`availableModels`](/docs/it/model-config#restrict-model-selection) nelle impostazioni gestite si applica comunque, a meno che l'host non ne fornisca una propria. Claude Code salta inoltre la disattivazione automatica della telemetria che altrimenti applica sui provider di terze parti come Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud e Microsoft Foundry, quindi la telemetria segue la disattivazione standard tramite `DISABLE_TELEMETRY`. Consulta [Comportamenti predefiniti per provider API](/docs/it/data-usage#default-behaviors-by-api-provider) |

362| `CLAUDE_CODE_RESTRICTED` | Impostare su `1` per avviare la sessione in modalità ristretta, lo stesso che passare [`--restricted`](/docs/it/cli-reference#cli-flags). Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.248 o successivo |362| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Imposta a `1` per consentire al proxy di eseguire la risoluzione DNS al posto del chiamante. Opzione facoltativa per gli ambienti in cui il proxy deve gestire la risoluzione dei nomi host |

363| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Impostare su `1` per riprendere automaticamente se la sessione precedente è terminata a metà turno. Utilizzato in modalità SDK in modo che il modello continui senza richiedere all'SDK di inviare di nuovo il prompt. Per disattivare questo, annullare l'impostazione della variabile o impostarla su `0`. Prima della v2.1.221, Claude Code ignorava `0` e altri valori falsy, quindi l'impostazione di `0` attivava comunque la ripresa in modalità non interattiva e l'annullamento dell'impostazione della variabile era l'unico modo per disattivarla |363| `CLAUDE_CODE_REMOTE` | Impostata automaticamente a `true` quando Claude Code è in esecuzione come [sessione cloud](/docs/it/claude-code-on-the-web). Leggila da un hook o da uno script di configurazione per rilevare se ti trovi in una sessione cloud |

364| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione affinché una sessione che è terminata a metà turno continui automaticamente al ripristino. Quando l'ultimo messaggio è più vecchio di questo limite, Claude Code salta sia la ripresa automatica di `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` che il messaggio di continuazione `CLAUDE_CODE_RESUME_PROMPT` iniettato, e la sessione inizia inattiva in modo che continuiate esplicitamente. Non impostato o `0` significa nessun limite, tranne che un turno la cui ultima richiesta ha fallito con un errore API riprende solo mentre quell'errore è inferiore a sei ore. Un valore positivo limita ogni turno, inclusi quelli; un valore negativo o non numerico applica un limite di un'ora. Gli script di generazione per agenti a lunga esecuzione possono impostare questo in modo che un riavvio rispetto a una trascrizione vecchia non ri-esegua un prompt stantio. Claude Code imposta un limite di un'ora da solo quando riavvia una sessione di [visualizzazione agente](/docs/it/agent-view) bloccata che ha ereditato la sua conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successivo |364| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostata automaticamente nelle [sessioni cloud](/docs/it/claude-code-on-the-web) all'ID della sessione corrente. Leggila per costruire un link alla trascrizione della sessione. Consulta [Collegare l'output alla sessione](/docs/it/cloud-environments#link-output-back-to-the-session) |

365| `CLAUDE_CODE_RESUME_PROMPT` | Sostituire il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua un turno interrotto invece di inviare di nuovo il suo prompt, o quando riprendete una [chiamata di strumento differita](/docs/it/hooks#defer-a-tool-call-for-later) con `-p`. Impostazione predefinita: `Continue from where you left off.`. Una stringa vuota utilizza il predefinito |365| `CLAUDE_CODE_RESTRICTED` | Imposta a `1` per avviare la sessione in modalità con restrizioni, come passando [`--restricted`](/docs/it/cli-reference#cli-flags). Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.248 o successiva |

366| `CLAUDE_CODE_RETRY_WATCHDOG` | Impostare su `1` per le sessioni non presidiate come harness di valutazione, lavori CI o worker remoti. Ritenta gli errori di capacità `429` e `529` indefinitamente invece di fallire dopo i tentativi di `CLAUDE_CODE_MAX_RETRIES`. Claude Code fallisce immediatamente quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche uno da un [limite di spesa gateway](/docs/it/errors#spend-limit-reached) che si ripristina su un programma. Prima della v2.1.239, il watchdog ritentava questi indefinitamente. Per le richieste in modalità veloce, vedere [Gestire i limiti di velocità](/docs/it/fast-mode#handle-rate-limits). Il watchdog fa un backup fino a 5 minuti tra i tentativi, o fino al ripristino del limite quando la risposta trasporta un tempo di ripristino del limite di velocità, quindi una sessione che colpisce un limite di utilizzo aspetta la finestra rimanente. Su v2.1.199 o successivo aumenta anche il conteggio di ripetizione predefinito per altri errori transitori, come errori del server, timeout e connessioni interrotte, a 300, approssimativamente tre ore di backup, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se impostate esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successivo |366| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta a `1` per riprendere automaticamente se la sessione precedente è terminata a metà di un turno. Usata in modalità SDK in modo che il modello prosegua senza che l'SDK debba inviare di nuovo il prompt. Per disattivarla, rimuovi la variabile o impostala a `0`. Prima della v2.1.221, Claude Code ignorava `0` e gli altri valori falsy, quindi impostare `0` attivava comunque la ripresa in modalità non interattiva e rimuovere la variabile era l'unico modo per disattivarla |

367| `CLAUDE_CODE_SAFE_MODE` | Impostare su `1` per avviare in modalità sicura: CLAUDE.md, skill, plugin, hook, server MCP, comandi personalizzati e agenti, stili di output, flussi di lavoro, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della linea di stato e suggerimento di file, server LSP e memoria automatica non si caricano, per la risoluzione dei problemi di una configurazione interrotta. La politica delle impostazioni gestite si applica comunque, inclusi gli hook configurati dalla politica, la linea di stato e i comandi di suggerimento di file; i plugin gestiti, le skill gestite, il CLAUDE.md gestito e i server MCP configurati dalla politica non si caricano. Equivalente a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figlio generati direttamente ereditano la variabile |367| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione perché una sessione terminata a metà di un turno prosegua automaticamente alla ripresa. Quando l'ultimo messaggio è più vecchio di questo limite, Claude Code salta la ripresa automatica di `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` e il relativo messaggio di continuazione `CLAUDE_CODE_RESUME_PROMPT`, e la sessione si avvia inattiva in modo che tu prosegua esplicitamente. Non impostata o `0` significa nessun limite, tranne per il fatto che un turno la cui ultima richiesta è fallita con un errore API riprende solo finché quell'errore ha meno di sei ore. Un valore positivo limita ogni turno, inclusi quelli; un valore negativo o non numerico applica un limite di un'ora. Gli script di avvio per agenti di lunga durata possono impostarla in modo che un riavvio su una trascrizione vecchia non riesegua un prompt obsoleto. Claude Code imposta autonomamente un limite di un'ora quando riavvia una sessione di [agent view](/docs/it/agent-view) andata in crash che ha ereditato la conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successiva |

368| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` è impostato. Le chiavi sono sottostringhe abbinate al testo del comando; i valori sono limiti di conteggio di interi. Ad esempio, `{"deploy.sh": 2}` consente a `deploy.sh` di essere chiamato al massimo due volte. L'abbinamento è basato su sottostringhe in modo che i trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` contino comunque contro il limite. Il fan-out di runtime tramite `xargs` o `find -exec` non viene rilevato; questo è un controllo di difesa in profondità |368| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrive il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` prosegue un turno interrotto invece di inviare di nuovo il suo prompt, oppure quando riprendi una [chiamata a uno strumento rinviata](/docs/it/hooks#defer-a-tool-call-for-later) con `-p`. Il valore predefinito è `Continue from where you left off.`. Una stringa vuota usa il valore predefinito |

369| `CLAUDE_CODE_SCROLL_SPEED` | Impostare il moltiplicatore di scorrimento della rotella del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta qualsiasi valore positivo fino a 20, inclusi valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento del trackpad e della rotella accelerato nei terminali che già amplificano gli eventi della rotella. Impostare su `3` per corrispondere a `vim` se il vostro terminale invia un evento della rotella per tacca senza amplificazione. Ignorato nel terminale IDE JetBrains, dove Claude Code utilizza la sua gestione dello scorrimento |369| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta a `1` per le sessioni non presidiate come harness di valutazione, job di CI o worker remoti. Riprova indefinitamente in caso di errori di capacità `429` e `529` invece di fallire dopo `CLAUDE_CODE_MAX_RETRIES` tentativi. Claude Code fallisce immediatamente quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche se proviene da un [limite di spesa del gateway](/docs/it/errors#spend-limit-reached) che si azzera periodicamente. Prima della v2.1.239, il watchdog riprovava indefinitamente anche in questi casi. Per le richieste in modalità veloce, consulta [Gestire i rate limit](/docs/it/fast-mode#handle-rate-limits). Il watchdog attende fino a 5 minuti tra un tentativo e l'altro, oppure fino all'azzeramento del limite quando la risposta include un orario di azzeramento del rate limit, così una sessione che raggiunge un limite di utilizzo attende la fine della finestra rimanente. Nella v2.1.199 o successiva aumenta inoltre a 300 il numero predefinito di nuovi tentativi per gli altri errori transitori, come errori del server, timeout e connessioni interrotte, pari a circa tre ore di attesa, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successiva |

370| `CLAUDE_CODE_SEND_FEEDBACK` | Impostare su `0` per disattivare il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Impostare su `1` per attivarlo dove il vostro account ha già accesso; la variabile non può concedere l'accesso da sola, e gli altri interruttori che disattivano il feedback, come `DISABLE_FEEDBACK_COMMAND` e il valore `off` dell'impostazione [`feedbackDrafts`](/docs/it/settings-reference#feedbackdrafts), si applicano comunque |370| `CLAUDE_CODE_SAFE_MODE` | Imposta a `1` per avviare in modalità provvisoria: CLAUDE.md, skill, plugin, hook, server MCP, comandi e agenti personalizzati, stili di output, workflow, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della riga di stato e dei suggerimenti di file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione non funzionante. La policy delle impostazioni gestite si applica comunque, inclusi gli hook, la riga di stato e i comandi dei suggerimenti di file configurati dalla policy; i plugin gestiti, le skill gestite, il CLAUDE.md gestito e i server MCP configurati dalla policy no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |

371| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sostituire il budget di tempo in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Il valore è anche il timeout per ogni hook che non imposta il suo `timeout`. Si applica all'uscita della sessione, `/clear` e al passaggio delle sessioni tramite `/resume` interattivo. Per impostazione predefinita il budget è 1,5 secondi, aumentato automaticamente al `timeout` per hook più alto configurato nei file di impostazioni, fino a 60 secondi. I timeout sugli hook forniti dai plugin non aumentano il budget |371| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando è impostata `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Le chiavi sono sottostringhe confrontate con il testo del comando; i valori sono limiti interi di chiamate. Ad esempio, `{"deploy.sh": 2}` consente di chiamare `deploy.sh` al massimo due volte. Il confronto si basa su sottostringhe, quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. Le diramazioni a runtime tramite `xargs` o `find -exec` non vengono rilevate; si tratta di un controllo di difesa in profondità |

372| `CLAUDE_CODE_SESSION_ID` | Impostato automaticamente all'ID della sessione corrente nei sottoprocessi dello strumento Bash e PowerShell, nei sottoprocessi del [comando hook](/docs/it/hooks) e nei sottoprocessi [server MCP](/docs/it/mcp) stdio. Per Bash, PowerShell e hook questo corrisponde al campo `session_id` nell'input JSON dell'hook e viene aggiornato su `/clear`. Un sottoprocesso del server MCP mantiene l'ID con cui è stato generato. Su `--resume <session-id>` riceve l'ID ripreso, corrispondente agli hook e Bash. Su `--continue` o `--resume` senza un ID esplicito potrebbe ricevere l'ID di avvio iniziale. Utilizzare per correlare gli script e gli strumenti esterni con la sessione Claude Code che li ha avviati |372| `CLAUDE_CODE_SCROLL_SPEED` | Imposta il moltiplicatore di scorrimento della rotellina del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta qualsiasi valore positivo fino a 20, inclusi valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotellina nei terminali che già amplificano gli eventi della rotellina. Imposta a `3` per corrispondere a `vim` se il tuo terminale invia un evento della rotellina per scatto senza amplificazione. Ignorata nel terminale degli IDE JetBrains, dove Claude Code usa una propria gestione dello scorrimento |

373| `CLAUDE_CODE_SHELL` | Impostare la shell che Claude Code utilizza per eseguire i comandi dello strumento Bash. Accetta un percorso a un binario `bash` o `zsh`, ad esempio `/opt/homebrew/bin/bash`. Altre shell come `fish` non sono supportate. Se il valore non è un percorso `bash` o `zsh` funzionante, Claude Code lo ignora e torna all'auto-rilevamento. L'auto-rilevamento utilizza il vostro `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` funzionante quindi `bash` trovato sul vostro `PATH` e nelle posizioni di installazione standard |373| `CLAUDE_CODE_SEND_FEEDBACK` | Imposta a `0` per disattivare il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Imposta a `1` per attivarlo dove il tuo account ha già accesso; la variabile non può concedere l'accesso da sola, e gli altri interruttori che disattivano il feedback, come `DISABLE_FEEDBACK_COMMAND` e il valore `off` dell'impostazione [`feedbackDrafts`](/docs/it/settings-reference#feedbackdrafts), si applicano comunque |

374| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso di comando che avvolge i comandi shell che Claude Code genera: chiamate dello strumento Bash, comandi [hook](/docs/it/hooks), comandi [linea di stato](/docs/it/statusline) e comandi di avvio [server MCP](/docs/it/mcp) stdio. Gli hook PowerShell e gli hook in forma exec vengono eseguiti senza il prefisso. Utile per la registrazione o il controllo. L'impostazione di un percorso eseguibile nudo come `/path/to/logger.sh` esegue ogni comando come `/path/to/logger.sh '<command>'`. Il wrapper riceve la riga di comando come un singolo argomento con shell-quoted in `$1`, quindi il wrapper deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un percorso eseguibile nudo interrompe i server MCP stdio che passano argomenti come `npx -y <package>`. Per le chiamate dello strumento Bash, `$1` contiene l'invocazione della shell completa che Claude Code assembla, inclusa la configurazione dell'ambiente, non solo il comando che Claude ha eseguito |374| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sovrascrive il tempo disponibile in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Il valore è anche il timeout per ogni hook che non imposta un proprio `timeout`. Si applica all'uscita dalla sessione, a `/clear` e al cambio di sessione tramite `/resume` interattivo. Per impostazione predefinita il tempo disponibile è di 1,5 secondi, aumentato automaticamente al `timeout` per hook più alto configurato nei file di impostazioni, fino a 60 secondi. I timeout degli hook forniti dai plugin non aumentano il tempo disponibile |

375| `CLAUDE_CODE_SIMPLE` | Impostare su `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, lettura di file e modifica di file. Gli strumenti MCP da `--mcp-config` sono comunque disponibili. Disabilita l'auto-scoperta di hook, skill, comandi personalizzati, subagent, plugin, server MCP, memoria automatica e CLAUDE.md. Le skill in una directory che passate con `--add-dir` si caricano comunque. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o da un `apiKeyHelper` in `--settings`. Equivalente a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |375| `CLAUDE_CODE_SESSION_ID` | Impostata automaticamente all'ID della sessione corrente nei sottoprocessi degli strumenti Bash e PowerShell, nei sottoprocessi dei [comandi hook](/docs/it/hooks) e nei sottoprocessi dei [server MCP](/docs/it/mcp) stdio. Per Bash, PowerShell e gli hook corrisponde al campo `session_id` nell'input JSON degli hook e viene aggiornata con `/clear`. Un sottoprocesso di un server MCP mantiene l'ID con cui è stato avviato. Con `--resume <session-id>` riceve l'ID ripreso, come gli hook e Bash. Con `--continue` o `--resume` senza un ID esplicito potrebbe invece ricevere l'ID iniziale di avvio. Usala per correlare script e strumenti esterni con la sessione di Claude Code che li ha avviati |

376| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Impostare su `1` per utilizzare un prompt di sistema più breve e descrizioni di strumenti abbreviate su qualsiasi modello. Impostare su `0`, `false`, `no` o `off` per rinunciare anche sui modelli in cui l'esperimento o la configurazione del server lo abiliterebbero altrimenti. L'insieme completo di strumenti, gli hook, i server MCP e la scoperta di CLAUDE.md rimangono abilitati |376| `CLAUDE_CODE_SHELL` | Imposta la shell che Claude Code usa per eseguire i comandi dello strumento Bash. Accetta il percorso di un binario `bash` o `zsh`, ad esempio `/opt/homebrew/bin/bash`. Altre shell come `fish` non sono supportate. Se il valore non è un percorso `bash` o `zsh` funzionante, Claude Code lo ignora e ripiega sul rilevamento automatico. Il rilevamento automatico usa la tua `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` e poi `bash` funzionante trovato nel tuo `PATH` e nei percorsi di installazione standard |

377| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Saltare l'autenticazione lato client per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), per i gateway che firmano le richieste da soli |377| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso di comando che racchiude i comandi di shell avviati da Claude Code: chiamate allo strumento Bash, comandi degli [hook](/docs/it/hooks), comandi della [riga di stato](/docs/it/statusline) e comandi di avvio dei [server MCP](/docs/it/mcp) stdio. Gli hook PowerShell e gli hook in forma exec vengono eseguiti senza il prefisso. Utile per il logging o l'auditing. Impostare un semplice percorso di eseguibile come `/path/to/logger.sh` esegue ogni comando come `/path/to/logger.sh '<command>'`. Il wrapper riceve la riga di comando come singolo argomento quotato per la shell in `$1`, quindi il wrapper deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un semplice percorso di eseguibile rompe i server MCP stdio che passano argomenti come `npx -y <package>`. Per le chiamate allo strumento Bash, `$1` contiene l'intera invocazione della shell assemblata da Claude Code, inclusa la preparazione dell'ambiente, non solo il comando eseguito da Claude |

378| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Impostare su `1` per disattivare la cache in-process delle credenziali risolte dalla catena del provider di credenziali predefinito AWS, in modo che Claude Code risolva la catena su ogni richiesta API. Con la cache disattivata, un profilo supportato da SSO richiede credenziali da IAM Identity Center su ogni richiesta. Vedere [memorizzazione in cache delle credenziali e timeout di risoluzione](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout). Richiede Claude Code v2.1.207 o successivo |378| `CLAUDE_CODE_SIMPLE` | Imposta a `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, di lettura file e di modifica file. Gli strumenti MCP da `--mcp-config` restano disponibili. Disabilita l'individuazione automatica di hook, skill, comandi personalizzati, subagent, plugin installati, server MCP, memoria automatica e CLAUDE.md. Le skill in una directory che passi con `--add-dir` vengono comunque caricate. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o da un `apiKeyHelper` in `--settings`. Equivale a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |

379| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Saltare l'autenticazione AWS per Amazon Bedrock (ad esempio, quando si utilizza un gateway LLM) |379| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta a `1` per usare un prompt di sistema più breve e descrizioni degli strumenti abbreviate su qualsiasi modello. Imposta a `0`, `false`, `no` o `off` per disattivarla anche sui modelli in cui l'esperimento o la configurazione del server la abiliterebbero altrimenti. L'intero set di strumenti, gli hook, i server MCP e l'individuazione di CLAUDE.md restano abilitati |

380| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Impostare su `1` per trattare un controllo di disponibilità della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) non riuscito come disponibile, per le reti che bloccano la richiesta diretta del controllo a `api.anthropic.com`. Claude Code onora comunque una risposta "disabilitato dalla vostra organizzazione" |380| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Salta l'autenticazione lato client per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), per i gateway che firmano autonomamente le richieste |

381| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Impostare su `1` per saltare il controllo di disponibilità della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) lato client, per i proxy che intercettano la richiesta del controllo piuttosto che rifiutarla. L'API rifiuta comunque le richieste in modalità veloce quando la vostra organizzazione ha la modalità veloce disabilitata |381| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Imposta a `1` per disattivare la cache in-process delle credenziali risolte dalla catena predefinita dei provider di credenziali AWS, in modo che Claude Code risolva la catena a ogni richiesta API. Con la cache disattivata, un profilo basato su SSO richiede le credenziali a IAM Identity Center a ogni richiesta. Consulta [memorizzazione nella cache delle credenziali e timeout di risoluzione](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout). Richiede Claude Code v2.1.207 o successiva |

382| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Saltare l'autenticazione Azure per Microsoft Foundry, per un proxy o gateway che inietta la sua intestazione `Authorization`. Claude Code invia richieste senza una credenziale Azure e preserva l'intestazione `Authorization` che fornite, ad esempio tramite `ANTHROPIC_CUSTOM_HEADERS`. Ignorato quando `ANTHROPIC_FOUNDRY_API_KEY` o `ANTHROPIC_FOUNDRY_AUTH_TOKEN` è impostato. Prima della v2.1.203, questa variabile lasciava il client Microsoft Foundry incapace di inviare richieste a meno che una chiave API non fosse anche impostata |382| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando usi un gateway LLM) |

383| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Saltare l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando si utilizza un gateway LLM) |383| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Imposta a `1` per considerare disponibile la [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) quando il controllo di disponibilità fallisce, per le reti che bloccano la richiesta diretta del controllo a `api.anthropic.com`. Claude Code rispetta comunque una risposta "disabled by your organization" |

384| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Impostare 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 le sessioni di script effimere |384| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Imposta a `1` per saltare il controllo lato client della disponibilità della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways), per i proxy che intercettano la richiesta del controllo invece di rifiutarla. L'API rifiuta comunque le richieste in modalità veloce quando la tua organizzazione ha disabilitato la modalità veloce |

385| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Saltare l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando si utilizza un gateway LLM) |385| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry, per un proxy o un gateway che inserisce un proprio header `Authorization`. Claude Code invia le richieste senza una credenziale Azure e preserva l'header `Authorization` che fornisci, ad esempio tramite `ANTHROPIC_CUSTOM_HEADERS`. Ignorata quando è impostata `ANTHROPIC_FOUNDRY_API_KEY` o `ANTHROPIC_FOUNDRY_AUTH_TOKEN`. Prima della v2.1.203, questa variabile rendeva il client Microsoft Foundry incapace di inviare richieste a meno che non fosse impostata anche una chiave API |

386| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Impostare su `1` per fare in modo che una sessione avviata con `--output-format stream-json` scriva un [messaggio di risultato che nomina il motivo per cui Claude Code ha rifiutato di avviare](/docs/it/agent-sdk/typescript#startup_failure_reason) per i fallimenti di avvio che altrimenti terminano solo con stderr. Richiede Claude Code v2.1.274 o successivo |386| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando usi un gateway LLM) |

387| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive che un hook [Stop](/docs/it/hooks#stop) o [SubagentStop](/docs/it/hooks#subagentstop) può bloccare la fine del turno prima che Claude Code lo ignori e termini il turno comunque (predefinito: 8). Impostare su `0` per disabilitare il limite. Aumentare se il vostro hook ha legittimamente bisogno di più iterazioni per risolvere |387| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | I [controlli dei modelli all'avvio](/docs/it/amazon-bedrock#startup-model-checks) su [Amazon Bedrock](/docs/it/amazon-bedrock) e su [Agent Platform di Google Cloud](/docs/it/google-vertex-ai) ricordano su questa macchina, per un massimo di un giorno, quali modelli il tuo account non può invocare. Imposta a `1` per disattivare questa memoria. Richiede Claude Code v2.1.285 o successiva |

388| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i compagni di [team di agenti](/docs/it/agent-teams#specify-teammates-and-models) e gli agenti di [flusso di lavoro](/docs/it/workflows) che non sono assegnati a un modello in un altro modo. Accetta un alias come `haiku` o un nome di modello completo. Due fonti hanno la precedenza su di esso: un modello che Claude passa quando genera l'agente e un campo `model` nella definizione dell'agente, incluso `inherit`. Per cambiare quello, impostare [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/it/sub-agents#run-every-subagent-on-one-model). Vedere [Scegliere un modello](/docs/it/sub-agents#choose-a-model) per l'ordine completo. L'impostazione su `inherit` è la stessa che lasciarla non impostata. Prima della v2.1.251, questa variabile sostituiva sia il modello per invocazione che il campo `model` della definizione |388| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta a `1` per non scrivere su disco la cronologia dei prompt e le trascrizioni delle sessioni. Le sessioni avviate con questa variabile impostata non compaiono in `--resume`, `--continue` né nella cronologia richiamabile con la freccia su. Utile per sessioni effimere gestite da script |

389| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Impostare su `1` per forzare un modello sui subagent, i compagni e gli agenti del flusso di lavoro. [Eseguire ogni subagent su un modello](/docs/it/sub-agents#run-every-subagent-on-one-model) dice quale modello è. Richiede Claude Code v2.1.257 o successivo |389| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Agent Platform di Google Cloud (ad esempio, quando usi un gateway LLM) |

390| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Impostare `5m` o `1h`, gli unici valori che Claude Code accetta, per scegliere il [TTL della cache del prompt](/docs/it/prompt-caching#cache-lifetime) per le richieste al di fuori della conversazione principale, come [subagent](/docs/it/sub-agents), flussi di lavoro e lavoro in background. Ha la precedenza sull'impostazione `subagentPromptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` la sostituisce. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Richiede Claude Code v2.1.242 o successivo |390| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Imposta a `1` per fare in modo che una sessione avviata con `--output-format stream-json` scriva un [messaggio di risultato che indica perché Claude Code si è rifiutato di avviarsi](/docs/it/agent-sdk/typescript#startup_failure_reason) per gli errori di avvio che altrimenti terminano solo con stderr. Richiede Claude Code v2.1.274 o successiva |

391| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Impostare su `1` per rimuovere le credenziali dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio): credenziali Anthropic e provider cloud, qualsiasi altra variabile che Claude Code riconosce come credenziale e credenziali incorporate negli URL del registro dei pacchetti. Il processo Claude genitore mantiene queste credenziali per le chiamate API, ma i processi figlio non possono leggerle, riducendo l'esposizione agli attacchi di iniezione di prompt che tentano di esfiltare i segreti tramite l'espansione della shell. Su v2.1.251 o successivo, lo scrub rimuove anche le variabili del puntatore dell'archivio di configurazione di Claude Code (come `CLAUDE_CONFIG_DIR`), in modo che un processo figlio non possa individuare una directory di configurazione rilocata. Lasciare lo scrub non impostato se un sottoprocesso ha bisogno di queste variabili. Su Linux, questo esegue anche i sottoprocessi Bash in uno spazio dei nomi PID isolato in modo che non possano leggere gli ambienti dei processi host tramite `/proc`; come effetto collaterale, `ps`, `pgrep` e `kill` non possono vedere o segnalare i processi host. `claude-code-action` imposta questo automaticamente quando `allowed_non_write_users` è configurato |391| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive in cui un hook [Stop](/docs/it/hooks#stop) o [SubagentStop](/docs/it/hooks#subagentstop) può impedire la conclusione del turno prima che Claude Code lo sovrascriva e concluda comunque il turno (predefinito: 8). Imposta a `0` per disabilitare il limite. Aumentalo se il tuo hook ha legittimamente bisogno di più iterazioni per risolversi |

392| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Impostare su `1` in modalità non interattiva (il flag `-p`) per aspettare il completamento dell'installazione del plugin prima della prima query. Senza questo, i plugin si installano in background e potrebbero non essere disponibili al primo turno. Combinare con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |392| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i compagni di squadra dei [team di agenti](/docs/it/agent-teams#specify-teammates-and-models) e gli agenti dei [workflow](/docs/it/workflows) a cui non è assegnato un modello in altro modo. Accetta un alias come `haiku` o il nome completo di un modello. Due fonti hanno la precedenza su di essa: un modello che Claude passa quando genera l'agente e un campo `model` nella definizione dell'agente, incluso `inherit`. Per cambiare questo comportamento, imposta [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/it/sub-agents#run-every-subagent-on-one-model). Consulta [Scegliere un modello](/docs/it/sub-agents#choose-a-model) per l'ordine completo. Impostarla a `inherit` equivale a lasciarla non impostata. Prima della v2.1.251, questa variabile sovrascriveva sia il modello per singola invocazione sia il campo `model` della definizione |

393| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona del plugin. Quando superato, Claude Code procede senza plugin e registra un errore. Nessun predefinito: senza questa variabile, l'installazione sincrona aspetta fino al completamento |393| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Imposta a `1` per imporre un unico modello a subagent, compagni di squadra e agenti dei workflow. [Eseguire ogni subagent su un unico modello](/docs/it/sub-agents#run-every-subagent-on-one-model) indica di quale modello si tratta. Richiede Claude Code v2.1.257 o successiva |

394| `CLAUDE_CODE_SYNC_SKILLS` | Impostare su `1` in modalità non interattiva con il flag `-p` per fare in modo che Claude Code scarichi le skill abilitate per il vostro account claude.ai in quella esecuzione e aspetti l'elenco di esse, fino a `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, prima di eseguire la prima query. Gli scaricamenti stessi finiscono in background e Claude aspetta il download di una skill quando la invoca. Richiede l'autenticazione claude.ai. Le sessioni di terminale in cui accedete con il vostro account claude.ai [scaricano queste skill](/docs/it/skills#where-synced-skills-load) in `~/.claude/skills/synced/` e risincronizzano circa ogni 10 minuti senza questa variabile, quindi impostatela solo quando un'esecuzione `-p` ha bisogno delle vostre skill attuali al primo turno. Prima della v2.1.273, le sessioni di terminale le scaricavano solo in un'esecuzione `-p` con questa variabile impostata. Il nome della cartella `synced` è [riservato per questo download](/docs/it/skills#where-skills-live). Prima della v2.1.227, le skill scaricate in `~/.claude/skills/` direttamente. Claude Code applica [regole extra alle skill scaricate](/docs/it/skills#how-synced-skills-behave), come non eseguire i loro comandi `!` sulla vostra macchina |394| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, per scegliere il [TTL del prompt caching](/docs/it/prompt-caching#cache-lifetime) per le richieste al di fuori della conversazione principale, come [subagent](/docs/it/sub-agents), workflow e lavoro in background. Ha la precedenza sull'impostazione `subagentPromptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, mentre `FORCE_PROMPT_CACHING_5M` la sovrascrive. L'API fattura le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |

395| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per la risincronizzazione delle skill che viene eseguita a metà sessione quando un'app costruita su [Agent SDK](/docs/it/agent-sdk/typescript#query-object) ricarica le skill (predefinito: 30000). Quando superato, il ricaricamento continua con qualunque skill sia arrivata e i download rimanenti finiscono in background |395| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta a `1` per rimuovere le credenziali dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio): le credenziali di Anthropic e dei provider cloud, qualsiasi altra variabile che Claude Code riconosce come credenziale e le credenziali incorporate negli URL dei registri di pacchetti. Il processo Claude padre conserva queste credenziali per le chiamate API, ma i processi figli non possono leggerle, riducendo l'esposizione agli attacchi di prompt injection che tentano di esfiltrare segreti tramite l'espansione della shell. Nella v2.1.251 o successiva, la pulizia rimuove anche le variabili che puntano all'archivio di configurazione di Claude Code (come `CLAUDE_CONFIG_DIR`), così un processo figlio non può individuare una directory di configurazione spostata. Lascia la pulizia non impostata se un sottoprocesso ha bisogno di queste variabili. Su Linux, esegue inoltre i sottoprocessi Bash in un namespace PID isolato, in modo che non possano leggere gli ambienti dei processi dell'host tramite `/proc`; come effetto collaterale, `ps`, `pgrep` e `kill` non possono vedere né inviare segnali ai processi dell'host. `claude-code-action` la imposta automaticamente quando è configurato `allowed_non_write_users` |

396| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi affinché la prima query aspetti l'elenco di skill iniziale quando `CLAUDE_CODE_SYNC_SKILLS` è impostato (predefinito: 5000). Quando superato, la prima query viene eseguita con qualunque skill sia arrivata. I download finiscono in background in entrambi i casi e Claude aspetta il download di una skill quando la invoca |396| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta a `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione dei plugin prima della prima query. Senza di essa, i plugin vengono installati in background e potrebbero non essere disponibili al primo turno. Combinala con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |

397| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Impostare su `false` per disabilitare l'evidenziazione della sintassi nell'output diff. Utile quando i colori interferiscono con la configurazione del vostro terminale. Per disabilitare anche l'evidenziazione nei blocchi di codice e nelle anteprime di file, utilizzare l'impostazione [`syntaxHighlightingDisabled`](/docs/it/settings-reference#syntaxhighlightingdisabled) |397| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona dei plugin. Quando viene superato, Claude Code prosegue senza plugin e registra un errore. Nessun valore predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |

398| `CLAUDE_CODE_TASK_LIST_ID` | Condividere un elenco di attività tra le sessioni. Impostare lo stesso ID in più istanze di Claude Code per coordinare un elenco di attività condiviso, nelle [sessioni che hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability). Vedere [Elenco attività](/docs/it/interactive-mode#task-list) |398| `CLAUDE_CODE_SYNC_SKILLS` | Imposta a `1` in modalità non interattiva con il flag `-p` per fare in modo che Claude Code scarichi in quell'esecuzione le skill abilitate per il tuo account claude.ai e ne attenda l'elenco, fino a `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, prima di eseguire la prima query. I download veri e propri terminano in background, e Claude attende il download di una skill quando la invoca. Richiede l'autenticazione claude.ai. Le sessioni da terminale in cui accedi con il tuo account claude.ai [scaricano queste skill](/docs/it/skills#where-synced-skills-load) in `~/.claude/skills/synced/` e le risincronizzano circa ogni 10 minuti senza questa variabile, quindi impostala solo quando un'esecuzione `-p` ha bisogno delle tue skill aggiornate alla prima query. Prima della v2.1.273, le sessioni da terminale le scaricavano solo in un'esecuzione `-p` con questa variabile impostata. Il nome della cartella `synced` è [riservato a questo download](/docs/it/skills#where-skills-live). Prima della v2.1.227, le skill venivano scaricate direttamente in `~/.claude/skills/`. Claude Code applica [regole aggiuntive alle skill scaricate](/docs/it/skills#how-synced-skills-behave), ad esempio non eseguire i loro comandi `!` sulla tua macchina |

399| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sostituire, in millisecondi, quanto a lungo una sessione non interattiva aspetta all'uscita affinché il suo [team di agenti](/docs/it/agent-teams) finisca di smontarsi. Accetta da 1000 a 60000; un valore fuori intervallo viene ignorato e si applica il predefinito di 10000. Richiede Claude Code v2.1.206 o successivo |399| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per la risincronizzazione delle skill eseguita a metà sessione quando un'app basata sull'[Agent SDK](/docs/it/agent-sdk/typescript#query-object) ricarica le skill (predefinito: 30000). Quando viene superato, il ricaricamento prosegue con le skill già arrivate e i download rimanenti terminano in background |

400| `CLAUDE_CODE_TMPDIR` | Sostituire la directory temporanea utilizzata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` su Unix o `/claude/` su Windows a questo percorso. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. Su macOS e Linux, i sottoprocessi Bash [sandboxed](/docs/it/sandboxing) ricevono un fallback `$TMPDIR` breve sotto il predefinito del sistema quando il vostro override è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non sandboxed ereditano il vostro `$TMPDIR` della shell quando è impostato. I file temporanei di Claude Code utilizzano sempre il vostro override. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |400| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi entro cui la prima query attende l'elenco iniziale delle skill quando è impostata `CLAUDE_CODE_SYNC_SKILLS` (predefinito: 5000). Quando viene superato, la prima query viene eseguita con le skill già arrivate. I download terminano comunque in background, e Claude attende il download di una skill quando la invoca |

401| `CLAUDE_CODE_TMUX_TRUECOLOR` | Impostare su qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **L'impostazione su `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per ripristinare il blocco a 256 colori. Per impostazione predefinita, Claude Code si limita a 256 colori quando `$TMUX` è impostato perché tmux non passa attraverso le sequenze di escape truecolor a meno che non sia configurato. Impostare questo dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al vostro `~/.tmux.conf`. Vedere [Configurazione del terminale](/docs/it/terminal-config) per altre impostazioni tmux |401| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Imposta a `false` per disabilitare l'evidenziazione della sintassi nell'output dei diff. Utile quando i colori interferiscono con la configurazione del tuo terminale. Per disabilitare l'evidenziazione anche nei blocchi di codice e nelle anteprime dei file, usa l'impostazione [`syntaxHighlightingDisabled`](/docs/it/settings-reference#syntaxhighlightingdisabled) |

402| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, impostare su un elenco separato da virgole dei tipi di processi che Claude Code [esclude dal limite di memoria dello strumento](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), come `mcp` o `lsp`. Impostare `none` per limitare ogni tipo, o `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualunque cosa elenchiate. Richiede Claude Code v2.1.246 o successivo |402| `CLAUDE_CODE_TASK_LIST_ID` | Condivide un elenco di attività tra sessioni. Imposta lo stesso ID in più istanze di Claude Code per coordinarle su un elenco di attività condiviso, nelle [sessioni che dispongono degli strumenti Task](/docs/it/tools-reference#task-tool-availability). Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |

403| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, impostare su una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono utilizzare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor su v2.1.246 o successivo. Scrivere la dimensione in cifre semplici, sole per un numero di byte o con un suffisso `K`, `M`, `G` o `T`. Impostare `0` o `off` per disattivare il limite. Una volta che il primo processo che Claude Code avvia ha attivato o disattivato il limite, un valore modificato ha effetto la prossima volta che avviate `claude`. Richiede Claude Code v2.1.233 o successivo |403| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sovrascrive, in millisecondi, quanto a lungo una sessione non interattiva attende all'uscita che il suo [team di agenti](/docs/it/agent-teams) completi lo smantellamento. Accetta valori da 1000 a 60000; un valore fuori intervallo viene ignorato e si applica il valore predefinito di 10000. Richiede Claude Code v2.1.206 o successiva |

404| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo che inoltra a un client remoto come un [Remote Control](/docs/it/remote-control) o host SDK, o la finestra di dialogo di approvazione per un [messaggio tra sessioni in sospeso](/docs/it/cross-session-messaging#control-inbound-messages); i prompt di autorizzazione e le domande `AskUserQuestion` utilizzano i loro flussi e non sono governati da esso. Su Claude Code v2.1.236 o successivo, limita anche il prompt di consenso dei crediti di utilizzo [Fable](/docs/it/model-config#fable-and-usage-credits) a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in entrata](/docs/it/cross-session-messaging#control-inbound-messages) e [sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) coprono le regole di scadenza del messaggio in sospeso completo, inclusi i casi in cui la scadenza non si applica. Sostituisce l'impostazione [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry). `0` o un valore negativo disabilita la scadenza |404| `CLAUDE_CODE_TMPDIR` | Sovrascrive la directory temporanea usata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` a questo percorso su Unix, oppure `/claude/` su Windows. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. Su macOS e Linux, i sottoprocessi Bash in [sandbox](/docs/it/sandboxing) ricevono un `$TMPDIR` di fallback breve nella posizione predefinita di sistema quando il tuo override è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non in sandbox ereditano il `$TMPDIR` della tua shell quando è impostato. Su Windows nativo, quando la tua shell non imposta `$TMPDIR`, un comando Bash che fa riferimento a `$TMPDIR` riceve il tuo override, oppure `%TEMP%` quando non ne hai impostato uno. I file temporanei di Claude Code usano sempre il tuo override. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

405| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilizzare [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta a un qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla a `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per ripristinare la limitazione a 256 colori. Per impostazione predefinita, Claude Code si limita a 256 colori quando `$TMUX` è impostata, perché tmux non lascia passare le sequenze di escape truecolor a meno che non sia configurato per farlo. Impostala dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al tuo `~/.tmux.conf`. Consulta [Configurazione del terminale](/docs/it/terminal-config) per altre impostazioni di tmux |

406| `CLAUDE_CODE_USE_BEDROCK` | Utilizzare [Amazon Bedrock](/docs/it/amazon-bedrock) |406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, imposta un elenco separato da virgole dei tipi di processi che Claude Code [esclude dal limite di memoria degli strumenti](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), come `mcp` o `lsp`. Imposta `none` per limitare tutti i tipi, oppure `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualunque cosa tu elenchi. Richiede Claude Code v2.1.246 o successiva |

407| `CLAUDE_CODE_USE_FOUNDRY` | Utilizzare [Microsoft Foundry](/docs/it/microsoft-foundry) |407| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, imposta una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono usare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor nella v2.1.246 o successiva. Scrivi la dimensione in cifre semplici, da sola per un numero di byte oppure con un suffisso `K`, `M`, `G` o `T`. Imposta `0` o `off` per disattivare il limite. Una volta che il primo processo avviato da Claude Code ha attivato o disattivato il limite, un valore modificato ha effetto al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successiva |

408| `CLAUDE_CODE_USE_MANTLE` | Utilizzare l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |408| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo che inoltra a un client remoto come un host [Remote Control](/docs/it/remote-control) o SDK, oppure la finestra di approvazione per un [messaggio tra sessioni trattenuto](/docs/it/cross-session-messaging#control-inbound-messages); le richieste di permesso e le domande di `AskUserQuestion` usano flussi propri e non sono regolate da questa variabile. In Claude Code v2.1.236 o successiva, limita anche la [richiesta di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in ingresso](/docs/it/cross-session-messaging#control-inbound-messages) e [Sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) descrivono tutte le regole di scadenza dei messaggi trattenuti, inclusi i casi in cui la scadenza non si applica. Sovrascrive l'impostazione [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry). `0` o un valore negativo disabilita la scadenza |

409| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Impostare su `1` per scoprire comandi personalizzati, subagent e stili di output utilizzando le API di file Node.js invece di ripgrep. Impostare questo se il binario ripgrep raggruppato non è disponibile o bloccato nel vostro ambiente. Non influisce sugli strumenti Grep o ricerca di file |409| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usa [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |

410| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; impostare su `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; impostare su `1` per abilitarlo nelle sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, o `0` per disattivarlo. Su Linux, macOS e WSL, impostare su `1` per abilitarlo, che richiede `pwsh` sul vostro `PATH`. Quando abilitato su Windows, Claude può eseguire i comandi PowerShell nativamente invece di instradare attraverso Git Bash. Vedere [Strumento PowerShell](/docs/it/tools-reference#powershell-tool) |410| `CLAUDE_CODE_USE_BEDROCK` | Usa [Amazon Bedrock](/docs/it/amazon-bedrock) |

411| `CLAUDE_CODE_USE_VERTEX` | Utilizzare [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |411| `CLAUDE_CODE_USE_FOUNDRY` | Usa [Microsoft Foundry](/docs/it/microsoft-foundry) |

412| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Impostare al numero di millisecondi che [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) mantiene la risposta di ogni URL recuperato memorizzata in cache. Il predefinito è `900000`, che è 15 minuti. Accetta solo cifre semplici; `0`, un decimale o qualsiasi altra ortografia mantiene il predefinito. Claude Code legge il valore una volta per avvio, quindi una modifica in un blocco `env` delle impostazioni si applica quando avviate successivamente `claude`. Richiede Claude Code v2.1.233 o successivo |412| `CLAUDE_CODE_USE_MANTLE` | Usa l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |

413| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superiore in millisecondi su quanto a lungo [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) aspetta il download di una pagina, inclusi i reindirizzamenti che segue. Un download che non è stato completato entro allora fallisce con un errore di scadenza. Il predefinito è `300000`, che è cinque minuti. Impostare su `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra ortografia mantiene il predefinito. Richiede Claude Code v2.1.268 o successivo |413| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta a `1` per individuare comandi personalizzati, subagent e stili di output usando le API dei file di Node.js invece di ripgrep. Impostala se il binario di ripgrep incluso non è disponibile o è bloccato nel tuo ambiente. Non influisce su Grep né sugli strumenti di ricerca dei file |

414| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quanti agenti un'esecuzione di [flusso di lavoro](/docs/it/workflows) singolo esegue contemporaneamente, da `1` a `256`. Per impostazione predefinita, un'esecuzione esegue fino a 16 agenti contemporaneamente, meno quando Claude Code ha meno CPU disponibili; le chiamate `agent()` in coda aspettano uno slot libero. La trascrizione di ogni agente in esecuzione rimane nella memoria di Claude Code, quindi i valori più alti aumentano l'utilizzo della memoria. Accetta solo cifre semplici; i valori fuori intervallo e altre ortografie mantengono il predefinito. Richiede Claude Code v2.1.269 o successivo |414| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento viene abilitato automaticamente; imposta a `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; imposta a `1` per abilitarlo nelle sessioni Amazon Bedrock, Agent Platform di Google Cloud e Microsoft Foundry, oppure a `0` per disattivarlo. Su Linux, macOS e WSL, imposta a `1` per abilitarlo, il che richiede `pwsh` nel tuo `PATH`. Quando è abilitato su Windows, Claude può eseguire i comandi PowerShell in modo nativo invece di passare attraverso Git Bash. Consulta [Strumento PowerShell](/docs/it/tools-reference#powershell-tool) |

415| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superiore in millisecondi su quanto a lungo un agente di [flusso di lavoro](/docs/it/workflows) aspetta la prima risposta di un fratello con lo stesso prefisso prima di inviare la sua prima richiesta. Quando un fan-out avvia diversi agenti che condividono un [prefisso della cache del prompt](/docs/it/workflows#prompt-caching-in-a-fan-out), Claude Code mantiene tutti tranne il primo agente per fino a questo lungo in modo che il resto legga il prefisso memorizzato in cache invece di elaborarlo senza cache. Predefinito `5000`. Impostare su `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostato, gli agenti non aspettano mai. Richiede Claude Code v2.1.229 o successivo |415| `CLAUDE_CODE_USE_VERTEX` | Usa [Agent Platform di Google Cloud](/docs/it/google-vertex-ai) |

416| `CLAUDE_CONFIG_DIR` | Sostituire la directory di configurazione (predefinito: `~/.claude`). Tutte le impostazioni, la cronologia della sessione e i plugin vengono memorizzati sotto questo percorso. Per le credenziali, vedere [dove Claude Code memorizza le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account fianco a fianco: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Imposta il numero di millisecondi per cui [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) mantiene nella cache la risposta di ciascun URL recuperato. Il valore predefinito è `900000`, ovvero 15 minuti. Accetta solo cifre semplici; `0`, un decimale o qualsiasi altra scrittura mantengono il valore predefinito. Claude Code legge il valore una volta per avvio, quindi una modifica in un blocco `env` delle impostazioni si applica al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successiva |

417| `CLAUDE_DISABLE_ADOPT` | Impostare su `1` per impedire il trasferimento del lavoro in background in volo quando mettete in background una sessione premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code vi chiede di confermare prima di mettere in background, quindi arresta i compiti che altrimenti si trasferirebbero. Richiede Claude Code v2.1.195 o successivo |417| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite massimo in millisecondi per quanto a lungo [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) attende il download di una pagina, inclusi gli eventuali reindirizzamenti che segue. Un download non completato entro quel tempo fallisce con un errore di scadenza. Il valore predefinito è `300000`, ovvero cinque minuti. Imposta a `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra scrittura mantengono il valore predefinito. Richiede Claude Code v2.1.268 o successiva |

418| `CLAUDE_EFFORT` | Impostato automaticamente nei sottoprocessi dello strumento Bash e nei comandi hook al [livello di sforzo](/docs/it/model-config#adjust-effort-level) in vigore quando il sottoprocesso inizia: `low`, `medium`, `high`, `xhigh` o `max`. Ultracode non è un livello distinto e segnala come `xhigh`. Corrisponde al campo `effort.level` passato agli [hook](/docs/it/hooks). Impostato solo quando il modello corrente supporta il parametro effort |418| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quanti agenti una singola esecuzione di un [workflow](/docs/it/workflows) esegue contemporaneamente, da `1` a `256`. Per impostazione predefinita, un'esecuzione esegue fino a 16 agenti contemporaneamente, meno quando Claude Code dispone di meno CPU; le chiamate `agent()` in coda attendono uno slot libero. La trascrizione di ogni agente in esecuzione resta nella memoria di Claude Code, quindi valori più alti aumentano l'uso della memoria. Accetta solo cifre semplici; i valori fuori intervallo e altre scritture mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |

419| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Impostare su `1` per forzare l'abilitazione del watchdog di inattività di flusso a livello di byte, o impostare su `0` per forzare la disabilitazione. `0` disattiva anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle connessioni in cui viene eseguita quella scadenza. Quando non impostato, il watchdog è abilitato per impostazione predefinita per le connessioni API Anthropic dirette e [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e per le risposte in streaming su connessioni [gateway](/docs/it/gateways) raggiunte tramite `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL`; prima della v2.1.222 non veniva eseguito su quelle connessioni gateway, quindi il watchdog a livello di evento potrebbe segnalare uno stallo lì anche mentre i ping keep-alive stavano arrivando. Per i timeout e come i timer interagiscono, vedere [Watchdog di inattività di flusso](/docs/it/network-config#streaming-idle-watchdogs) |419| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superiore, in millisecondi, del tempo per cui un agente di un [workflow](/docs/it/workflows) attende che inizi la prima risposta di un agente fratello con lo stesso prefisso prima di inviare la propria prima richiesta. Quando un fan-out avvia diversi agenti che condividono un [prefisso della cache dei prompt](/docs/it/workflows#prompt-caching-in-a-fan-out), Claude Code trattiene tutti gli agenti tranne il primo fino a questo tempo, in modo che gli altri leggano il prefisso memorizzato nella cache invece di elaborarlo ciascuno senza cache. Valore predefinito `5000`. Imposta `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostata, gli agenti non attendono mai. Richiede Claude Code v2.1.229 o successivo |

420| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Impostare su `1` per abilitare il watchdog di inattività di flusso a livello di byte sulle risposte Amazon Bedrock `vnd.amazon.eventstream`, che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste di streaming Bedrock. Disattivato per impostazione predefinita. Configurare il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |420| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin vengono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Impostare su `0` per forzare la disabilitazione del watchdog di inattività di flusso a livello di evento, o impostare su `1` per forzare l'abilitazione. Quando non impostato, il watchdog è attivo per impostazione predefinita per tutti i provider. Prima della v2.1.196, il predefinito non impostato era controllato dal server sull'API Anthropic diretta e disattivato su altri provider. Configurare il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; per gli altri timer di stallo che vengono eseguiti insieme a questo, vedere [Watchdog di inattività di flusso](/docs/it/network-config#streaming-idle-watchdogs) |421| `CLAUDE_DISABLE_ADOPT` | Imposta `1` per interrompere il lavoro in background in corso invece di trasferirlo quando metti in background una sessione premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code ti chiede conferma prima di mettere in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successivo |

422| `CLAUDE_ENV_FILE` | Percorso a uno script di shell i cui contenuti Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, in modo che gli export nel file siano visibili al comando. Utilizzare per persistere l'attivazione di virtualenv o conda tra i comandi. Anche popolato dinamicamente da hook [SessionStart](/docs/it/hooks#persist-environment-variables), [Setup](/docs/it/hooks#setup), [CwdChanged](/docs/it/hooks#cwdchanged) e [FileChanged](/docs/it/hooks#filechanged) |422| `CLAUDE_EFFORT` | Impostata automaticamente nei sottoprocessi dello strumento Bash e nei comandi degli hook al [livello di sforzo](/docs/it/model-config#adjust-effort-level) in vigore all'avvio del sottoprocesso: `low`, `medium`, `high`, `xhigh` o `max`. Corrisponde al campo `effort.level` passato agli [hook](/docs/it/hooks). Impostata solo quando il modello corrente supporta il parametro effort |

423| `CLAUDE_JOB_DIR` | Impostato da Claude Code in ogni [sessione in background](/docs/it/agent-view) alla directory `~/.claude/jobs/<id>` di quella sessione. I comandi shell che la sessione esegue lo ereditano. Scrivere i file di scratch a [`$CLAUDE_JOB_DIR/tmp`](/docs/it/agent-view#where-state-is-stored). Le chiamate `Write` e `Edit` di Claude lì non richiedono l'autorizzazione e la directory viene rimossa quando la sessione viene eliminata |423| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, oppure `0` per forzarne la disabilitazione. `0` disattiva anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle connessioni in cui tale scadenza è attiva. Quando non è impostata, il watchdog è abilitato per impostazione predefinita per le connessioni dirette all'API Anthropic e a [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e per le risposte in streaming sulle connessioni tramite [gateway](/docs/it/gateways) raggiunte attraverso `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL`; prima della v2.1.222 non veniva eseguito su queste connessioni tramite gateway, quindi il watchdog a livello di evento poteva segnalare uno stallo anche mentre arrivavano ping keep-alive. Per i timeout e il modo in cui i timer interagiscono, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

424| `CLAUDE_PID` | Claude Code imposta questo al suo ID di processo nei sottoprocessi che genera: comandi dello strumento Bash e PowerShell e comandi hook. Su Linux, l'integrazione della shell dello strumento Bash lo utilizza per rifiutare un modello `pkill` che corrisponderebbe al processo Claude Code stesso; vedere il [riferimento degli errori](/docs/it/errors#pkill-pattern-matches-the-claude-code-process). Leggerlo dai vostri script per identificare o segnalare deliberatamente il processo Claude Code genitore. Richiede Claude Code v2.1.214 o successivo |424| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta `1` per abilitare il watchdog di inattività dello streaming a livello di byte sulle risposte `vnd.amazon.eventstream` di Amazon Bedrock, il che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste in streaming a Bedrock. Disattivata per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

425| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi di sessione [Remote Control](/docs/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Impostazione predefinita: il nome host della vostra macchina, producendo nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |425| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta `0` per forzare la disabilitazione del watchdog di inattività dello streaming a livello di evento, oppure `1` per forzarne l'abilitazione. Quando non è impostata, il watchdog è attivo per impostazione predefinita per tutti i provider. Prima della v2.1.196, il valore predefinito in assenza di impostazione era controllato dal server sull'API Anthropic diretta e disattivato sugli altri provider. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; per gli altri timer di stallo che vengono eseguiti insieme a questo, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

426| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte di risposta di una richiesta in streaming, sulle connessioni in cui viene eseguita la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per come Claude Code la limita, il tempo extra che aggiunge per i corpi di richiesta grandi e come sceglie la scadenza quando la lasciate non impostata, vedere [Nessuna risposta dall'API](/docs/it/errors#no-response-from-api). Richiede Claude Code v2.1.242 o successivo |426| `CLAUDE_ENV_FILE` | Percorso di uno script shell il cui contenuto Claude Code esegue prima di ogni comando Bash nello stesso processo shell, in modo che le esportazioni nel file siano visibili al comando. Usala per mantenere l'attivazione di virtualenv o conda tra i comandi. Viene anche popolata dinamicamente dagli hook [SessionStart](/docs/it/hooks#persist-environment-variables), [Setup](/docs/it/hooks#setup), [CwdChanged](/docs/it/hooks#cwdchanged) e [FileChanged](/docs/it/hooks#filechanged) |

427| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che i watchdog di inattività di flusso a livello di evento e byte chiudano una connessione bloccata. Quando impostate questa variabile esplicitamente, il minimo è `300000` (5 minuti); i valori inferiori vengono silenziosamente limitati per assorbire le pause di pensiero esteso e il buffering del proxy, e il watchdog a livello di byte limita il valore a 30 minuti. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` ha la precedenza su questa variabile per il watchdog a livello di byte. Per i predefiniti non impostati per watchdog, vedere [Watchdog di inattività di flusso](/docs/it/network-config#streaming-idle-watchdogs) |427| `CLAUDE_JOB_DIR` | Impostata da Claude Code in ogni [sessione in background](/docs/it/agent-view) sulla directory `~/.claude/jobs/<id>` di quella sessione. I comandi shell eseguiti dalla sessione la ereditano. Scrivi i file temporanei in [`$CLAUDE_JOB_DIR/tmp`](/docs/it/agent-view#where-state-is-stored). Le chiamate `Write` e `Edit` di Claude in quella posizione non richiedono permessi, e la directory viene rimossa quando la sessione viene eliminata |

428| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Rimosso nella v2.1.260 e ora un no-op. In precedenza limitava quanto a lungo un [comando shell in background](/docs/it/interactive-mode#background-bash-commands) che un [subagent](/docs/it/sub-agents) ha avviato poteva eseguire, in millisecondi, con un predefinito di 60 minuti. Vedere le [regole della durata del comando in background](/docs/it/tools-reference#background-commands) |428| `CLAUDE_PID` | Claude Code la imposta sul proprio ID di processo nei sottoprocessi che avvia: i comandi degli strumenti Bash e PowerShell e i comandi degli hook. Su Linux, l'integrazione shell dello strumento Bash la usa per rifiutare un pattern `pkill` che corrisponderebbe al processo stesso di Claude Code; consulta [il riferimento agli errori](/docs/it/errors#pkill-pattern-matches-the-claude-code-process). Leggila dai tuoi script per identificare o inviare segnali deliberatamente al processo Claude Code padre. Richiede Claude Code v2.1.214 o successivo |

429| `DEBUG` | Impostare su `1` per abilitare la modalità debug, equivalente all'avvio con [`--debug`](/docs/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, o nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori truthy `1`, `true`, `yes` e `on` abilitano la modalità debug, quindi i modelli di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |429| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni di [Remote Control](/docs/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Il valore predefinito è l'hostname della tua macchina, che produce nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |

430| `DISABLE_AUTOUPDATER` | Impostare su `1` per disabilitare gli aggiornamenti automatici in background. Il manuale `claude update` continua a funzionare. Utilizzare `DISABLE_UPDATES` per bloccare entrambi |430| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte della risposta di una richiesta in streaming, sulle connessioni in cui è attiva la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per il modo in cui Claude Code la limita, il tempo aggiuntivo che aggiunge per i corpi di richiesta di grandi dimensioni e il modo in cui sceglie la scadenza quando non la imposti, consulta [Nessuna risposta dall'API](/docs/it/errors#no-response-from-api). Richiede Claude Code v2.1.242 o successivo |

431| `DISABLE_AUTO_COMPACT` | Impostare su `1` per disabilitare la compattazione automatica quando ci si avvicina al limite di contesto. Il comando manuale `/compact` rimane disponibile. Utilizzare quando desiderate il controllo esplicito su quando si verifica la compattazione. Sostituisce l'impostazione [`autoCompactEnabled`](/docs/it/settings-reference#autocompactenabled) |431| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che i watchdog di inattività dello streaming a livello di evento e di byte chiudano una connessione in stallo. Quando imposti esplicitamente questa variabile, il minimo è `300000` (5 minuti); i valori inferiori vengono limitati silenziosamente per assorbire le pause del ragionamento esteso e il buffering dei proxy, e il watchdog a livello di byte limita il valore a 30 minuti. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` ha la precedenza su questa variabile per il watchdog a livello di byte. Per i valori predefiniti di ciascun watchdog in assenza di impostazione, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

432| `DISABLE_COMPACT` | Impostare su `1` per disabilitare tutta la compattazione: sia la compattazione automatica che il comando manuale `/compact` |432| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Rimossa nella v2.1.260 e ora senza effetto. In precedenza limitava, in millisecondi, la durata di esecuzione di un [comando shell in background](/docs/it/interactive-mode#background-bash-commands) avviato da un [subagent](/docs/it/sub-agents), con un valore predefinito di 60 minuti. Consulta [le regole sulla durata dei comandi in background](/docs/it/tools-reference#background-commands) |

433| `DISABLE_COST_WARNINGS` | Impostare su `1` per disabilitare i messaggi di avviso sui costi |433| `DEBUG` | Imposta `1` per abilitare la modalità di debug, equivalente all'avvio con [`--debug`](/docs/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, oppure nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori veri `1`, `true`, `yes` e `on` abilitano la modalità di debug, quindi i pattern di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |

434| `DISABLE_DOCTOR_COMMAND` | Impostare su `1` per nascondere la skill [`/doctor`](/docs/it/commands#all-commands) di controllo della configurazione e il suo alias `/checkup`. Utile per le distribuzioni gestite in cui gli utenti non dovrebbero eseguire i diagnostici di configurazione da una sessione. Non influisce sul comando del terminale `claude doctor`. Prima della v2.1.205, questa variabile nascondeva la schermata dei diagnostici `/doctor` |434| `DISABLE_AUTOUPDATER` | Imposta `1` per disabilitare gli aggiornamenti automatici in background. Il comando manuale `claude update` continua a funzionare. Usa `DISABLE_UPDATES` per bloccare entrambi |

435| `DISABLE_ERROR_REPORTING` | Impostare su qualsiasi valore non vuoto, come `1`, per rinunciare alla segnalazione degli errori. **L'impostazione su `0` o `false` rinuncia comunque**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per riattivare la segnalazione degli errori |435| `DISABLE_AUTO_COMPACT` | Imposta `1` per disabilitare la compattazione automatica quando ci si avvicina al limite di contesto. Il comando manuale `/compact` rimane disponibile. Usala quando vuoi un controllo esplicito su quando avviene la compattazione. Sovrascrive l'impostazione [`autoCompactEnabled`](/docs/it/settings-reference#autocompactenabled) |

436| `DISABLE_EXTRA_USAGE_COMMAND` | Impostare su `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i limiti di velocità |436| `DISABLE_COMPACT` | Imposta `1` per disabilitare tutta la compattazione: sia la compattazione automatica sia il comando manuale `/compact` |

437| `DISABLE_FEEDBACK_COMMAND` | Impostare su `1` per disabilitare il comando `/feedback` e il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior). Disabilita anche `/bug` e `/share`, che segnalano attraverso lo stesso percorso; prima della v2.1.212 erano alias di `/feedback`, quindi il comando era disabilitato con ogni nome. Il nome più vecchio `DISABLE_BUG_COMMAND` è anche accettato |437| `DISABLE_COST_WARNINGS` | Imposta `1` per disabilitare i messaggi di avviso sui costi |

438| `DISABLE_GROWTHBOOK` | Impostare su `1` o `true` per disabilitare il recupero dei flag di funzionalità GrowthBook e utilizzare i predefiniti del codice per ogni flag. Questo rende [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. L'impostazione su `0` o `false` lascia il recupero attivo. La registrazione degli eventi di telemetria rimane attiva a meno che `DISABLE_TELEMETRY` non sia anche impostato |438| `DISABLE_DOCTOR_COMMAND` | Imposta `1` per nascondere la skill di controllo della configurazione [`/doctor`](/docs/it/commands#all-commands) e il suo alias `/checkup`. Utile per le distribuzioni gestite in cui gli utenti non dovrebbero eseguire la diagnostica della configurazione da una sessione. Non influisce sul comando da terminale `claude doctor`. Prima della v2.1.205, questa variabile nascondeva il comando della schermata di diagnostica `/doctor` |

439| `DISABLE_INSTALLATION_CHECKS` | Impostare su `1` per disabilitare gli avvisi di installazione. Utilizzare solo quando gestite manualmente il percorso di installazione, poiché questo può mascherare i problemi con le installazioni standard |439| `DISABLE_ERROR_REPORTING` | Imposta un qualsiasi valore non vuoto, come `1`, per disattivare la segnalazione degli errori. **Impostarla su `0` o `false` la disattiva comunque**, a differenza della maggior parte delle variabili on/off; rimuovi l'impostazione della variabile per riattivare la segnalazione degli errori |

440| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Impostare su `1` per nascondere il comando `/install-github-app`. Già nascosto quando si utilizzano provider di terze parti (Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry) |440| `DISABLE_EXTRA_USAGE_COMMAND` | Imposta `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i rate limit |

441| `DISABLE_INTERLEAVED_THINKING` | Impostare su `1` per impedire l'invio dell'intestazione beta del pensiero intercalato. Utile quando il vostro gateway LLM o provider non supporta il [pensiero intercalato](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |441| `DISABLE_FEEDBACK_COMMAND` | Imposta `1` per disabilitare il comando `/feedback` e il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior). Disabilita anche `/bug` e `/share`, che inviano segnalazioni attraverso lo stesso percorso; prima della v2.1.212 erano alias di `/feedback`, quindi il comando veniva disabilitato con ogni nome. È accettato anche il nome precedente `DISABLE_BUG_COMMAND` |

442| `DISABLE_LOGIN_COMMAND` | Impostare su `1` per nascondere il comando `/login`. Utile quando l'autenticazione viene gestita esternamente tramite chiavi API o `apiKeyHelper` |442| `DISABLE_GROWTHBOOK` | Imposta `1` o `true` per disabilitare il recupero dei feature flag di GrowthBook e usare i valori predefiniti del codice per ogni flag. Questo rende non disponibili [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che richiedono il recupero dei feature flag](#features-that-need-feature-flag-fetching). Impostarla su `0` o `false` lascia attivo il recupero. La registrazione degli eventi di telemetria rimane attiva a meno che non sia impostata anche `DISABLE_TELEMETRY` |

443| `DISABLE_LOGOUT_COMMAND` | Impostare su `1` per nascondere il comando `/logout` |443| `DISABLE_INSTALLATION_CHECKS` | Imposta `1` per disabilitare gli avvisi di installazione. Usala solo quando gestisci manualmente la posizione di installazione, poiché può nascondere problemi con le installazioni standard |

444| `DISABLE_PROMPT_CACHING` | Impostare su `1` per disabilitare la [memorizzazione in cache del prompt](/docs/it/prompt-caching#disable-prompt-caching) per tutti i modelli (ha la precedenza sulle impostazioni per modello) |444| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Imposta `1` per nascondere il comando `/install-github-app`. Già nascosto quando si usano provider di terze parti (Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry) |

445| `DISABLE_PROMPT_CACHING_FABLE` | Impostare su `1` per disabilitare la memorizzazione in cache del prompt per i modelli Fable |445| `DISABLE_INTERLEAVED_THINKING` | Imposta `1` per impedire l'invio dell'header beta interleaved-thinking. Utile quando il tuo gateway LLM o provider non supporta il [ragionamento interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

446| `DISABLE_PROMPT_CACHING_HAIKU` | Impostare su `1` per disabilitare la memorizzazione in cache del prompt per il [modello Haiku predefinito](/docs/it/prompt-caching#disable-prompt-caching), ovunque venga eseguito |446| `DISABLE_LOGIN_COMMAND` | Imposta `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |

447| `DISABLE_PROMPT_CACHING_OPUS` | Impostare su `1` per disabilitare la memorizzazione in cache del prompt per i modelli Opus |447| `DISABLE_LOGOUT_COMMAND` | Imposta `1` per nascondere il comando `/logout` |

448| `DISABLE_PROMPT_CACHING_SONNET` | Impostare su `1` per disabilitare la memorizzazione in cache del prompt per i modelli Sonnet |448| `DISABLE_PROMPT_CACHING` | Imposta `1` per disabilitare il [prompt caching](/docs/it/prompt-caching#disable-prompt-caching) per tutti i modelli (ha la precedenza sulle impostazioni per singolo modello) |

449| `DISABLE_TELEMETRY` | Impostare su qualsiasi valore non vuoto, come `1`, per rinunciare alla telemetria. **L'impostazione su `0` o `false` rinuncia comunque**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per riattivare la telemetria. Gli eventi di telemetria non includono dati utente come codice, percorsi di file o comandi bash. Disabilita anche il [recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching). Vedere [Disattivare la telemetria per la vostra organizzazione](/docs/it/managed-settings#turn-telemetry-off-for-your-organization) |449| `DISABLE_PROMPT_CACHING_FABLE` | Imposta `1` per disabilitare il prompt caching per i modelli Fable |

450| `DISABLE_UPDATES` | Impostare su `1` per bloccare tutti gli aggiornamenti incluso il manuale `claude update` e `claude install`. Più rigoroso di `DISABLE_AUTOUPDATER`. Utilizzare quando si distribuisce Claude Code attraverso i vostri canali e gli utenti non dovrebbero auto-aggiornare |450| `DISABLE_PROMPT_CACHING_HAIKU` | Imposta `1` per disabilitare il prompt caching per il [modello Haiku predefinito](/docs/it/prompt-caching#disable-prompt-caching), ovunque venga eseguito |

451| `DISABLE_UPGRADE_COMMAND` | Impostare su `1` per nascondere il comando `/upgrade` |451| `DISABLE_PROMPT_CACHING_OPUS` | Imposta `1` per disabilitare il prompt caching per il [modello Opus predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

452| `DO_NOT_TRACK` | Impostare su `1` per rinunciare alla telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, anche per il [recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching). Claude Code legge questa variabile come un booleano standard, quindi `0` lascia la telemetria attiva e la onora come la convenzione tra strumenti riconosciuta da molti CLI di sviluppatori |452| `DISABLE_PROMPT_CACHING_SONNET` | Imposta `1` per disabilitare il prompt caching per il [modello Sonnet predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

453| `ENABLE_BETA_TRACING_DETAILED` | Impostare su `1`, insieme a `BETA_TRACING_ENDPOINT`, per attivare il [tracciamento beta dettagliato](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi che trasportano contenuto e l'intervallo `claude_code.hook`. Le sessioni CLI interattive richiedono anche che la vostra organizzazione sia nella lista di autorizzazione per il beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |453| `DISABLE_TELEMETRY` | Imposta un qualsiasi valore non vuoto, come `1`, per disattivare la telemetria. **Impostarla su `0` o `false` la disattiva comunque**, a differenza della maggior parte delle variabili on/off; rimuovi l'impostazione della variabile per riattivare la telemetria. Gli eventi di telemetria non includono dati utente come codice, percorsi di file o comandi Bash. Disabilita anche il [recupero dei feature flag](#features-that-need-feature-flag-fetching). Consulta [Disattivare la telemetria per la tua organizzazione](/docs/it/managed-settings#turn-telemetry-off-for-your-organization) |

454| `ENABLE_CLAUDEAI_MCP_SERVERS` | Impostare su `false` per impedire a Claude Code di recuperare i [server MCP claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Abilitato per impostazione predefinita per gli utenti connessi. Per disabilitare per progetto o per organizzazione, impostare [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |454| `DISABLE_UPDATES` | Imposta `1` per bloccare tutti gli aggiornamenti, inclusi i comandi manuali `claude update` e `claude install`. Più restrittiva di `DISABLE_AUTOUPDATER`. Usala quando distribuisci Claude Code attraverso i tuoi canali e gli utenti non devono aggiornarlo autonomamente |

455| `ENABLE_PROMPT_CACHING_1H` | Impostare su `1` per richiedere un [TTL della cache del prompt](/docs/it/prompt-caching#cache-lifetime) di 1 ora invece dei 5 minuti predefiniti. Destinato agli utenti di chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Gli utenti di abbonamento entro l'utilizzo incluso ricevono il TTL di 1 ora automaticamente sulla [conversazione principale](/docs/it/prompt-caching#which-ttl-each-request-gets). Gli utenti di abbonamento che attingono ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) possono impostarlo per mantenere il TTL di 1 ora. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Per scegliere il TTL per bucket di richiesta, utilizzare `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |455| `DISABLE_UPGRADE_COMMAND` | Imposta `1` per nascondere il comando `/upgrade` |

456| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecato. Utilizzare `ENABLE_PROMPT_CACHING_1H` |456| `DO_NOT_TRACK` | Imposta `1` per disattivare la telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, incluso sul [recupero dei feature flag](#features-that-need-feature-flag-fetching). Claude Code legge questa variabile come un booleano standard, quindi `0` lascia attiva la telemetria, e la rispetta come la convenzione trasversale riconosciuta da molte CLI per sviluppatori |

457| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search). Non impostato, Claude Code rinvia tutti gli strumenti MCP per impostazione predefinita. Li carica comunque in anticipo sui modelli di Google Cloud's Agent Platform precedenti alla generazione Claude 4.5, su una distribuzione Microsoft Foundry ospitata su Azure e quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. `true` rinvia sempre e invia l'intestazione beta, tranne su quei modelli di Agent Platform e distribuzioni Microsoft Foundry; le richieste falliscono su proxy che non supportano `tool_reference`. `auto` carica in anticipo quando le definizioni degli strumenti si adattano entro il 10% del contesto. `auto:N` imposta una soglia personalizzata, come `auto:5` per il 5%. `false` carica tutti gli strumenti in anticipo. Un valore che impostate voi stessi viene ignorato quando `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` è impostato. Prima della v2.1.221, Claude Code disabilitava la ricerca degli strumenti per tutti i modelli su Google Cloud's Agent Platform a meno che non impostaste questa variabile su `true` |457| `ENABLE_BETA_TRACING_DETAILED` | Imposta `1`, insieme a `BETA_TRACING_ENDPOINT`, per attivare il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi di span con contenuto e lo span `claude_code.hook`. Le sessioni CLI interattive richiedono inoltre che la tua organizzazione sia inclusa nella lista di autorizzati per la beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

458| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Impostare su qualsiasi valore non vuoto, come `1`, per fare in modo che Claude Code smetta di ritentare su errori di sovraccarico ripetuti per ogni modello quando nessun modello di fallback è configurato. **L'impostazione su `0` o `false` abilita comunque questo**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per ripristinare il comportamento di ripetizione predefinito. Senza di esso, Claude Code smette di ritentare in questo modo sui modelli che riconosce come modelli Opus, Fable o Mythos quando vi autenticate con una chiave API o un [provider di terze parti](/docs/it/third-party-integrations) piuttosto che un abbonamento Claude. Su Claude Code v2.1.160 o successivo, Claude Code passa alla vostra [catena del modello di fallback](/docs/it/model-config#fallback-model-chains) configurata su errori di sovraccarico ripetuti per qualsiasi modello primario, quindi questa variabile non influisce sul passaggio a un modello di fallback |458| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta `false` per impedire a Claude Code di recuperare i [server MCP di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Abilitata per impostazione predefinita per gli utenti che hanno effettuato l'accesso. Per disabilitarla per progetto o per organizzazione, imposta invece [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |

459| `FORCE_AUTOUPDATE_PLUGINS` | Impostare su `1` per forzare gli auto-aggiornamenti dei plugin anche quando l'auto-updater principale è disabilitato tramite `DISABLE_AUTOUPDATER` |459| `ENABLE_PROMPT_CACHING_1H` | Imposta `1` per richiedere un [TTL della cache dei prompt](/docs/it/prompt-caching#cache-lifetime) di 1 ora invece dei 5 minuti predefiniti. Pensata per gli utenti con chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Agent Platform di Google Cloud](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Gli utenti con abbonamento che rientrano nell'utilizzo incluso ricevono automaticamente il TTL di 1 ora sulla [conversazione principale](/docs/it/prompt-caching#which-ttl-each-request-gets). Gli utenti con abbonamento che attingono ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) possono impostarla per mantenere il TTL di 1 ora. Le scritture nella cache di 1 ora vengono fatturate a una tariffa più alta. Per scegliere invece il TTL per ogni categoria di richieste, usa `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |

460| `FORCE_HYPERLINK` | Impostare su `1` per abilitare i hyperlink OSC 8 cliccabili quando il vostro terminale li supporta ma non viene rilevato automaticamente, o `0` per disabilitarli. Quando non impostato, Claude Code abilita i hyperlink solo quando rileva il supporto del terminale. Claude Code analizza questo valore come un numero, non un booleano, quindi un valore come `false`, `no` o `off` abilita i hyperlink piuttosto che disabilitarli. Il badge del [PR o merge request](/docs/it/interactive-mode#pr-review-status) del footer viene eseguito come hyperlink anche quando Claude Code non riesce a rilevare il supporto del terminale, come su SSH. Impostare `0` per eseguire il rendering del badge come testo semplice |460| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |

461| `FORCE_PROMPT_CACHING_5M` | Impostare su `1` per forzare il TTL della cache del prompt di 5 minuti anche quando il TTL di 1 ora si applicherebbe altrimenti. Sostituisce `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e le impostazioni `promptCacheTtl` e `subagentPromptCacheTtl` |461| `ENABLE_TOOL_SEARCH` | Controlla [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search). Se non è impostata, Claude Code rinvia tutti gli strumenti MCP per impostazione predefinita. Li carica comunque in anticipo sui modelli di Agent Platform di Google Cloud precedenti alla generazione Claude 4.5, su un deploy di Microsoft Foundry ospitato su Azure e quando `ANTHROPIC_BASE_URL` punta a un host non first-party. `true` rinvia sempre e invia l'header beta, tranne su quegli stessi modelli di Agent Platform e deploy di Microsoft Foundry; le richieste falliscono sui proxy che non supportano `tool_reference`. `auto` carica in anticipo quando le definizioni degli strumenti rientrano nel 10% del contesto. `auto:N` imposta una soglia personalizzata, come `auto:5` per il 5%. `false` carica tutti gli strumenti in anticipo. Un valore impostato da te viene ignorato quando è impostata `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. Prima della v2.1.221, Claude Code disabilitava la ricerca degli strumenti per tutti i modelli su Agent Platform di Google Cloud a meno che non impostassi questa variabile su `true` |

462| `HTTP_PROXY` | Specificare il server proxy HTTP per le connessioni di rete |462| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta un qualsiasi valore non vuoto, come `1`, per fare in modo che Claude Code smetta di riprovare in caso di errori di sovraccarico ripetuti per ogni modello quando non è configurato alcun modello di fallback. **Impostarla su `0` o `false` abilita comunque questo comportamento**, a differenza della maggior parte delle variabili on/off; rimuovi l'impostazione della variabile per ripristinare il comportamento predefinito dei nuovi tentativi. Senza di essa, Claude Code smette di riprovare in questo modo sui modelli che riconosce come modelli Opus, Fable o Mythos quando ti autentichi con una chiave API o un [provider di terze parti](/docs/it/third-party-integrations) anziché con un abbonamento Claude. Su Claude Code v2.1.160 o successivo, Claude Code passa alla [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) configurata in caso di errori di sovraccarico ripetuti per qualsiasi modello principale, quindi questa variabile non influisce sul passaggio a un modello di fallback |

463| `HTTPS_PROXY` | Specificare il server proxy HTTPS per le connessioni di rete |463| `FORCE_AUTOUPDATE_PLUGINS` | Imposta `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'aggiornamento automatico principale è disabilitato tramite `DISABLE_AUTOUPDATER` |

464| `IS_DEMO` | Impostare su qualsiasi valore non vuoto, come `1`, per abilitare la modalità demo: nasconde il vostro email e il nome dell'organizzazione dall'intestazione e dall'output `/status`, e salta l'onboarding. **L'impostazione su `0` o `false` abilita comunque la modalità demo**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per disattivarla. Utile quando si trasmette o si registra una sessione |464| `FORCE_HYPERLINK` | Imposta `1` per abilitare i collegamenti ipertestuali OSC 8 cliccabili quando il tuo terminale li supporta ma non viene rilevato automaticamente, oppure `0` per disabilitarli. Quando non è impostata, Claude Code abilita i collegamenti ipertestuali solo quando rileva il supporto del terminale. Claude Code interpreta questo valore come un numero, non come un booleano, quindi un valore come `false`, `no` o `off` abilita i collegamenti ipertestuali anziché disabilitarli. Il [badge della PR o della merge request](/docs/it/interactive-mode#pr-review-status) nel piè di pagina viene visualizzato come collegamento ipertestuale anche quando Claude Code non riesce a rilevare il supporto del terminale, ad esempio tramite SSH. Imposta `0` per visualizzare il badge come testo semplice |

465| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP. Claude Code visualizza un avviso quando l'output supera 10.000 token. Gli strumenti che dichiarano [`anthropic/maxResultSizeChars`](/docs/it/mcp#raise-the-limit-for-a-specific-tool) utilizzano quel limite di caratteri per il contenuto di testo, ma il contenuto dell'immagine da quei strumenti è comunque soggetto a questa variabile (predefinito: 25000) |465| `FORCE_PROMPT_CACHING_5M` | Imposta `1` per forzare il TTL della cache dei prompt di 5 minuti anche quando altrimenti si applicherebbe il TTL di 1 ora. Sovrascrive `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e le impostazioni `promptCacheTtl` e `subagentPromptCacheTtl` |

466| `MAX_STRUCTURED_OUTPUT_RETRIES` | Numero di tentativi che Claude Code consente quando la risposta del modello non supera la convalida rispetto allo [`--json-schema`](/docs/it/cli-reference#cli-flags) in modal non interattiva con il flag `-p`; dopo quel numero di tentativi non riusciti senza output valido, l'esecuzione fallisce. Lo stesso limite si applica quando l'output strutturato di un subagent di [flusso di lavoro](/docs/it/workflows) non supera la convalida. Impostazione predefinita: 5, un primo tentativo più quattro tentativi |466| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |

467| `MAX_THINKING_TOKENS` | Budget di token fisso per il [pensiero esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code lo limita a un token al di sotto dei token di output massimi della richiesta e mai al di sotto di 1.024. Vedere `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per come viene impostato quel limite. Quando non impostato e il pensiero è abilitato, i modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) scelgono la loro profondità di pensiero e gli altri modelli utilizzano il limite. Impostare su `0` per disabilitare il pensiero sull'API Anthropic, tranne su Opus 5.5 e sui modelli Fable, che non possono avere il pensiero disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `0` omette il parametro `thinking`. Con il pensiero disattivato sull'API Anthropic, Claude Code invia lo sforzo `high` invece di un livello più alto ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5. Claude Code ignora i valori diversi da zero sui modelli di ragionamento adattivo, tranne sui modelli in cui `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` disattiva il ragionamento adattivo |467| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |

468| `MCP_CLIENT_SECRET` | Segreto client OAuth per i server MCP che richiedono [credenziali pre-configurate](/docs/it/mcp#use-pre-configured-oauth-credentials). Evita il prompt interattivo quando si aggiunge un server con `--client-secret` |468| `IS_DEMO` | Imposta un qualsiasi valore non vuoto, come `1`, per abilitare la modalità demo: nasconde la tua email e il nome dell'organizzazione dall'intestazione e dall'output di `/status`, e salta l'onboarding. **Impostarla su `0` o `false` abilita comunque la modalità demo**, a differenza della maggior parte delle variabili on/off; rimuovi l'impostazione della variabile per disattivarla. Utile quando trasmetti in streaming o registri una sessione |

469| `MCP_CONNECTION_NONBLOCKING` | Controlla se l'avvio aspetta i server MCP per connettersi prima della prima query. L'avvio MCP è non bloccante per impostazione predefinita: i server si connettono in background e i loro strumenti diventano disponibili man mano che finiscono. Impostare su `0` per fare in modo che Claude Code aspetti i server per connettersi prima della prima query. I server configurati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) fanno comunque aspettare l'avvio indipendentemente, tranne quando serviti dalla [cache di scoperta](/docs/it/mcp#server-status-detail), poiché i loro strumenti devono essere presenti quando viene costruito il primo prompt. In modalità non interattiva (`-p`) senza `--input-format stream-json`, Claude Code aspetta anche i server ancora in sospeso prima del primo turno indipendentemente da questa variabile. Quando passate [`--mcp-config`](/docs/it/cli-reference#cli-flags) esplicitamente, l'attesa ha una scadenza più lunga; vedere la voce di quel flag per l'eccezione del server memorizzato in cache |469| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP. Claude Code mostra un avviso quando l'output supera i 10.000 token. Gli strumenti che dichiarano [`anthropic/maxResultSizeChars`](/docs/it/mcp#raise-the-limit-for-a-specific-tool) usano invece quel limite di caratteri per il contenuto testuale, ma il contenuto immagine di tali strumenti è comunque soggetto a questa variabile (predefinito: 25000) |

470| `MCP_CONNECT_TIMEOUT_MS` | Quanto a lungo l'avvio MCP bloccante aspetta, in millisecondi, il batch di connessione prima di fare uno snapshot dell'elenco degli strumenti (predefinito: 5000). Si applica quando `MCP_CONNECTION_NONBLOCKING=0` o per i server contrassegnati [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral). I server ancora in sospeso alla scadenza continuano a connettersi in background. Distinto da `MCP_TIMEOUT`, che limita il tentativo di connessione di un singolo server |470| `MAX_STRUCTURED_OUTPUT_RETRIES` | Numero di tentativi che Claude Code consente quando la risposta del modello non supera la convalida rispetto a [`--json-schema`](/docs/it/cli-reference#cli-flags) in modalità non interattiva con il flag `-p`; dopo altrettanti tentativi falliti senza output valido, l'esecuzione fallisce. Lo stesso limite si applica quando l'output strutturato di un subagent di un [workflow](/docs/it/workflows) non supera la convalida. Il valore predefinito è 5, un primo tentativo più quattro nuovi tentativi |

471| `MCP_DISCOVERY_CACHE` | Attiva o disattiva la [cache di scoperta MCP](/docs/it/mcp#server-status-detail). Con la cache attiva, un server HTTP o SSE remoto che avete utilizzato prima può mostrare lo [stato `cached`](/docs/it/mcp#server-status-detail), e Claude Code lo connette alla sua prima chiamata di strumento invece che all'avvio. La cache è disattivata per impostazione predefinita a meno che un rollout graduale non l'abbia abilitata per il vostro account. Impostare su `1` per attivarla, o `0` per mantenerla disattivata anche quando il rollout l'ha abilitata. Prima della v2.1.238, la cache era attiva per impostazione predefinita. Lo stato `cached` richiede Claude Code v2.1.221 o successivo |471| `MAX_THINKING_TOKENS` | Budget fisso di token per il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code lo limita a un token in meno rispetto ai token di output massimi della richiesta e mai al di sotto di 1.024. Consulta `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per sapere come viene impostato quel limite. Quando non è impostata e il ragionamento è abilitato, i modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) scelgono autonomamente la profondità del ragionamento, mentre gli altri modelli usano il limite. Imposta `0` per disabilitare il ragionamento sull'API Anthropic, tranne su Opus 5.5, Sonnet 5.5 e i modelli Fable, per i quali il ragionamento non può essere disattivato. Sui [provider di terze parti](/docs/it/third-party-integrations), `0` omette invece il parametro `thinking`. Con il ragionamento disattivato sull'API Anthropic, Claude Code invia lo sforzo `high` invece di un livello più alto ai modelli che sa [non accettare quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5. Claude Code ignora i valori diversi da zero sui modelli con ragionamento adattivo, tranne sui modelli in cui `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` disattiva il ragionamento adattivo |

472| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) (predefinito: 14400, o 4 ore). All'avvio in cui la voce è più vecchia di quella, Claude Code la scarta e connette il server all'avvio, come fa con la cache disattivata. Claude Code limita il valore a 7 giorni. Prima della v2.1.238, il predefinito era 86400, o 24 ore, e Claude Code non limitava il valore |472| `MCP_CLIENT_SECRET` | Client secret OAuth per i server MCP che richiedono [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials). Evita la richiesta interattiva quando aggiungi un server con `--client-secret` |

473| `MCP_DISCOVERY_CACHE_STRIKES` | All'avvio in cui una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) è più vecchia di `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code la aggiorna in background. Questa variabile imposta quanti aggiornamenti di fila possono fallire prima che Claude Code scarta la voce e connette il server al prossimo avvio (predefinito: 1). Aumentare se la vostra connessione di rete cade occasionalmente, in modo che un aggiornamento non riuscito non scarta la voce. Richiede Claude Code v2.1.238 o successivo |473| `MCP_CONNECTION_NONBLOCKING` | Controlla se l'avvio attende la connessione dei server MCP prima della prima query. L'avvio MCP è non bloccante per impostazione predefinita: i server si connettono in background e i loro strumenti diventano disponibili man mano che completano la connessione. Imposta `0` per fare in modo che Claude Code attenda la connessione dei server prima della prima query. I server configurati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) fanno comunque attendere l'avvio, tranne quando vengono serviti dalla [cache di discovery](/docs/it/mcp#server-status-detail), poiché i loro strumenti devono essere presenti quando viene costruito il primo prompt. In modalità non interattiva (`-p`) senza `--input-format stream-json`, Claude Code attende inoltre i server ancora in sospeso prima del primo turno indipendentemente da questa variabile. Quando passi esplicitamente [`--mcp-config`](/docs/it/cli-reference#cli-flags), l'attesa ha una scadenza più lunga; consulta la voce di quel flag per l'eccezione relativa ai server nella cache |

474| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per i quali Claude Code utilizza una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) senza aggiornarla (predefinito: 900). All'avvio in cui la voce è più vecchia di quella, Claude Code la utilizza comunque ma l'aggiorna in background. Una volta che la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che è 4 ore per impostazione predefinita. Prima della v2.1.238, Claude Code non limitava il valore |474| `MCP_CONNECT_TIMEOUT_MS` | Per quanto tempo, in millisecondi, l'avvio MCP bloccante attende il gruppo di connessioni prima di acquisire l'elenco degli strumenti (predefinito: 5000). Si applica quando `MCP_CONNECTION_NONBLOCKING=0` o per i server contrassegnati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral). I server ancora in sospeso alla scadenza continuano a connettersi in background. Distinta da `MCP_TIMEOUT`, che limita il tentativo di connessione di un singolo server |

475| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, come alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali pre-configurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |475| `MCP_DISCOVERY_CACHE` | Attiva o disattiva la [cache di discovery MCP](/docs/it/mcp#server-status-detail). Con la cache attiva, un server HTTP o SSE remoto che hai già usato può mostrare lo [stato `cached`](/docs/it/mcp#server-status-detail), e Claude Code lo connette alla sua prima chiamata a uno strumento anziché all'avvio. La cache è disattivata per impostazione predefinita, a meno che un rilascio graduale non l'abbia abilitata per il tuo account. Imposta `1` per attivarla, oppure `0` per mantenerla disattivata anche quando il rilascio l'ha abilitata. Prima della v2.1.238, la cache era attiva per impostazione predefinita. Lo stato `cached` richiede Claude Code v2.1.221 o successivo |

476| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes), se Claude Code esamina i server per la revisione del protocollo MCP 2026-07-28. Impostare `auto` per esaminare i server HTTP, connettore claude.ai e stdio; un server che non risponde al probe si connette sul protocollo precedente, come i server SSE e WebSocket fanno sempre. Impostare `legacy` per saltare il probe per ogni server. Senza la variabile, Claude Code esamina i server HTTP e esamina anche i server del connettore claude.ai nelle sessioni in cui [recupera i flag di funzionalità](#features-that-need-feature-flag-fetching). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |476| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di discovery](/docs/it/mcp#server-status-detail) (predefinito: 14400, ovvero 4 ore). A un avvio in cui la voce è più vecchia di tale valore, Claude Code la scarta e connette il server all'avvio, come fa con la cache disattivata. Claude Code limita il valore a 7 giorni. Prima della v2.1.238, il valore predefinito era 86400, ovvero 24 ore, e Claude Code non limitava il valore |

477| `MCP_DISCOVERY_CACHE_STRIKES` | A un avvio in cui una voce della [cache di discovery](/docs/it/mcp#server-status-detail) è più vecchia di `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code la aggiorna in background. Questa variabile imposta quanti aggiornamenti consecutivi possono fallire prima che Claude Code scarti la voce e connetta invece il server all'avvio successivo (predefinito: 1). Aumentala se la tua connessione di rete cade occasionalmente, in modo che un singolo aggiornamento fallito non scarti la voce. Richiede Claude Code v2.1.238 o successivo |

478| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per cui Claude Code usa una voce della [cache di discovery](/docs/it/mcp#server-status-detail) senza aggiornarla (predefinito: 900). A un avvio in cui la voce è più vecchia di tale valore, Claude Code la usa comunque ma la aggiorna in background. Quando la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che per impostazione predefinita è 4 ore. Prima della v2.1.238, Claude Code non limitava il valore |

479| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, come alternativa a `--callback-port` quando aggiungi un server MCP con [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |

480| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes), determina se Claude Code sonda i server per la revisione del protocollo MCP 2026-07-28. Imposta `auto` per sondare i server HTTP, i server dei connettori claude.ai e i server stdio; un server che non risponde al sondaggio si connette invece con il protocollo precedente, come fanno sempre i server SSE e WebSocket. Imposta `legacy` per saltare il sondaggio per ogni server. Senza la variabile, Claude Code sonda i server HTTP, e sonda anche i server dei connettori claude.ai nelle sessioni in cui [recupera i feature flag](#features-that-need-feature-flag-fetching). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |

477| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |481| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |

478| `MCP_SDK_GENERATION` | Bloccare quale [runtime client MCP](/docs/it/mcp#mcp-client-runtimes) questo processo si connette ai server MCP con: `v1`, costruito su MCP TypeScript SDK 1.x, o `v2`, costruito su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Senza la variabile, Claude Code utilizza v2, a partire dalle versioni elencate in quella sezione. Su Claude Code v2.1.221 o successivo, il runtime v2 controlla l'emittente che un server OAuth MCP restituisce nella sua risposta di autorizzazione e fallisce l'accesso con un errore che inizia `Issuer mismatch in authorization response` quando non corrisponde. Il runtime v1 non esegue questo controllo. Se impostate un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successivo |482| `MCP_SDK_GENERATION` | Fissa il [runtime client MCP](/docs/it/mcp#mcp-client-runtimes) con cui questo processo si connette ai server MCP: `v1`, basato su MCP TypeScript SDK 1.x, oppure `v2`, basato su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Senza la variabile, Claude Code usa v2, a partire dalle versioni elencate in quella sezione. Su Claude Code v2.1.221 o successivo, il runtime v2 verifica l'emittente restituito da un server OAuth MCP nella sua risposta di autorizzazione e, quando non corrisponde, fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response`. Il runtime v1 non esegue questo controllo. Se imposti un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successivo |

479| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |483| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |

480| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, o 30 secondi) |484| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio dei server MCP (predefinito: 30000, ovvero 30 secondi) |

481| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione dello strumento MCP (predefinito: 100000000, circa 28 ore). Per un server HTTP, SSE o connettore claude.ai, ogni richiesta scade anche dopo 60 secondi per impostazione predefinita; impostare questa variabile o il `timeout` per server sopra 60000 per aumentare quel limite per richiesta. Un valore inferiore accorcia comunque il timeout di esecuzione dello strumento complessivo ma lascia il limite per richiesta a 60 secondi. I server stdio e WebSocket non hanno un timer per richiesta. Un campo `timeout` per server in `.mcp.json` sostituisce questo per quel server. Un `timeout` per server di almeno 1000 imposta anche la finestra di inattività minima per le chiamate di strumento di quel server, quindi `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompe mai prima; questo floor richiede Claude Code v2.1.203 o successivo. Per la variabile env, i valori inferiori a 1000 sono limitati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |485| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione degli strumenti MCP (predefinito: 100000000, circa 28 ore). Per un server HTTP, SSE o connettore claude.ai, ogni richiesta va inoltre in timeout dopo 60 secondi per impostazione predefinita; imposta questa variabile, o il `timeout` per singolo server, a un valore superiore a 60000 per aumentare quel limite per richiesta. Un valore inferiore accorcia comunque il timeout complessivo di esecuzione dello strumento, ma lascia il limite per richiesta a 60 secondi. I server stdio e WebSocket non hanno un timer per richiesta. Un campo `timeout` per singolo server in `.mcp.json` sovrascrive questo valore per quel server. Un `timeout` per singolo server di almeno 1000 imposta anche la finestra minima di inattività per le chiamate agli strumenti di quel server, in modo che `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompa mai prima; questo valore minimo richiede Claude Code v2.1.203 o successivo. Per la variabile d'ambiente, i valori inferiori a 1000 vengono arrotondati a un secondo; per il campo per singolo server, i valori inferiori a 1000 vengono ignorati |

482| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |486| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno inviate direttamente, aggirando il proxy |

483| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard OpenTelemetry SDK sulla lunghezza del valore dell'attributo. Claude Code limita gli attributi di telemetria che trasportano contenuto al minore di questo e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, in modo che il marcatore di troncamento rimanga entro il limite dell'SDK. Claude Code legge le varianti `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` e `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` allo stesso modo e il valore più piccolo impostato si applica a tutti i segnali. Richiede Claude Code v2.1.214 o successivo. Vedere [Monitoraggio](/docs/it/monitoring-usage#common-configuration-variables) |487| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard dell'SDK OpenTelemetry sulla lunghezza dei valori degli attributi. Claude Code limita gli attributi di telemetria con contenuto al valore minore tra questo e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, in modo che l'indicatore di troncamento rimanga entro il limite dell'SDK. Claude Code legge allo stesso modo le varianti `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` e `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`, e il valore impostato più piccolo si applica a tutti i segnali. Richiede Claude Code v2.1.214 o successivo. Consulta [Monitoraggio](/docs/it/monitoring-usage#common-configuration-variables) |

484| `OTEL_LOG_ASSISTANT_RESPONSES` | Impostare su `1` per includere il testo della risposta del modello sugli eventi di log OpenTelemetry `assistant_response`. Quando non impostato, viene utilizzato il valore di `OTEL_LOG_USER_PROMPTS`. Impostare su `0` per mantenere le risposte redatte anche quando `OTEL_LOG_USER_PROMPTS` è impostato. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), a parte i valori off che quella sezione descrive. Richiede Claude Code v2.1.193 o successivo. Vedere [Monitoraggio](/docs/it/monitoring-usage#assistant-response-event) |488| `OTEL_LOG_ASSISTANT_RESPONSES` | Imposta `1` per includere il testo della risposta del modello negli eventi di log OpenTelemetry `assistant_response`. Quando non è impostata, Claude Code usa invece il valore di `OTEL_LOG_USER_PROMPTS`. Imposta `0` per mantenere le risposte oscurate anche quando `OTEL_LOG_USER_PROMPTS` è impostata. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.193 o successivo. Consulta [Monitoraggio](/docs/it/monitoring-usage#assistant-response-event) |

485| `OTEL_LOG_MANAGED_SETTINGS` | Impostare su `1` per aggiungere le impostazioni gestite redatte e un digest SHA-256 delle impostazioni prima della redazione agli eventi di log OpenTelemetry `managed_settings_resolved`. Disabilitato per impostazione predefinita. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite; un valore nelle impostazioni di progetto o locali non lo attiva. Richiede Claude Code v2.1.274 o successivo. Vedere [Monitoraggio](/docs/it/monitoring-usage#managed-settings-resolved-event) |489| `OTEL_LOG_MANAGED_SETTINGS` | Imposta `1` per aggiungere le impostazioni gestite oscurate, e un digest SHA-256 delle impostazioni prima dell'oscuramento, agli eventi di log OpenTelemetry `managed_settings_resolved`. Disabilitata per impostazione predefinita. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite; un valore nelle impostazioni di progetto o locali non la attiva. Richiede Claude Code v2.1.274 o successivo. Consulta [Monitoraggio](/docs/it/monitoring-usage#managed-settings-resolved-event) |

486| `OTEL_LOG_RAW_API_BODIES` | Emettere il JSON della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body`. Impostare su `1` per i corpi in linea troncati al limite di contenuto, o `file:<dir>` per scrivere i corpi non troncati su disco ed emettere un percorso `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura il limite di contenuto, 60 KB per impostazione predefinita. Disabilitato per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Vedere [Monitoraggio](/docs/it/monitoring-usage#api-request-body-event) |490| `OTEL_LOG_RAW_API_BODIES` | Emette il JSON delle richieste e delle risposte della Messages API di Anthropic come eventi di log `api_request_body` / `api_response_body`. Imposta `1` per corpi inline troncati al limite del contenuto, oppure `file:<dir>` per scrivere su disco i corpi non troncati ed emettere invece un percorso `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura il limite del contenuto, 60 KB per impostazione predefinita. Disabilitata per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Consulta [Monitoraggio](/docs/it/monitoring-usage#api-request-body-event) |

487| `OTEL_LOG_TOOL_CONTENT` | Impostare su `1` per includere il contenuto dello strumento nell'evento di intervallo OpenTelemetry `tool.output`. Gli attributi di intervallo trasportano il contenuto dello strumento sotto i [loro propri gate](/docs/it/monitoring-usage#new-context-gates). Richiede il [tracciamento](/docs/it/monitoring-usage#traces-beta). Disabilitato per impostazione predefinita per proteggere i dati sensibili. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), a parte i valori off che quella sezione descrive. Vedere [Monitoraggio](/docs/it/monitoring-usage#tool-output-span-event) |491| `OTEL_LOG_TOOL_CONTENT` | Imposta `1` per includere il contenuto degli strumenti nell'evento di span OpenTelemetry `tool.output`. Gli attributi di span riportano il contenuto degli strumenti secondo [i propri vincoli](/docs/it/monitoring-usage#new-context-gates). Richiede il [tracing](/docs/it/monitoring-usage#traces-beta). Disabilitata per impostazione predefinita per proteggere i dati sensibili. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), fatta eccezione per i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage#tool-output-span-event) |

488| `OTEL_LOG_TOOL_DETAILS` | Impostare su `1` per includere gli argomenti di input dello strumento, i nomi dei server MCP, i nomi dei flussi di lavoro creati dall'utente, le stringhe di errore grezze sui fallimenti degli strumenti, la `category` di rifiuto sugli eventi `api_refusal` e altri dettagli dello strumento nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita per proteggere le PII. Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), a parte i valori off che quella sezione descrive. Vedere [Monitoraggio](/docs/it/monitoring-usage) |492| `OTEL_LOG_TOOL_DETAILS` | Imposta `1` per includere gli argomenti di input degli strumenti; i nomi dei server MCP; i nomi dei workflow creati dagli utenti; le stringhe di errore grezze in caso di errori degli strumenti; la `category` del rifiuto negli eventi `api_refusal`; i nomi reali di agenti, skill, plugin e server MCP nelle [metriche di costo e token](/docs/it/monitoring-usage#cost-counter); e altri dettagli degli strumenti nelle metriche, nelle tracce e nei log di OpenTelemetry. Disabilitata per impostazione predefinita per proteggere le PII. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), fatta eccezione per i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

489| `OTEL_LOG_USER_PROMPTS` | Impostare su `1` per includere il testo del prompt dell'utente nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita (i prompt vengono redatti). Impostatelo nella vostra shell, impostazioni utente o impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), a parte i valori off che quella sezione descrive. Vedere [Monitoraggio](/docs/it/monitoring-usage) |493| `OTEL_LOG_USER_PROMPTS` | Imposta `1` per includere il testo dei prompt dell'utente nelle tracce e nei log di OpenTelemetry. Disabilitata per impostazione predefinita (i prompt vengono oscurati). Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), fatta eccezione per i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

490| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Impostare su `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Vedere [Monitoraggio](/docs/it/monitoring-usage) |494| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Imposta `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

491| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Impostare su `true` per includere il punto di ingresso della sessione negli attributi delle metriche (predefinito: escluso). Aggiunto nella v2.1.152. Vedere [Monitoraggio](/docs/it/monitoring-usage) |495| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Imposta `true` per includere l'entrypoint della sessione negli attributi delle metriche (predefinito: escluso). Aggiunta nella v2.1.152. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

492| `OTEL_METRICS_INCLUDE_REPOSITORY` | Impostare su `true` per taggare le metriche e gli eventi OpenTelemetry con attributi `vcs.*` che identificano il repository della sessione (predefinito: escluso). Richiede Claude Code v2.1.269 o successivo. Vedere [Attributi del repository](/docs/it/monitoring-usage#repository-attributes) |496| `OTEL_METRICS_INCLUDE_REPOSITORY` | Imposta `true` per contrassegnare le metriche e gli eventi OpenTelemetry con attributi `vcs.*` che identificano il repository della sessione (predefinito: escluso). Richiede Claude Code v2.1.269 o successivo. Consulta [Attributi del repository](/docs/it/monitoring-usage#repository-attributes) |

493| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partire dalla v2.1.161, Claude Code allega le chiavi `OTEL_RESOURCE_ATTRIBUTES` alle etichette dei punti dati delle metriche. Impostare su `false` per escluderle (predefinito: incluso). Vedere [Monitoraggio](/docs/it/monitoring-usage#multi-team-organization-support) |497| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partire dalla v2.1.161, Claude Code associa le chiavi di `OTEL_RESOURCE_ATTRIBUTES` alle etichette dei datapoint delle metriche. Imposta `false` per escluderle (predefinito: incluse). Consulta [Monitoraggio](/docs/it/monitoring-usage#multi-team-organization-support) |

494| `OTEL_METRICS_INCLUDE_SESSION_ID` | Impostare su `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Vedere [Monitoraggio](/docs/it/monitoring-usage) |498| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

495| `OTEL_METRICS_INCLUDE_VERSION` | Impostare su `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: escluso). Vedere [Monitoraggio](/docs/it/monitoring-usage) |499| `OTEL_METRICS_INCLUDE_VERSION` | Imposta `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: esclusa). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

496| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sostituire il budget di caratteri per i metadati della skill mostrati allo [strumento Skill](/docs/it/skills#control-who-invokes-a-skill). Il budget si ridimensiona dinamicamente all'1% della finestra di contesto, con un fallback di 8.000 caratteri. Nome legacy mantenuto per la compatibilità all'indietro |500| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sovrascrive il budget di caratteri per i metadati delle skill mostrati allo [strumento Skill](/docs/it/skills#control-who-invokes-a-skill). Il budget si adatta dinamicamente all'1% della finestra di contesto, con un fallback di 8.000 caratteri. Nome legacy mantenuto per compatibilità con le versioni precedenti |

497| `TASK_MAX_OUTPUT_LENGTH` | Rimosso nella v2.1.277 e ora un no-op, insieme allo strumento `TaskOutput` che ha dimensionato. In precedenza impostava il numero massimo di caratteri dell'output di un [compito in background](/docs/it/tools-reference#background-commands) che lo strumento `TaskOutput` manteneva. Claude legge l'output di un compito in background con `Read` |501| `TASK_MAX_OUTPUT_LENGTH` | Rimossa nella v2.1.277 e ora senza effetto, insieme allo strumento `TaskOutput` di cui definiva la dimensione. In precedenza impostava il numero massimo di caratteri dell'output di un'[attività in background](/docs/it/tools-reference#background-commands) che lo strumento `TaskOutput` conservava. Claude legge invece il file di output di un'attività in background con `Read` |

498| `USE_BUILTIN_RIPGREP` | Impostare su `0` per utilizzare il `rg` installato dal sistema invece di `rg` incluso con Claude Code |502| `USE_BUILTIN_RIPGREP` | Imposta `0` per usare `rg` installato nel sistema invece di `rg` incluso in Claude Code |

499| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sostituire l'area per Claude 3.5 Haiku quando si utilizza Google Cloud's Agent Platform |503| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrive la regione per Claude 3.5 Haiku quando usi Agent Platform di Google Cloud |

500| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sostituire l'area per Claude 3.5 Sonnet quando si utilizza Google Cloud's Agent Platform |504| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrive la regione per Claude 3.5 Sonnet quando usi Agent Platform di Google Cloud |

501| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sostituire l'area per Claude 3.7 Sonnet quando si utilizza Google Cloud's Agent Platform |505| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrive la regione per Claude 3.7 Sonnet quando usi Agent Platform di Google Cloud |

502| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sostituire l'area per Claude 4.0 Opus quando si utilizza Google Cloud's Agent Platform |506| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sovrascrive la regione per Claude 4.0 Opus quando usi Agent Platform di Google Cloud |

503| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sostituire l'area per Claude 4.0 Sonnet quando si utilizza Google Cloud's Agent Platform |507| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sovrascrive la regione per Claude 4.0 Sonnet quando usi Agent Platform di Google Cloud |

504| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sostituire l'area per Claude 4.1 Opus quando si utilizza Google Cloud's Agent Platform |508| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sovrascrive la regione per Claude 4.1 Opus quando usi Agent Platform di Google Cloud |

505| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sostituire l'area per Claude Opus 4.5 quando si utilizza Google Cloud's Agent Platform |509| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sovrascrive la regione per Claude Opus 4.5 quando usi Agent Platform di Google Cloud |

506| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sostituire l'area per Claude Sonnet 4.5 quando si utilizza Google Cloud's Agent Platform |510| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sovrascrive la regione per Claude Sonnet 4.5 quando usi Agent Platform di Google Cloud |

507| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sostituire l'area per Claude Opus 4.6 quando si utilizza Google Cloud's Agent Platform |511| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sovrascrive la regione per Claude Opus 4.6 quando usi Agent Platform di Google Cloud |

508| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sostituire l'area per Claude Sonnet 4.6 quando si utilizza Google Cloud's Agent Platform |512| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sovrascrive la regione per Claude Sonnet 4.6 quando usi Agent Platform di Google Cloud |

509| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sostituire l'area per Claude Opus 4.7 quando si utilizza Google Cloud's Agent Platform |513| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sovrascrive la regione per Claude Opus 4.7 quando usi Agent Platform di Google Cloud |

510| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sostituire l'area per Claude Opus 4.8 quando si utilizza Google Cloud's Agent Platform |514| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sovrascrive la regione per Claude Opus 4.8 quando usi Agent Platform di Google Cloud |

511| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sostituire l'area per Claude Opus 5.5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.280 |515| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sovrascrive la regione per Claude Opus 5.5 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.280 |

512| `VERTEX_REGION_CLAUDE_5_OPUS` | Sostituire l'area per Claude Opus 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.219 |516| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5.5 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.284 |

513| `VERTEX_REGION_CLAUDE_5_SONNET` | Sostituire l'area per Claude Sonnet 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.197 |517| `VERTEX_REGION_CLAUDE_5_OPUS` | Sovrascrive la regione per Claude Opus 5 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.219 |

514| `VERTEX_REGION_CLAUDE_FABLE_5` | Sostituire l'area per Claude Fable 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.170 |518| `VERTEX_REGION_CLAUDE_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.197 |

515| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sostituire l'area per Claude Fable 5.1 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.257 |519| `VERTEX_REGION_CLAUDE_FABLE_5` | Sovrascrive la regione per Claude Fable 5 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.170 |

516| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sostituire l'area per Claude Haiku 4.5 quando si utilizza Google Cloud's Agent Platform |520| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sovrascrive la regione per Claude Fable 5.1 quando usi Agent Platform di Google Cloud. Aggiunta nella v2.1.257 |

517 521| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sovrascrive la regione per Claude Haiku 4.5 quando usi Agent Platform di Google Cloud |

518Sono supportate anche le variabili dell'esportatore OpenTelemetry standard (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e varianti specifiche del segnale). Vedere [Monitoraggio](/docs/it/monitoring-usage) per i dettagli di configurazione.522 

519 523Sono supportate anche le variabili standard degli exporter OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e le varianti specifiche per segnale). Consulta [Monitoraggio](/docs/it/monitoring-usage) per i dettagli di configurazione.

520Impostare `CLAUDE_CODE_ENABLE_TELEMETRY` e le variabili OpenTelemetry che attivano l'esportazione, scelgono la sua destinazione o acquisiscono il contenuto nella vostra shell, impostazioni utente o impostazioni gestite. Claude Code [le ignora nelle impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), a parte i valori di disattivazione descritti in quella sezione. `OTEL_RESOURCE_ATTRIBUTES` e le variabili di intervallo, timeout e compressione dell'esportazione, come `OTEL_METRIC_EXPORT_INTERVAL`, si applicano comunque dalle impostazioni di progetto e locali.524 

525Imposta `CLAUDE_CODE_ENABLE_TELEMETRY` e le variabili OpenTelemetry che attivano l'esportazione, ne scelgono la destinazione o acquisiscono contenuti nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Claude Code [le ignora nelle impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env), fatta eccezione per i valori di disattivazione descritti in quella sezione. `OTEL_RESOURCE_ATTRIBUTES` e le variabili relative a intervallo di esportazione, timeout e compressione, come `OTEL_METRIC_EXPORT_INTERVAL`, si applicano comunque dalle impostazioni di progetto e locali.

521 526 

522<h2 id="features-that-need-feature-flag-fetching">527<h2 id="features-that-need-feature-flag-fetching">

523 Funzionalità che richiedono il recupero dei feature flag528 Funzionalità che richiedono il recupero dei feature flag

errors.md +698 −673

Details

15</Note>15</Note>

16 16 

17<h2 id="find-your-error">17<h2 id="find-your-error">

18 Trovare il vostro errore18 Trova il tuo errore

19</h2>19</h2>

20 20 

21Abbinate il messaggio che vedete a una sezione qui sotto.21Abbina il messaggio che vedi a una sezione qui sotto.

22 22 

23| Messaggio | Sezione |23| Messaggio | Sezione |

24| :- | :- |24| :- | :- |

25| `API Error: 500 Internal server error` | [Errori del server](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Errori del server](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Errori del server](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Errori del server](#api-error-repeated-529-overloaded-errors) |

27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Errori del server](#api-error-repeated-529-overloaded-errors) |27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Errori del server](#api-error-repeated-529-overloaded-errors) |

28| `Request timed out` | [Errori del server](#request-timed-out), oppure [Rete](#unable-to-connect-to-api) se il messaggio menziona la vostra connessione internet |28| `Request timed out` | [Errori del server](#request-timed-out), oppure [Rete](#unable-to-connect-to-api) se il messaggio menziona la tua connessione internet |

29| `API Error: No response from API` | [Errori del server](#no-response-from-api) |29| `API Error: No response from API` | [Errori del server](#no-response-from-api) |

30| `Server error mid-response. The response above may be incomplete.` | [Errori del server](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [Errori del server](#the-response-above-may-be-incomplete) |

31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Errori del server](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Errori del server](#the-response-above-may-be-incomplete) |


186| `The connection dropped while downloading the update` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |186| `The connection dropped while downloading the update` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |

187| `Download timed out: exceeded the total deadline` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |187| `Download timed out: exceeded the total deadline` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |

188| `--bg and --print conflict` | [Errori della riga di comando](#conflict-between-bg-and-print) |188| `--bg and --print conflict` | [Errori della riga di comando](#conflict-between-bg-and-print) |

189| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Errori della riga di comando](#conflict-between-a-system-prompt-flag-and-its-file-form) |

189| `Cloud sessions cannot be created from a --restricted session` | [Errori della riga di comando](#cloud-sessions-cannot-be-created-from-a-restricted-session) |190| `Cloud sessions cannot be created from a --restricted session` | [Errori della riga di comando](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

190| `Cloud sessions are disabled by your organization's policy` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |191| `Cloud sessions are disabled by your organization's policy` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |

191| `Couldn't verify your organization's policy for cloud sessions` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |192| `Couldn't verify your organization's policy for cloud sessions` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |


250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Errori dei plugin](#plugin-command-references-user-config) |251| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Errori dei plugin](#plugin-command-references-user-config) |

251| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Errori dei plugin](#plugin-command-references-user-config) |252| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Errori dei plugin](#plugin-command-references-user-config) |

252| `Plugin archive integrity check failed` | [Errori dei plugin](#plugin-archive-integrity-check-failed) |253| `Plugin archive integrity check failed` | [Errori dei plugin](#plugin-archive-integrity-check-failed) |

254| `An npm plugin source must name a registry package` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

253| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |255| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |

254| `path could not be checked` | [Errori dei plugin](#path-could-not-be-checked) |256| `path could not be checked` | [Errori dei plugin](#path-could-not-be-checked) |

255| `its marketplace entry path does not stay inside the marketplace directory` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |257| `its marketplace entry path does not stay inside the marketplace directory` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


418 Errori del server420 Errori del server

419</h2>421</h2>

420 422 

421La maggior parte di questi errori proviene dal provider di inferenza: il servizio Anthropic su Anthropic API e il servizio dietro l'endpoint di quel provider su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway personalizzato. [Auto mode cannot determine the safety of an action](#auto-mode-cannot-determine-the-safety-of-an-action) e [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) coprono anche cause dal vostro lato, come un account Amazon Bedrock che non può invocare il modello di classificazione o un subagent che ha raggiunto un limite di utilizzo.423La maggior parte di questi errori proviene dal provider di inferenza: il servizio di Anthropic su Anthropic API e il servizio dietro l'endpoint di quel provider su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway personalizzato. [Auto mode cannot determine the safety of an action](#auto-mode-cannot-determine-the-safety-of-an-action) e [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) coprono anche cause dal tuo lato, come un account Amazon Bedrock che non può invocare il modello del classificatore o un subagent che ha raggiunto un limite di utilizzo.

422 424 

423<h3 id="api-error-500-internal-server-error">425<h3 id="api-error-500-internal-server-error">

424 API Error: 500 Internal server error426 API Error: 500 Internal server error


432 434 

433La frase finale indica dove controllare lo stato del servizio e varia in base al provider. Le configurazioni di Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry indicano lo stato del servizio di quel provider. Un `ANTHROPIC_BASE_URL` personalizzato indica l'host del gateway.435La frase finale indica dove controllare lo stato del servizio e varia in base al provider. Le configurazioni di Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry indicano lo stato del servizio di quel provider. Un `ANTHROPIC_BASE_URL` personalizzato indica l'host del gateway.

434 436 

435Un 5xx dall'API stessa indica un errore imprevisto all'interno dell'API. Non è causato dal vostro prompt, dalle impostazioni o dall'account.437Un 5xx dall'API stessa indica un errore imprevisto all'interno dell'API. Non è causato dal tuo prompt, dalle tue impostazioni o dal tuo account.

436 438 

437Quando un proxy, un load balancer o un gateway risponde con una pagina di errore HTML, il messaggio mostra il codice di stato e il titolo della pagina, come `API Error: 502 Bad Gateway`. Per una pagina senza titolo, il messaggio mostra il codice di stato e il suo nome standard. Prima della v2.1.281, il codice di stato veniva eliminato quando la pagina aveva un titolo e il markup grezzo della pagina veniva stampato quando non ne aveva uno.439Quando un proxy, un load balancer o un gateway risponde con una pagina di errore HTML, il messaggio mostra il codice di stato e il titolo della pagina, come `API Error: 502 Bad Gateway`. Per una pagina senza titolo, il messaggio mostra invece il codice di stato e il suo nome standard. Prima della v2.1.281, il codice di stato veniva omesso quando la pagina aveva un titolo e il markup grezzo della pagina veniva stampato quando non ne aveva uno.

438 440 

439**Cosa fare:**441**Cosa fare:**

440 442 

441* Controllate [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per gli incidenti attivi443* Controlla [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per eventuali incidenti in corso

442* Aspettate un minuto, quindi inviate di nuovo il vostro messaggio. Il vostro messaggio originale è ancora nella conversazione, quindi per un prompt lungo potete digitare `try again` invece di incollare l'intera cosa.444* Aspetta un minuto, quindi invia di nuovo il messaggio. Il tuo messaggio originale è ancora nella conversazione, quindi per un prompt lungo puoi digitare `try again` invece di incollarlo tutto.

443* Se l'errore persiste senza alcun incidente pubblicato, eseguite `/feedback` in modo che Anthropic possa investigare con i dettagli della vostra richiesta. Vedete [Report an error](#report-an-error) se `/feedback` non è disponibile nel vostro ambiente.445* Se l'errore persiste senza alcun incidente pubblicato, esegui `/feedback` in modo che Anthropic possa indagare con i dettagli della tua richiesta. Consulta [Segnalare un errore](#report-an-error) se `/feedback` non è disponibile nel tuo ambiente.

444 446 

445<h3 id="api-error-repeated-529-overloaded-errors">447<h3 id="api-error-repeated-529-overloaded-errors">

446 API Error: Repeated 529 Overloaded errors448 API Error: Repeated 529 Overloaded errors

447</h3>449</h3>

448 450 

449L'API è temporaneamente al massimo della capacità per tutti gli utenti. Claude Code ha già riprovato più volte prima di mostrare questo messaggio:451L'API è temporaneamente al limite della capacità per tutti gli utenti. Claude Code ha già riprovato più volte prima di mostrare questo messaggio:

450 452 

451```text theme={null}453```text theme={null}

452API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.454API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

453```455```

454 456 

455La frase finale varia in base al provider nello stesso modo dell'errore 500 sopra.457La frase finale varia in base al provider nello stesso modo dell'errore 500 descritto sopra.

456 458 

457Un 529 non è il vostro limite di utilizzo e non conta rispetto alla vostra quota.459Un 529 non è il tuo limite di utilizzo e non viene conteggiato nella tua quota.

458 460 

459**Cosa fare:**461**Cosa fare:**

460 462 

461* Controllate [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per gli avvisi di capacità463* Controlla [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per eventuali avvisi sulla capacità

462* Riprovate tra pochi minuti464* Riprova tra qualche minuto

463* Eseguite `/model` e passate a un modello diverso per continuare a lavorare, poiché la capacità è tracciata per modello. Claude Code vi chiede di farlo quando un modello è sotto un carico particolarmente elevato, ad esempio `Opus is experiencing high load, please use /model to switch to Sonnet`. Su modelli Fable il messaggio nomina Fable.465* Esegui `/model` e passa a un modello diverso per continuare a lavorare, poiché la capacità è monitorata per modello. Claude Code ti chiede di farlo quando un modello è sotto un carico particolarmente elevato, ad esempio `Opus is experiencing high load, please use /model to switch to Sonnet`. Sui modelli Fable il messaggio indica Fable.

464 466 

465 In una sessione che l'app Claude Desktop esegue, come la scheda Code o Cowork, il messaggio legge `Opus is experiencing high load. Switch to Sonnet.` e cambiate i modelli con il selettore di modelli dell'app.467 In una sessione eseguita dall'app Claude Desktop, come la scheda Code o Cowork, il messaggio è `Opus is experiencing high load. Switch to Sonnet.` e cambi modello con il selettore di modelli dell'app.

466 468 

467<h3 id="request-timed-out">469<h3 id="request-timed-out">

468 Request timed out470 Request timed out

469</h3>471</h3>

470 472 

471L'API non ha risposto prima della scadenza della connessione.473L'API non ha risposto entro la scadenza della connessione.

472 474 

473```text theme={null}475```text theme={null}

474Request timed out476Request timed out

475```477```

476 478 

477Questo può accadere durante periodi di carico elevato o quando il modello sta generando una risposta molto grande. Il timeout di richiesta predefinito è di 10 minuti.479Questo può accadere durante periodi di carico elevato o quando il modello sta generando una risposta molto lunga. Il timeout predefinito della richiesta è di 10 minuti.

478 480 

479**Cosa fare:**481**Cosa fare:**

480 482 

481* Riprovate la richiesta483* Riprova la richiesta

482* Se la causa è una rete lenta o un proxy, aumentate `API_TIMEOUT_MS` come descritto in [Automatic retries](#automatic-retries)484* Se la causa è una rete lenta o un proxy, aumenta `API_TIMEOUT_MS` come descritto in [Nuovi tentativi automatici](#automatic-retries)

483* Se i timeout sono frequenti e la vostra rete è altrimenti sana, vedete [Network and connection errors](#network-and-connection-errors) di seguito485* Se i timeout sono frequenti e la tua rete per il resto funziona correttamente, consulta [Errori di rete e di connessione](#network-and-connection-errors) più avanti

484 486 

485<h3 id="no-response-from-api">487<h3 id="no-response-from-api">

486 No response from API488 No response from API

487</h3>489</h3>

488 490 

489Claude Code ha inviato una richiesta di streaming e l'API non ha restituito intestazioni di risposta entro la scadenza per il primo byte, quindi Claude Code ha interrotto la richiesta invece di aspettare il timeout di richiesta completo `API_TIMEOUT_MS`, 10 minuti per impostazione predefinita. Claude Code invia di nuovo la richiesta al massimo una volta, se il [retry budget](#tune-retry-behavior) lo consente. Quando il nuovo tentativo rimane senza risposta, il turno termina con questo messaggio, che mostra quanto tempo ha aspettato ogni tentativo. Quando impostate [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/it/env-vars), il limite di un nuovo tentativo non si applica e Claude Code riprova secondo il budget descritto in [Tune retry behavior](#tune-retry-behavior).491Claude Code ha inviato una richiesta in streaming e l'API non ha restituito intestazioni di risposta entro la scadenza per il primo byte, quindi Claude Code ha interrotto la richiesta invece di attendere l'intero timeout di richiesta `API_TIMEOUT_MS`, 10 minuti per impostazione predefinita. Claude Code invia di nuovo la richiesta al massimo una volta, se il [budget dei nuovi tentativi](#tune-retry-behavior) lo consente. Quando anche il nuovo tentativo resta senza risposta, il turno termina con questo messaggio, che mostra quanto ha atteso ciascun tentativo. Quando imposti [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/it/env-vars), il limite di un solo nuovo tentativo non si applica e Claude Code riprova secondo il budget descritto in [Regolare il comportamento dei nuovi tentativi](#tune-retry-behavior).

490 492 

491```text theme={null}493```text theme={null}

492API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.494API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.

493```495```

494 496 

495Claude Code imposta l'attesa per le intestazioni di risposta del primo tentativo e l'attesa del nuovo tentativo separatamente:497Claude Code imposta separatamente l'attesa delle intestazioni di risposta per il primo tentativo e l'attesa per il nuovo tentativo:

496 498 

497* **First attempt**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) quando lo impostate su 1 o più, limitato tra 10 secondi e 30 minuti. Altrimenti Claude Code utilizza il timeout del watchdog a livello di byte elencato in [Streaming idle watchdogs](/docs/it/network-config#streaming-idle-watchdogs), quindi le variabili che cambiano quel timeout cambiano anche questa attesa. In entrambi i casi, Claude Code aggiunge un secondo per ogni 32KB del corpo della richiesta.499* **Primo tentativo**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) quando lo imposti su 1 o più, limitato a un valore compreso tra 10 secondi e 30 minuti. Altrimenti Claude Code usa il timeout del watchdog a livello di byte indicato in [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs), quindi le variabili che modificano quel timeout modificano anche questa attesa. In entrambi i casi, Claude Code aggiunge un secondo per ogni 32KB del corpo della richiesta.

498* **Retry**: un secondo in meno di `API_TIMEOUT_MS`, poco meno di 10 minuti per impostazione predefinita, in modo che il nuovo tentativo possa durare più a lungo di un proxy o gateway che tiene la risposta fino al completamento della generazione. Su Amazon Bedrock, il nuovo tentativo utilizza la stessa scadenza del primo tentativo e il messaggio mostra una durata invece di due.500* **Nuovo tentativo**: un secondo in meno di `API_TIMEOUT_MS`, poco meno di 10 minuti per impostazione predefinita, in modo che il nuovo tentativo possa durare più a lungo di un proxy o gateway che trattiene la risposta fino al completamento della generazione. Su Amazon Bedrock, il nuovo tentativo usa la stessa scadenza del primo tentativo e il messaggio mostra una sola durata invece di due.

499 501 

500Nessuna attesa supera un secondo in meno di un `API_TIMEOUT_MS` positivo, e un `API_TIMEOUT_MS` positivo inferiore a 11 secondi disattiva la scadenza. Il watchdog a livello di byte inizia solo una volta che le intestazioni di risposta arrivano, quindi una risposta che smette di inviare byte dopo quello segue le [stalled-stream rules](#automatic-retries) invece di questa scadenza.502Nessuna delle due attese supera un secondo in meno di un `API_TIMEOUT_MS` positivo, e un `API_TIMEOUT_MS` positivo inferiore a 11 secondi disattiva la scadenza. Il watchdog a livello di byte parte solo quando arrivano le intestazioni di risposta, quindi una risposta che smette di inviare byte dopo quel momento segue le [regole per i flussi bloccati](#automatic-retries) invece di questa scadenza.

501 503 

502**Cosa fare:**504**Cosa fare:**

503 505 

504* Inviate di nuovo il vostro messaggio. Il vostro messaggio originale è ancora nella conversazione, quindi per un prompt lungo potete digitare `try again` invece di incollare l'intera cosa.506* Invia di nuovo il messaggio. Il tuo messaggio originale è ancora nella conversazione, quindi per un prompt lungo puoi digitare `try again` invece di incollarlo tutto.

505* Se si ripete, trattarlo come un [network or proxy problem](#unable-to-connect-to-api).507* Se si ripete, trattalo come un [problema di rete o di proxy](#unable-to-connect-to-api).

506* Se un proxy o gateway sulla vostra rete tiene le risposte fino al completamento, aumentate `API_TIMEOUT_MS` in modo che il nuovo tentativo aspetti più a lungo. Su Amazon Bedrock, aumentate anche `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`.508* Se un proxy o gateway sulla tua rete trattiene le risposte fino al loro completamento, aumenta `API_TIMEOUT_MS` in modo che il nuovo tentativo attenda più a lungo. Su Amazon Bedrock, aumenta anche `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`.

507* Se il primo tentativo continua a scadere e il nuovo tentativo ha successo, aumentate `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` in modo che il primo tentativo aspetti abbastanza a lungo.509* Se il primo tentativo continua ad andare in timeout e poi il nuovo tentativo riesce, aumenta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` in modo che anche il primo tentativo attenda abbastanza a lungo.

508 510 

509Prima della v2.1.242, Claude Code aspettava il timeout di richiesta completo `API_TIMEOUT_MS`, 10 minuti per impostazione predefinita, prima di fallire una richiesta di streaming senza risposta. Prima della v2.1.261, il nuovo tentativo aspettava la stessa scadenza del primo tentativo e il messaggio non mostrava durate.511Prima della v2.1.242, Claude Code attendeva l'intero timeout di richiesta `API_TIMEOUT_MS`, 10 minuti per impostazione predefinita, prima di far fallire una richiesta in streaming senza risposta. Prima della v2.1.261, il nuovo tentativo attendeva la stessa scadenza del primo tentativo e il messaggio non mostrava alcuna durata.

510 512 

511<h3 id="the-response-above-may-be-incomplete">513<h3 id="the-response-above-may-be-incomplete">

512 The response above may be incomplete514 The response above may be incomplete

513</h3>515</h3>

514 516 

515Una richiesta di streaming non è riuscita mentre la risposta era ancora in corso, dopo che Claude aveva completato un blocco di testo o una chiamata di strumento, o ne aveva iniziato uno dopo aver terminato il suo pensiero. L'invio di nuovo della richiesta potrebbe eseguire le stesse chiamate di strumento due volte, quindi Claude Code mantiene l'output che Claude ha completato e aggiunge questo avviso invece di scartare il turno. Quale variante vedete indica la causa:517Una richiesta in streaming non è riuscita mentre la risposta era ancora in corso, dopo che Claude aveva completato un blocco di testo o una chiamata a uno strumento, oppure ne aveva iniziato uno dopo aver terminato il ragionamento. Inviare di nuovo la richiesta potrebbe eseguire due volte le stesse chiamate agli strumenti, quindi Claude Code conserva l'output che Claude ha completato e aggiunge questo avviso invece di scartare il turno. La variante che vedi indica la causa:

516 518 

517```text theme={null}519```text theme={null}

518API Error: Server error mid-response. The response above may be incomplete.520API Error: Server error mid-response. The response above may be incomplete.


523API Error: The response stream was malformed. The response above may be incomplete.525API Error: The response stream was malformed. The response above may be incomplete.

524```526```

525 527 

526* `Server error mid-response`: un errore del server di sovraccarico o 5xx a metà flusso. Questa variante richiede Claude Code v2.1.199 o successivo; prima di allora quel caso scartava l'output parziale e segnalava l'intero turno come errore.528* `Server error mid-response`: un errore di sovraccarico o un errore del server 5xx a metà flusso. Questa variante richiede Claude Code v2.1.199 o successivo; prima di allora, in questo caso l'output parziale veniva scartato e l'intero turno veniva segnalato come errore.

527* `Connection lost mid-response`: la connessione è stata interrotta. Vedete anche questa variante quando un proxy o gateway termina il corpo della risposta in modo pulito prima che la risposta sia terminata.529* `Connection lost mid-response`: la connessione si è interrotta. Vedi questa variante anche quando un proxy o gateway chiude regolarmente il corpo della risposta prima che la risposta sia terminata.

528* `Your computer went to sleep mid-response`: Claude Code ha rilevato che il vostro computer si è addormentato mentre la risposta era in streaming. Una volta che il vostro computer si sveglia, Claude Code tratta la connessione come interrotta e smette di leggerla.530* `Your computer went to sleep mid-response`: Claude Code ha rilevato che il tuo computer è entrato in sospensione mentre la risposta era in streaming. Quando il computer si riattiva, Claude Code considera la connessione interrotta e smette di leggerla.

529* `Part of the response never arrived`: un evento di flusso è stato perso tra l'API e Claude Code, quindi un evento successivo ha fatto riferimento a contenuto che non è mai arrivato. Prima della v2.1.281, questo caso ha terminato il turno con `API Error: Content block not found`.531* `Part of the response never arrived`: un evento del flusso è andato perso tra l'API e Claude Code, quindi un evento successivo ha fatto riferimento a contenuto mai arrivato. Prima della v2.1.281, questo caso terminava il turno con `API Error: Content block not found`.

530* `The response stream was malformed`: un evento è arrivato per un blocco di contenuto che era già terminato, o un evento è arrivato danneggiato. Un evento danneggiato è uno i cui dati non sono JSON valido, il cui contenuto è mancante o il cui contenuto non corrisponde al tipo dell'evento. Prima della v2.1.284, l'errore grezzo del parser, come uno che inizia con `API Error: JSON Parse error`, appariva invece quando un evento con JSON non valido arrivava dopo che Claude aveva completato il suo pensiero, un blocco di testo o una chiamata di strumento.532* `The response stream was malformed`: è arrivato un evento per un blocco di contenuto già terminato, oppure è arrivato un evento danneggiato. Un evento danneggiato è un evento i cui dati non sono JSON valido, il cui contenuto manca o il cui contenuto non corrisponde al tipo dell'evento. Prima della v2.1.284, quando un evento con JSON non valido arrivava dopo che Claude aveva completato il ragionamento, un blocco di testo o una chiamata a uno strumento, veniva invece mostrato l'errore grezzo del parser, ad esempio uno che inizia con `API Error: JSON Parse error`. Prima della v2.1.287, quando un [guardrail di Amazon Bedrock](/docs/it/amazon-bedrock#aws-guardrails) bloccava una risposta che aveva già trasmesso in streaming il ragionamento e parte del testo, questa variante appariva al posto del messaggio del guardrail.

531* `The response stopped arriving`: la connessione è rimasta aperta ma ha smesso di consegnare dati, quindi il watchdog di inattività dello streaming l'ha interrotta. Prima della v2.1.222, Claude Code poteva anche segnalare questo errore su connessioni [gateway](/docs/it/gateways) raggiunte tramite `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` mentre i ping keep-alive del server stavano ancora arrivando, perché contava solo gli eventi di risposta analizzati lì; l'aggiornamento interrompe quei timeout spuri su quelle rotte. I gateway raggiunti tramite un URL di base del provider come `ANTHROPIC_BEDROCK_BASE_URL` non sono avvolti dal watchdog di byte; vedete [Streaming idle watchdogs](/docs/it/network-config#streaming-idle-watchdogs).533* `The response stopped arriving`: la connessione è rimasta aperta ma ha smesso di trasmettere dati, quindi il watchdog di inattività dello streaming l'ha interrotta. Prima della v2.1.222, Claude Code poteva segnalare questo errore anche sulle connessioni [gateway](/docs/it/gateways) raggiunte tramite `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` mentre i ping keep-alive del server continuavano ad arrivare, perché su quelle connessioni contava solo gli eventi di risposta analizzati; l'aggiornamento elimina quei timeout spuri su quei percorsi. I gateway raggiunti tramite un URL di base del provider come `ANTHROPIC_BEDROCK_BASE_URL` non sono coperti dal watchdog a livello di byte; consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs).

532 534 

533Prima della v2.1.227, `Connection lost mid-response` leggeva `Connection closed mid-response` e `The response stopped arriving` leggeva `Response stalled mid-stream`.535Prima della v2.1.227, `Connection lost mid-response` era `Connection closed mid-response` e `The response stopped arriving` era `Response stalled mid-stream`.

534 536 

535Quando un evento di flusso perso, duplicato o danneggiato arriva prima che Claude abbia iniziato qualsiasi testo o chiamata di strumento, non vedete questo avviso:537Quando un evento del flusso perso, duplicato o danneggiato arriva prima che Claude abbia iniziato qualsiasi testo o chiamata a uno strumento, non vedi questo avviso:

536 538 

537* Se Claude aveva completato solo il suo pensiero, Claude Code invia di nuovo la richiesta. Quando i flussi inviati di nuovo si rompono nello stesso modo, il turno termina con `Part of the response never arrived and no response was produced. Try again.` o `The response stream was malformed and no response was produced. Try again.`539* Se Claude aveva completato solo il ragionamento, Claude Code invia di nuovo la richiesta. Quando i flussi inviati di nuovo si interrompono allo stesso modo, il turno termina con `Part of the response never arrived and no response was produced. Try again.` o `The response stream was malformed and no response was produced. Try again.`

538* Se nulla era stato completato, Claude Code invia di nuovo la richiesta senza streaming. Se avete disattivato quel fallback con [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/it/env-vars), il turno termina con `API Error: Content block not found` per un evento perso o `API Error: Content block already closed` per uno duplicato. Per un evento danneggiato con il fallback disattivato, il turno termina con `API Error: Stream event unreadable` o l'errore grezzo del parser.540* Se non era stato completato nulla, Claude Code invia invece di nuovo la richiesta senza streaming. Se hai disattivato quel fallback con [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/it/env-vars), il turno termina con `API Error: Content block not found` per un evento perso o con `API Error: Content block already closed` per un evento duplicato. Per un evento danneggiato con il fallback disattivato, il turno termina con `API Error: Stream event unreadable` o con l'errore grezzo del parser.

539 541 

540In quattro casi, Claude Code gestisce l'errore senza mostrare questo avviso subito:542In quattro casi, Claude Code gestisce l'errore senza mostrare subito questo avviso:

541 543 

542* Più in alto nella risposta, Claude Code riprova l'errore o termina il turno con un errore diverso. Vedete [Automatic retries](#automatic-retries).544* Nelle fasi iniziali della risposta, Claude Code riprova dopo l'errore oppure termina il turno con un errore diverso. Consulta [Nuovi tentativi automatici](#automatic-retries).

543* Quando uno di questi errori arriva dopo che Claude ha terminato la risposta, Claude Code mantiene la risposta completa e termina il turno normalmente, senza questo avviso. Prima della v2.1.222, Claude Code mostrava questo avviso quando la connessione veniva interrotta o si bloccava dopo il completamento della risposta e segnalava il turno come errore anche se la risposta era completa.545* Quando uno di questi errori arriva dopo che Claude ha terminato la risposta, Claude Code conserva la risposta completa e termina il turno normalmente, senza questo avviso. Prima della v2.1.222, Claude Code mostrava questo avviso quando la connessione si interrompeva o si bloccava dopo il completamento della risposta e segnalava il turno come errore anche se la risposta era completa.

544* In una [non-interactive session](/docs/it/headless), come una esecuzione `-p`, un'esecuzione [Agent SDK](/docs/it/agent-sdk/overview) o una [cloud session](/docs/it/claude-code-on-the-web), non dovete inviare `continue` voi stessi quando la risposta tagliata è nella conversazione principale e contiene testo ma nessuna chiamata di strumento: Claude Code mantiene l'output parziale e chiede a Claude di continuare da dove si è fermato, fino a tre volte di seguito. Vedete questo avviso per tale risposta solo una volta che Claude Code ha esaurito quelle continuazioni. Prima della v2.1.246, Claude Code terminava un turno non interattivo con questo avviso al primo taglio.546* In una [sessione non interattiva](/docs/it/headless), come un'esecuzione `-p`, un'esecuzione dell'[Agent SDK](/docs/it/agent-sdk/overview) o una [sessione cloud](/docs/it/claude-code-on-the-web), non devi inviare tu `continue` quando la risposta interrotta si trova nella conversazione principale e contiene testo ma nessuna chiamata a uno strumento: Claude Code conserva l'output parziale e chiede a Claude di continuare da dove si era fermato, fino a tre volte di seguito. Vedi questo avviso per una risposta di questo tipo solo quando Claude Code ha esaurito quelle continuazioni. Prima della v2.1.246, Claude Code terminava un turno non interattivo con questo avviso alla prima interruzione.

545* In un [subagent](/docs/it/sub-agents#api-errors-in-subagents), indipendentemente dal fatto che la sessione sia interattiva o meno: quando la sua risposta tagliata contiene testo ma nessuna chiamata di strumento, Claude Code chiede al subagent di continuare. L'avviso diventa l'ultimo messaggio del subagent solo una volta che quelle continuazioni sono esaurite. Prima della v2.1.257, un subagent mostrava questo avviso al primo taglio.547* In un [subagent](/docs/it/sub-agents#api-errors-in-subagents), che la sessione sia interattiva o meno: quando la sua risposta interrotta contiene testo ma nessuna chiamata a uno strumento, Claude Code chiede al subagent di continuare. L'avviso diventa l'ultimo messaggio del subagent solo quando quelle continuazioni sono esaurite. Prima della v2.1.257, un subagent mostrava questo avviso alla prima interruzione.

546 548 

547**Cosa fare:**549**Cosa fare:**

548 550 

549* In una sessione interattiva, leggete la risposta che rimane sullo schermo: Claude Code mantiene ogni blocco che Claude ha completato prima dell'errore, ma scarta un blocco finale interrotto quando il turno termina, quindi le frasi o le chiamate di strumento finali potrebbero mancare. Rispondete con `continue` per far riprendere a Claude dal suo ultimo blocco completato.551* In una sessione interattiva, leggi la risposta che rimane sullo schermo: Claude Code conserva ogni blocco che Claude ha completato prima dell'errore, ma scarta un blocco finale interrotto quando il turno termina, quindi le frasi finali o le chiamate agli strumenti finali potrebbero mancare. Rispondi con `continue` per far riprendere Claude dal suo ultimo blocco completato.

550* In [non-interactive mode](/docs/it/headless) (`-p`):552* In [modalità non interattiva](/docs/it/headless) (`-p`):

551 * Con l'output di testo predefinito, Claude Code stampa l'ultimo blocco di testo completato che ancora mantiene da prima nel turno, seguito da questo messaggio. Quando non ne mantiene nessuno, Claude Code stampa solo questo messaggio, ad esempio perché Claude Code ha compattato la conversazione a metà turno e ha cancellato quel testo. Prima della v2.1.219, Claude Code stampava solo questo messaggio nell'output di testo `-p` e scartava la risposta che aveva già prodotto.553 * Con l'output di testo predefinito, Claude Code stampa l'ultimo blocco di testo completato che conserva ancora da un punto precedente del turno, seguito da questo messaggio. Quando non ne conserva nessuno, Claude Code stampa solo questo messaggio, ad esempio perché ha compattato la conversazione a metà turno e ha eliminato quel testo. Prima della v2.1.219, Claude Code stampava solo questo messaggio nell'output di testo di `-p` e scartava la risposta già prodotta.

552 * Con `--output-format json` o `stream-json`, Claude Code segnala questo messaggio nel campo `result`.554 * Con `--output-format json` o `stream-json`, Claude Code riporta questo messaggio nel campo `result`.

553 * Per continuare il turno una volta che la connessione è stabile, riprendete la sessione e inviate `continue` come descritto in [Continue conversations](/docs/it/headless#continue-conversations).555 * Per continuare il turno quando la connessione è stabile, riprendi la sessione e invia `continue` come descritto in [Continuare le conversazioni](/docs/it/headless#continue-conversations).

554 556 

555<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">557<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">

556 Auto mode cannot determine the safety of an action558 Auto mode cannot determine the safety of an action

557</h3>559</h3>

558 560 

559Il modello che [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) utilizza per classificare le azioni non poteva produrre una decisione, quindi auto mode non ha approvato l'azione automaticamente. Il messaggio che vedete dipende da come il classificatore non è riuscito.561Il modello che la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) usa per classificare le azioni non è riuscito a produrre una decisione, quindi la modalità auto non ha approvato automaticamente l'azione. Il messaggio che vedi dipende da come il classificatore non è riuscito.

560 562 

561Le letture, le ricerche e le modifiche all'interno della vostra directory di lavoro saltano il classificatore, quindi continuano a funzionare in tutti questi casi.563Le letture, le ricerche e le modifiche all'interno della tua directory di lavoro non passano dal classificatore, quindi continuano a funzionare in tutti questi casi.

562 564 

563Quando il modello di classificazione non è disponibile:565Quando il modello del classificatore non è disponibile:

564 566 

565```text theme={null}567```text theme={null}

566<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.568<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

567```569```

568 570 

569Quando Claude Code può determinare la categoria di errore, la nomina tra parentesi dopo `temporarily unavailable`, ad esempio `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Le categorie sono `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` o `(connection failed)` si ripete, controllate la vostra connessione; vedete [Unable to connect to API](#unable-to-connect-to-api). Prima della v2.1.229, il messaggio non nominava mai una categoria e leggeva `Wait briefly and then try this action again`.571Quando Claude Code riesce a determinare la categoria dell'errore, la indica tra parentesi dopo `temporarily unavailable`, ad esempio `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Le categorie sono `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` o `(connection failed)` si ripete, controlla la tua connessione; consulta [Unable to connect to API](#unable-to-connect-to-api). Prima della v2.1.229, il messaggio non indicava mai una categoria e diceva `Wait briefly and then try this action again`.

570 572 

571Quando nessuna categoria si adatta, il messaggio appare senza categoria tra parentesi; più di un errore produce quella forma. Su [Amazon Bedrock](/docs/it/amazon-bedrock), incluso l'[Mantle endpoint](/docs/it/amazon-bedrock#use-the-mantle-endpoint), appare anche quando il vostro account AWS non può invocare il modello indicato nel messaggio e quel fallimento si ripete ad ogni nuovo tentativo fino a quando al vostro account non viene concesso l'accesso al modello.573Quando nessuna categoria è adatta, il messaggio appare senza categoria tra parentesi; più errori diversi producono questa forma. Su [Amazon Bedrock](/docs/it/amazon-bedrock), incluso l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint), appare anche quando il tuo account AWS non può invocare il modello indicato nel messaggio, e quell'errore si ripete a ogni nuovo tentativo finché al tuo account non viene concesso l'accesso al modello.

572 574 

573**Cosa fare:**575**Cosa fare:**

574 576 

575* Riprovate dopo pochi secondi; Claude vede lo stesso messaggio e di solito riprova da solo. Un errore transitorio non è correlato all'[auto mode eligibility](/docs/it/permission-modes#eliminate-prompts-with-auto-mode); non dovete cambiare le impostazioni577* Riprova dopo qualche secondo; Claude vede lo stesso messaggio e di solito riprova da solo. Un errore temporaneo non è legato all'[idoneità alla modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode); non devi modificare le impostazioni

576* Se i nuovi tentativi continuano a fallire, continuate con attività di sola lettura e tornate all'azione bloccata in seguito578* Se i nuovi tentativi continuano a non riuscire, prosegui con attività di sola lettura e torna più tardi all'azione bloccata

577* Su Amazon Bedrock, se il messaggio ritorna ad ogni nuovo tentativo, controllate che il vostro account possa invocare il modello che nomina: per i modelli Amazon Bedrock standard, confermate che la vostra [IAM policy](/docs/it/amazon-bedrock#iam-configuration) consente di invocarlo; per gli ID modello Mantle, [contattate il vostro team di account AWS](/docs/it/amazon-bedrock#mantle-endpoint-errors)579* Su Amazon Bedrock, se il messaggio si ripresenta a ogni nuovo tentativo, verifica che il tuo account possa invocare il modello indicato: per i modelli Amazon Bedrock standard, conferma che la tua [policy IAM](/docs/it/amazon-bedrock#iam-configuration) ne consenta l'invocazione; per gli ID modello Mantle, [contatta il team del tuo account AWS](/docs/it/amazon-bedrock#mantle-endpoint-errors)

578 580 

579Quando una richiesta di classificazione non riesce perché il vostro token OAuth è scaduto o è stato ruotato da un'altra sessione, Claude Code aggiorna il token e riprova la richiesta una volta, quindi una scadenza di token di routine non emerge come questo messaggio. Prima della v2.1.216, un token scaduto o ruotato non riusciva ad ogni richiesta di classificazione e auto mode negava ogni azione controllata con questo messaggio fino a quando il token non veniva aggiornato.581Quando una richiesta al classificatore non riesce perché il tuo token OAuth è scaduto o è stato ruotato da un'altra sessione, Claude Code aggiorna il token e riprova la richiesta una volta, quindi una normale scadenza del token non si manifesta con questo messaggio. Prima della v2.1.216, un token scaduto o ruotato faceva fallire ogni richiesta al classificatore e la modalità auto negava ogni azione controllata con questo messaggio finché il token non veniva aggiornato.

580 582 

581Quando il classificatore ha restituito una risposta non analizzabile:583Quando il classificatore ha restituito una risposta non analizzabile:

582 584 


586 588 

587**Cosa fare:**589**Cosa fare:**

588 590 

589* Riprovate l'azione; questo di solito ha successo al tentativo successivo591* Riprova l'azione; di solito riesce al tentativo successivo

590* Eseguite `claude --debug` e ripetete l'azione per i dettagli nel registro di debug592* Esegui `claude --debug` e ripeti l'azione per vedere i dettagli nel log di debug

591 593 

592Quando un controllo di sicurezza API separato ha bloccato la richiesta del classificatore a causa del contenuto della conversazione precedente:594Quando un controllo di sicurezza dell'API separato ha bloccato la richiesta al classificatore a causa di contenuti precedenti della conversazione:

593 595 

594```text theme={null}596```text theme={null}

595Auto 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 details597Auto 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

596```598```

597 599 

598Claude Code nega l'azione ma dice a Claude che questo non è un giudizio che l'azione sia pericolosa e di continuare con altri compiti piuttosto che riprovare. Questi rifiuti non contano verso le [auto mode's pause thresholds](/docs/it/permission-modes#when-auto-mode-falls-back). In un'esecuzione `-p` [non-interactive](/docs/it/headless), Claude Code non interrompe l'esecuzione. Quello che Claude riceve dipende da dove ha richiesto l'azione:600Claude Code nega l'azione ma comunica a Claude che non si tratta di un giudizio sulla pericolosità dell'azione e che deve proseguire con altre attività invece di riprovare. Questi rifiuti non vengono conteggiati nelle [soglie di pausa della modalità auto](/docs/it/permission-modes#when-auto-mode-falls-back). In un'esecuzione `-p` [non interattiva](/docs/it/headless), Claude Code non interrompe l'esecuzione. Ciò che Claude riceve dipende da dove ha richiesto l'azione:

599 601 

600* A un [background subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in un'esecuzione `-p` senza `--input-format stream-json`, Claude Code restituisce un risultato di errore contenente `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`602* A un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in un'esecuzione `-p` senza `--input-format stream-json`, Claude Code restituisce un risultato di errore contenente `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`

601* Ovunque, incluse le sessioni interattive e la conversazione principale di un'esecuzione `-p`, Claude Code restituisce quel rifiuto a Claude603* In tutti gli altri casi, incluse le sessioni interattive e la conversazione principale di un'esecuzione `-p`, Claude Code restituisce quel rifiuto a Claude

602 604 

603Prima della v2.1.225, Claude Code contava questi rifiuti verso le soglie di pausa e restituiva lo stesso messaggio di rifiuto di un blocco di classificatore genuino.605Prima della v2.1.225, Claude Code conteggiava questi rifiuti nelle soglie di pausa e restituiva lo stesso messaggio di rifiuto di un vero blocco del classificatore.

604 606 

605**Cosa fare:**607**Cosa fare:**

606 608 

607* Questo non è un giudizio sulla vostra azione. Il contenuto già nella vostra conversazione ha attivato un filtro di sicurezza sull'API quando auto mode ha inviato la conversazione al classificatore609* Non si tratta di una decisione sulla tua azione. Contenuti già presenti nella tua conversazione hanno attivato un filtro di sicurezza dell'API quando la modalità auto ha inviato la conversazione al classificatore

608* Riprovare non aiuterà; lo stesso contenuto della conversazione attiverà di nuovo il filtro610* Riprovare non servirà; gli stessi contenuti della conversazione attiveranno di nuovo il filtro

609* In una sessione interattiva, passate a una [permission mode](/docs/it/permission-modes) diversa in modo da poter approvare l'azione quando richiesto611* In una sessione interattiva, passa a una [modalità di permesso](/docs/it/permission-modes) diversa in modo da poter approvare l'azione quando ti viene chiesto

610* Iniziate una conversazione nuova senza il contenuto che attiva612* Avvia una nuova conversazione senza i contenuti che attivano il filtro

611 613 

612Quando la conversazione è cresciuta più grande della finestra di contesto del classificatore:614Quando la conversazione è diventata più grande della finestra di contesto del classificatore:

613 615 

614```text theme={null}616```text theme={null}

615Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)617Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)

616```618```

617 619 

618Quello che accade all'azione dipende da dove Claude l'ha richiesta:620Ciò che accade all'azione dipende da dove Claude l'ha richiesta:

619 621 

620* In una sessione interattiva, auto mode torna a un normale prompt di autorizzazione per quell'azione in modo da poter approvarla o negarla manualmente622* In una sessione interattiva, la modalità auto ripiega su una normale richiesta di permesso per quell'azione, così puoi approvarla o negarla manualmente

621* A un [background subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in un'esecuzione `-p` [non-interactive](/docs/it/headless) senza `--input-format stream-json`, Claude Code restituisce un risultato di errore contenente `Agent aborted: auto mode classifier transcript exceeded context window in headless mode` e l'esecuzione continua623* A un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in un'esecuzione `-p` [non interattiva](/docs/it/headless) senza `--input-format stream-json`, Claude Code restituisce un risultato di errore contenente `Agent aborted: auto mode classifier transcript exceeded context window in headless mode` e l'esecuzione continua

622* Altrove in un'esecuzione `-p` senza un [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags), non c'è alcun prompt a cui tornare, quindi l'azione non viene eseguita e l'esecuzione continua624* Altrove in un'esecuzione `-p` senza un [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags), non c'è alcuna richiesta di permesso su cui ripiegare, quindi l'azione non viene eseguita e l'esecuzione continua

623 625 

624**Cosa fare:**626**Cosa fare:**

625 627 

626* In una sessione interattiva, approvate o negate l'azione nel prompt che appare628* In una sessione interattiva, approva o nega l'azione nella richiesta che appare

627* In una sessione interattiva, eseguite `/compact` per ridurre la dimensione della conversazione in modo che le azioni successive si adattino di nuovo alla finestra del classificatore629* In una sessione interattiva, esegui `/compact` per ridurre le dimensioni della conversazione in modo che le azioni successive rientrino di nuovo nella finestra del classificatore

628 630 

629<h3 id="the-server-returned-no-safety-verdict">631<h3 id="the-server-returned-no-safety-verdict">

630 The server returned no safety verdict632 The server returned no safety verdict

631</h3>633</h3>

632 634 

633Sotto [server-side classifier review](/docs/it/permission-modes#server-side-classifier-review), auto mode nega un'azione quando il server non dà un verdetto per essa. Il rifiuto nomina una categoria tra parentesi quando Claude Code può determinarne una, come `(timed out)`:635Con la [revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review), la modalità auto nega un'azione quando il server non fornisce un verdetto su di essa. Il rifiuto indica una categoria tra parentesi quando Claude Code riesce a determinarla, come `(timed out)`:

634 636 

635```text theme={null}637```text theme={null}

636The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.638The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.

637```639```

638 640 

639Il resto del messaggio dice a Claude se un nuovo tentativo può aiutare. Prima di alcuni di questi rifiuti, Claude Code aspetta in modo che il prossimo tentativo di Claude non segua subito. Durante l'attesa in una sessione interattiva, lo spinner mostra `Auto mode check unavailable` con un conto alla rovescia, e premere `Esc` interrompe il turno.641Il resto del messaggio indica a Claude se un nuovo tentativo può essere utile. Prima di alcuni di questi rifiuti, Claude Code attende, in modo che il tentativo successivo di Claude non segua immediatamente. Durante l'attesa in una sessione interattiva, lo spinner mostra `Auto mode check unavailable` con un conto alla rovescia, e premendo `Esc` interrompi il turno.

640 642 

641Dopo dieci risposte di fila senza verdetto, auto mode interrompe il turno:643Dopo dieci risposte consecutive senza verdetto, la modalità auto interrompe il turno:

642 644 

643```text theme={null}645```text theme={null}

644Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.646Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.

645```647```

646 648 

647Il messaggio di arresto appare in un posto diverso in ogni tipo di sessione:649Il messaggio di interruzione appare in un punto diverso a seconda del tipo di sessione:

648 650 

649* In una sessione interattiva, il messaggio appare come un avviso nella trascrizione e il turno termina651* In una sessione interattiva, il messaggio appare come avviso nella trascrizione e il turno termina

650* In un'esecuzione `-p` [non-interactive](/docs/it/headless), l'esecuzione termina e segnala un errore di esecuzione. Con l'output di testo predefinito, il messaggio stampa su stderr.652* In un'esecuzione `-p` [non interattiva](/docs/it/headless), l'esecuzione termina e segnala un errore di esecuzione. Con l'output di testo predefinito, il messaggio viene stampato su stderr.

651* Quando un [subagent](/docs/it/sub-agents) ha raggiunto il limite, il subagent si ferma prima di finire, e Claude riceve quello che ha prodotto con una nota che auto mode l'ha fermato653* Quando un [subagent](/docs/it/sub-agents) ha raggiunto il limite, il subagent si ferma prima di terminare e Claude riceve ciò che ha prodotto, con una nota che indica che la modalità auto lo ha fermato

652 654 

653**Cosa fare:**655**Cosa fare:**

654 656 

655* Inviate un altro messaggio per far riprovare a Claude. Il conteggio delle risposte ricomincia da capo.657* Invia un altro messaggio per far riprovare Claude. Il conteggio delle risposte riparte da zero.

656* Se l'arresto si ripete e le vostre richieste passano attraverso un [LLM gateway or proxy](/docs/it/llm-gateway), controllate se taglia le risposte di streaming corte o le riscrive. [Server-side classifier review](/docs/it/permission-modes#server-side-classifier-review) dice quale comportamento del gateway causa rifiuti, e la [gateway compatibility guide](/docs/it/llm-gateway-protocol#feature-pass-through) elenca cosa passare attraverso invariato.658* Se l'interruzione si ripete e le tue richieste passano attraverso un [gateway o proxy LLM](/docs/it/llm-gateway), verifica se tronca o riscrive le risposte in streaming. La sezione [Revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review) indica quale comportamento del gateway causa i rifiuti, e la [guida alla compatibilità dei gateway](/docs/it/llm-gateway-protocol#feature-pass-through) elenca cosa deve essere inoltrato senza modifiche.

657* Impostate `CLAUDE_CODE_AUTO_MODE_SERVER=0` prima di avviare Claude Code per utilizzare le sue richieste di classificatore. Prima della v2.1.281, Claude Code non leggeva la variabile su una connessione diretta a Anthropic API.659* Imposta `CLAUDE_CODE_AUTO_MODE_SERVER=0` prima di avviare Claude Code per usare invece le sue richieste al classificatore. Prima della v2.1.281, Claude Code non leggeva la variabile su una connessione diretta ad Anthropic API.

658* Per approvare le azioni voi stessi, [switch out of auto mode](/docs/it/permission-modes#switch-permission-modes)660* Per approvare tu stesso le azioni, [esci dalla modalità auto](/docs/it/permission-modes#switch-permission-modes)

659 661 

660Prima della v2.1.280, Claude Code negava ogni azione da una risposta senza verdetto immediatamente e non interrompeva mai il turno.662Prima della v2.1.280, Claude Code negava immediatamente ogni azione proveniente da una risposta senza verdetto e non interrompeva mai il turno.

661 663 

662<h3 id="agent-terminated-early-due-to-an-api-error">664<h3 id="agent-terminated-early-due-to-an-api-error">

663 Agent terminated early due to an API error665 Agent terminated early due to an API error

664</h3>666</h3>

665 667 

666Una richiesta API di un [subagent](/docs/it/sub-agents) non è riuscita in modo terminale, ad esempio perché è stato raggiunto un limite di utilizzo o i nuovi tentativi per un errore del server sono esauriti, quindi il subagent si è fermato prima di completare il suo compito. Questo messaggio richiede Claude Code v2.1.199 o successivo; prima di allora il testo di errore dell'API veniva restituito a Claude come se fosse il risultato del subagent.668Una richiesta API di un [subagent](/docs/it/sub-agents) non è riuscita in modo definitivo, ad esempio perché è stato raggiunto un limite di utilizzo o perché i nuovi tentativi per un errore del server si sono esauriti, quindi il subagent si è fermato prima di completare la sua attività. Questo messaggio richiede Claude Code v2.1.199 o successivo; prima di allora il testo dell'errore API veniva restituito a Claude come se fosse il risultato del subagent.

667 669 

668```text theme={null}670```text theme={null}

669Agent terminated early due to an API error: <error detail>671Agent terminated early due to an API error: <error detail>


671 673 

672**Cosa fare:**674**Cosa fare:**

673 675 

674* Abbinate il dettaglio dell'errore dopo i due punti alla sua sezione su questa pagina, come [Usage limits](#usage-limits) o [Server errors](#server-errors), e seguite i passaggi di quella sezione676* Individua la sezione di questa pagina corrispondente al dettaglio dell'errore dopo i due punti, come [Limiti di utilizzo](#usage-limits) o [Errori del server](#server-errors), e segui i passaggi di quella sezione

675* Una volta che l'errore sottostante si risolve, chiedete a Claude di riprovare il compito o di [resume the subagent](/docs/it/sub-agents#resume-subagents)677* Una volta risolto l'errore sottostante, chiedi a Claude di riprovare l'attività o di [riprendere il subagent](/docs/it/sub-agents#resume-subagents)

676 678 

677Quando un limite di velocità, sovraccarico o errore del server interrompe un subagent in primo piano che ha già prodotto output di testo, Claude riceve quell'output parziale contrassegnato come incompleto invece di questo errore. Un subagent il cui unico output era chiamate di strumento riceve anche questo errore; nella v2.1.199 quella forma restituiva un risultato parziale vuoto. Vedete [API errors in subagents](/docs/it/sub-agents#api-errors-in-subagents).679Quando un rate limit, un sovraccarico o un errore del server interrompe un subagent in primo piano che ha già prodotto output di testo, Claude riceve quell'output parziale contrassegnato come incompleto invece di questo errore. Anche un subagent il cui unico output erano chiamate agli strumenti riceve questo errore; nella v2.1.199 quel caso restituiva invece un risultato parziale vuoto. Consulta [Errori API nei subagent](/docs/it/sub-agents#api-errors-in-subagents).

678 680 

679<h2 id="usage-limits">681<h2 id="usage-limits">

680 Limiti di utilizzo682 Limiti di utilizzo


885 Errori di autenticazione887 Errori di autenticazione

886</h2>888</h2>

887 889 

888Questi errori significano che Claude Code non può provare la Vostra identità all'API. Eseguite `/status` in qualsiasi momento per vedere quale credenziale è attualmente attiva.890Questi errori indicano che Claude Code non riesce a dimostrare la tua identità all'API. Esegui `/status` in qualsiasi momento per vedere quale credenziale è attualmente attiva.

889 891 

890<h3 id="not-logged-in">892<h3 id="not-logged-in">

891 Non connesso893 Non hai effettuato l'accesso

892</h3>894</h3>

893 895 

894Nessuna credenziale valida è disponibile per questa sessione.896Non è disponibile alcuna credenziale valida per questa sessione.

895 897 

896```text theme={null}898```text theme={null}

897Not logged in · Please run /login899Not logged in · Please run /login

898```900```

899 901 

900In una sessione che l'app Claude Desktop esegue, come la scheda Code o Cowork, il messaggio legge `Authentication required · Sign in again to continue`, e vi accedete di nuovo dall'app.902In una sessione eseguita dall'app Claude Desktop, come la scheda Code o Cowork, il messaggio è `Authentication required · Sign in again to continue` e devi accedere di nuovo dall'app.

903 

904Se accedi con il tuo account claude.ai in un'altra finestra di Claude Code che usa la stessa [directory di configurazione](/docs/it/claude-directory), una sessione interattiva che mostra questo messaggio inizia a usare quell'accesso da sola. Non devi riavviarla.

905 

906Prima della v2.1.286 su macOS, la sessione poteva continuare a mostrare il messaggio dopo che avevi effettuato l'accesso da un'altra finestra. In quelle versioni, riavvia la sessione che mostra il messaggio.

901 907 

902**Cosa fare:**908**Cosa fare:**

903 909 

904* Eseguite `/login` per autenticarvi con il Vostro abbonamento Claude o l'account Console910* Esegui `/login` per autenticarti con il tuo abbonamento Claude o con il tuo account Console

905* Se vi aspettavate che una variabile d'ambiente vi autenticasse, confermate che `ANTHROPIC_API_KEY` sia impostata ed esportata nella shell dove avete lanciato `claude`911* Se ti aspettavi che una variabile d'ambiente ti autenticasse, verifica che `ANTHROPIC_API_KEY` sia impostata ed esportata nella shell da cui hai avviato `claude`

906* Per CI o automazione dove il login interattivo non è possibile, configurate uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) che recuperi una chiave all'avvio912* Per CI o automazioni in cui l'accesso interattivo non è possibile, configura uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) che recuperi una chiave all'avvio

907* Vedete [Precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) per capire quale credenziale Claude Code utilizza quando sono presenti più credenziali913* Consulta [Precedenza di autenticazione](/docs/it/authentication#authentication-precedence) per capire quale credenziale usa Claude Code quando ne sono presenti diverse

908 914 

909Se vi viene chiesto di accedere ripetutamente, vedete [Non connesso o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per i controlli dell'orologio di sistema e i passaggi di recupero dell'archiviazione delle credenziali di macOS.915Se ti viene chiesto ripetutamente di accedere, consulta [Accesso non effettuato o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per i controlli dell'orologio di sistema e i passaggi di ripristino dell'archiviazione delle credenziali su macOS.

910 916 

911<h3 id="could-not-resolve-authentication-method">917<h3 id="could-not-resolve-authentication-method">

912 Impossibile risolvere il metodo di autenticazione918 Impossibile determinare il metodo di autenticazione

913</h3>919</h3>

914 920 

915La sessione ha raggiunto il client API senza alcuna credenziale. Le [sessioni in background](/docs/it/agent-view) e le sessioni cloud mostrano questo messaggio quando il worker si avvia senza una credenziale. Le esecuzioni interattive, `-p` e Agent SDK segnalano la stessa condizione di [Non connesso](#not-logged-in) e scrivono questa stringa solo nel loro log di debug, quindi se l'avete trovata lì, seguite quella voce invece.921La sessione ha raggiunto il client API senza alcuna credenziale. Le [sessioni in background](/docs/it/agent-view) e le sessioni cloud mostrano questo messaggio quando il worker si avvia senza una credenziale. Le esecuzioni interattive, con `-p` e con l'Agent SDK segnalano la stessa condizione come [Non hai effettuato l'accesso](#not-logged-in) e scrivono questa stringa solo nel proprio log di debug, quindi se l'hai trovata lì, segui invece quella voce.

916 922 

917```text theme={null}923```text theme={null}

918Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted924Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

919```925```

920 926 

921Sulle versioni attuali l'errore significa che nessuna credenziale era disponibile al processo worker. Prima della v2.1.174, una sessione in background assegnata a un worker pre-inizializzato inattivo poteva fallire in questo modo anche quando le credenziali valide erano configurate. Prima della v2.1.176, anche una sessione cloud che era rimasta inattiva prima di essere rivendicata poteva farlo. Aggiornate per recuperare.927Nelle versioni attuali l'errore significa che nessuna credenziale era disponibile per il processo worker. Prima della v2.1.174, una sessione in background assegnata a un worker pre-inizializzato inattivo poteva fallire in questo modo anche quando erano configurate credenziali valide. Prima della v2.1.176, poteva succedere anche a una sessione cloud rimasta inattiva prima di essere presa in carico. Aggiorna per risolvere.

922 928 

923**Cosa fare:**929**Cosa fare:**

924 930 

925* Aggiornate alla v2.1.176 o successiva se questo appare in una sessione in background o cloud e le Vostre credenziali sono già configurate931* Aggiorna alla v2.1.176 o successiva se questo appare in una sessione in background o cloud e le tue credenziali sono già configurate

926* Confermate che `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` o le Vostre credenziali del provider cloud siano impostati nell'ambiente che avvia il worker, non solo nella Vostra shell interattiva932* Verifica che `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` o le credenziali del tuo provider cloud siano impostate nell'ambiente che avvia il worker, non solo nella tua shell interattiva

927* Per Agent SDK, vedete [configurazione dell'autenticazione nella guida rapida](/docs/it/agent-sdk/quickstart#setup)933* Per l'Agent SDK, consulta [la configurazione dell'autenticazione nella guida rapida](/docs/it/agent-sdk/quickstart#setup)

928* Eseguite `/status` in una sessione interattiva nello stesso ambiente per confermare quale fonte di credenziale si risolve934* Esegui `/status` in una sessione interattiva nello stesso ambiente per verificare quale origine delle credenziali viene determinata

929 935 

930<h3 id="invalid-api-key">936<h3 id="invalid-api-key">

931 Chiave API non valida937 Chiave API non valida


937Invalid API key · Fix external API key943Invalid API key · Fix external API key

938```944```

939 945 

940Quando il messaggio continua oltre `Fix external API key` con una descrizione come `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, l'API non ha mai visto la chiave. Claude Code ha trovato un carattere che le intestazioni HTTP non possono trasportare e ha fermato la richiesta prima di inviarla. Vedete [Valore di intestazione di richiesta non valido](#invalid-request-header-value) per come leggere la descrizione e correggere il valore.946Quando il messaggio prosegue dopo `Fix external API key` con una descrizione come `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, l'API non ha mai visto la chiave. Claude Code ha trovato un carattere che le intestazioni HTTP non possono trasportare e ha fermato la richiesta prima di inviarla. Consulta [Valore dell'intestazione della richiesta non valido](#invalid-request-header-value) per sapere come leggere la descrizione e correggere il valore.

941 947 

942**Cosa fare:**948**Cosa fare:**

943 949 

944* Controllate gli errori di battitura e confermate che la chiave non sia stata revocata nella [Console](https://platform.claude.com/settings/keys)950* Controlla eventuali errori di battitura e verifica che la chiave non sia stata revocata nella [Console](https://platform.claude.com/settings/keys)

945* Nella stessa shell, eseguite `env | grep ANTHROPIC`, oppure in PowerShell `Get-ChildItem Env:ANTHROPIC*`. Strumenti come direnv, plugin shell dotenv e terminali IDE possono caricare una chiave obsoleta da un file `.env` nel Vostro progetto senza che la impostiate esplicitamente.951* Nella stessa shell, esegui `env | grep ANTHROPIC`, oppure in PowerShell `Get-ChildItem Env:ANTHROPIC*`. Strumenti come direnv, i plugin della shell per dotenv e i terminali degli IDE possono caricare una chiave obsoleta da un file `.env` nel tuo progetto senza che tu l'abbia impostata esplicitamente.

946* Annullate l'impostazione di `ANTHROPIC_API_KEY` ed eseguite `/login` per utilizzare invece l'autenticazione dell'abbonamento952* Rimuovi l'impostazione di `ANTHROPIC_API_KEY` ed esegui `/login` per usare invece l'autenticazione tramite abbonamento

947* Se la chiave proviene da uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper), eseguite lo script direttamente per confermare che stampi una chiave valida su stdout953* Se la chiave proviene da uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper), esegui direttamente lo script per verificare che stampi una chiave valida su stdout

948* Eseguite `/status` per confermare quale fonte di credenziale Claude Code sta effettivamente utilizzando954* Esegui `/status` per verificare quale origine delle credenziali sta effettivamente usando Claude Code

949 955 

950<h3 id="your-apikeyhelper-script-is-failing">956<h3 id="your-apikeyhelper-script-is-failing">

951 Lo script apiKeyHelper non funziona957 Il tuo script apiKeyHelper non funziona

952</h3>958</h3>

953 959 

954Claude Code ha eseguito il comando nella Vostra impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) e non ha ottenuto una chiave indietro. Senza una, la richiesta raggiunge l'API con una credenziale segnaposto e l'API la rifiuta con `401`. Il pannello `Authentication` nel terminale mostra quale di questi è accaduto:960Claude Code ha eseguito il comando nella tua impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) e non ha ricevuto una chiave. Senza di essa, la richiesta raggiunge l'API con una credenziale segnaposto e l'API la rifiuta con `401`. Il pannello `Authentication` nel terminale mostra quale di questi casi si è verificato:

955 961 

956* Il comando è uscito con un errore o è scaduto962* Il comando è terminato con un errore o è andato in timeout

957* Il comando non ha stampato nulla su stdout963* Il comando non ha stampato nulla su stdout

958* Il comando ha stampato qualcosa di diverso dalla chiave, come un banner di login o una riga di log. Il pannello mostra `returned output that cannot be used as an API key` e dice cosa c'è di sbagliato, senza ripetere l'output. Prima della v2.1.227, Claude Code inviava tutto ciò che il comando stampava, dopo aver tagliato gli spazi bianchi circostanti.964* Il comando ha stampato qualcosa oltre alla chiave, come un banner di accesso o una riga di log. Il pannello mostra `returned output that cannot be used as an API key` e indica cosa non va, senza ripetere l'output. Prima della v2.1.227, Claude Code inviava qualunque cosa il comando stampasse, dopo aver rimosso gli spazi circostanti.

959 965 

960```text theme={null}966```text theme={null}

961Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output967Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

962```968```

963 969 

964In [modalità non interattiva](/docs/it/headless), stderr trasporta anche il motivo specifico, con il prefisso `apiKeyHelper failed:`.970In [modalità non interattiva](/docs/it/headless), anche stderr riporta il motivo specifico, preceduto da `apiKeyHelper failed:`.

965 971 

966Claude Code riesegue lo script e ritenta la richiesta fino a due volte in più prima di mostrare questo messaggio, quindi l'errore emerge entro tre tentativi. Prima della v2.1.208, Claude Code spendeva l'intero [budget di ripetizione](#automatic-retries) reinviando la richiesta con la credenziale segnaposto e poi segnalava un errore di autenticazione generico `401` invece dell'errore dello script.972Claude Code esegue di nuovo lo script e riprova la richiesta fino ad altre due volte prima di mostrare questo messaggio, quindi l'errore emerge entro tre tentativi. Prima della v2.1.208, Claude Code esauriva l'intero [budget di nuovi tentativi](#automatic-retries) reinviando la richiesta con la credenziale segnaposto e poi segnalava un generico errore di autenticazione `401` invece dell'errore dello script.

967 973 

968L'esecuzione di `/login` non aiuta qui: l'output dell'helper [ha la precedenza](/docs/it/authentication#authentication-precedence) su un login salvato finché l'impostazione è presente.974Eseguire `/login` non aiuta in questo caso: l'output dell'helper [ha la precedenza](/docs/it/authentication#authentication-precedence) su un accesso salvato finché l'impostazione è presente.

969 975 

970**Cosa fare:**976**Cosa fare:**

971 977 

972* Eseguite il comando configurato in `apiKeyHelper` direttamente nella Vostra shell per riprodurre l'errore978* Esegui direttamente nella tua shell il comando configurato in `apiKeyHelper` per riprodurre l'errore

973* Se il comando segnala una sessione scaduta, riauthenticate con il Vostro provider di credenziali, ad esempio accedendo di nuovo al Vostro SSO o vault di segreti979* Se il comando segnala una sessione scaduta, autenticati di nuovo con il tuo provider di credenziali, ad esempio accedendo di nuovo al tuo SSO o al tuo vault dei segreti

974* Correggete il comando in modo che stampi solo la chiave su stdout, come un singolo token di ASCII stampabile fino a 16.384 caratteri, e uscite con codice 0. Vedete [ruotare le credenziali con apiKeyHelper](/docs/it/llm-gateway-connect#rotate-credentials-with-apikeyhelper) per una configurazione funzionante.980* Correggi il comando in modo che stampi su stdout solo la chiave, come un singolo token di ASCII stampabile fino a 16.384 caratteri, e termini con codice 0. Consulta [ruotare le credenziali con apiKeyHelper](/docs/it/llm-gateway-connect#rotate-credentials-with-apikeyhelper) per una configurazione funzionante.

975* Eseguite `/status` per vedere l'errore e confermare che `apiKeyHelper` sia la fonte di credenziale attiva. La riga `apiKeyHelper` mostra `Failing` con il dettaglio dell'ultimo errore, come il codice di uscita e l'output di errore del comando, e scompare dopo il prossimo esecuzione riuscita. Prima della v2.1.274, `/status` mostrava solo la fonte di credenziale, non l'errore.981* Esegui `/status` per vedere l'errore e verificare che `apiKeyHelper` sia l'origine delle credenziali attiva. La riga `apiKeyHelper` mostra `Failing` con i dettagli dell'ultimo errore, come il codice di uscita e l'output di errore del comando, e scompare dopo la successiva esecuzione riuscita. Prima della v2.1.274, `/status` mostrava solo l'origine delle credenziali, non l'errore.

976* Ogni volta che il comando fallisce, il suo codice di uscita e l'output di errore appaiono anche in un pannello `Authentication` nel terminale. Prima della v2.1.212, il pannello era intitolato `Cloud authentication`.982* Ogni volta che il comando fallisce, il suo codice di uscita e l'output di errore appaiono anche in un pannello `Authentication` nel terminale. Prima della v2.1.212, il pannello si chiamava `Cloud authentication`.

977 983 

978<h3 id="invalid-request-header-value">984<h3 id="invalid-request-header-value">

979 Valore di intestazione di richiesta non valido985 Valore dell'intestazione della richiesta non valido

980</h3>986</h3>

981 987 

982Un valore che Claude Code stava per inviare come intestazione di richiesta contiene un carattere che le intestazioni HTTP non possono trasportare: un'interruzione di riga, un byte NUL o un carattere sopra `U+00FF`, come una virgoletta ricurva o uno spazio di larghezza zero. Claude Code ferma la richiesta prima che qualsiasi cosa sia inviata e nomina la variabile o l'impostazione da correggere. La causa usuale è una credenziale incollata da un documento o chat che trasportava un carattere invisibile o un'interruzione di riga errata.988Un valore che Claude Code stava per inviare come intestazione di una richiesta contiene un carattere che le intestazioni HTTP non possono trasportare: un'interruzione di riga, un byte NUL o un carattere oltre `U+00FF`, come una virgoletta curva o uno spazio a larghezza zero. Claude Code ferma la richiesta prima che venga inviato qualsiasi cosa e indica la variabile o l'impostazione da correggere. La causa tipica è una credenziale incollata da un documento o da una chat che conteneva un carattere invisibile o un'interruzione di riga accidentale.

983 989 

984Claude Code esegue questo controllo quando invia richieste all'API Claude direttamente o attraverso un [gateway LLM](/docs/it/llm-gateway). Su un provider cloud di terze parti come [Amazon Bedrock](/docs/it/amazon-bedrock), Claude Code non lo esegue prima di inviare.990Claude Code esegue questo controllo quando invia richieste all'API Claude direttamente o tramite un [gateway LLM](/docs/it/llm-gateway). Su un provider cloud di terze parti come [Amazon Bedrock](/docs/it/amazon-bedrock), Claude Code non lo esegue prima dell'invio.

985 991 

986```text theme={null}992```text theme={null}

987Invalid auth token · Fix external auth token993Invalid auth token · Fix external auth token


989Invalid request header from the environment · Fix the environment variable995Invalid request header from the environment · Fix the environment variable

990```996```

991 997 

992La prima parte del messaggio dipende da dove proviene il valore errato:998La prima parte del messaggio dipende dalla provenienza del valore errato:

993 999 

994* `Invalid auth token`: un token bearer da [`ANTHROPIC_AUTH_TOKEN`](/docs/it/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars)1000* `Invalid auth token`: un bearer token da [`ANTHROPIC_AUTH_TOKEN`](/docs/it/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars)

995* `Invalid ANTHROPIC_CUSTOM_HEADERS`: un nome o valore di intestazione che avete impostato in [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars). La descrizione conta quale coppia `Name: Value` è in colpa, come `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, senza ripetere il nome o il valore, poiché li avete scelti entrambi.1001* `Invalid ANTHROPIC_CUSTOM_HEADERS`: un nome o un valore di intestazione che hai impostato in [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars). La descrizione indica con un numero quale coppia `Name: Value` è responsabile, ad esempio `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, senza ripetere il nome o il valore, dato che li hai scelti entrambi tu.

996* `Invalid request header from the environment`: un valore che Claude Code copia in un'intestazione di richiesta da un'altra variabile d'ambiente, come `CLAUDE_AGENT_SDK_CLIENT_APP`. La descrizione nomina la variabile da correggere.1002* `Invalid request header from the environment`: un valore che Claude Code copia in un'intestazione della richiesta da un'altra variabile d'ambiente, come `CLAUDE_AGENT_SDK_CLIENT_APP`. La descrizione indica la variabile da correggere.

997 1003 

998Claude Code segnala un `ANTHROPIC_API_KEY` errato catturato da questo controllo come [Chiave API non valida](#invalid-api-key), con la stessa descrizione finale. Segnala una credenziale `/login` salvata errata come [Non connesso](#not-logged-in) invece; eseguite `/login` per salvarne una nuova. L'output di uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) non raggiunge mai questo controllo: Claude Code lo convalida quando lo script viene eseguito e l'output che un'intestazione HTTP non può trasportare fallisce con [Lo script apiKeyHelper non funziona](#your-apikeyhelper-script-is-failing).1004Claude Code segnala una `ANTHROPIC_API_KEY` errata intercettata da questo controllo come [Chiave API non valida](#invalid-api-key), con la stessa descrizione finale. Segnala invece una credenziale `/login` salvata errata come [Non hai effettuato l'accesso](#not-logged-in); esegui `/login` per salvarne una nuova. L'output di uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) non raggiunge mai questo controllo: Claude Code lo convalida quando lo script viene eseguito, e un output che un'intestazione HTTP non può trasportare fallisce con [Il tuo script apiKeyHelper non funziona](#your-apikeyhelper-script-is-failing).

999 1005 

1000Dopo il secondo `·`, il messaggio descrive il problema, come in questo esempio completo:1006Dopo il secondo `·`, il messaggio descrive il problema, come in questo esempio completo:

1001 1007 


1003Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).1009Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

1004```1010```

1005 1011 

1006Le posizioni contano i caratteri a partire da uno. La descrizione è costruita da frasi fisse e conteggi di caratteri, quindi non include mai il valore stesso. Nomina il carattere offensivo solo quando è un carattere invisibile o tipografico ben noto, come un byte order mark, uno spazio di larghezza zero o una virgoletta ricurva, e segnala tutto il resto come `a non-ASCII character`.1012Le posizioni contano i caratteri a partire da uno. La descrizione è costruita con frasi fisse e conteggi di caratteri, quindi non include mai il valore stesso. Nomina il carattere problematico solo quando si tratta di un carattere invisibile o tipografico ben noto, come un byte-order mark, uno spazio a larghezza zero o una virgoletta curva, e segnala qualsiasi altro carattere come `a non-ASCII character`.

1007 1013 

1008**Cosa fare:**1014**Cosa fare:**

1009 1015 

1010* Reimpostate la variabile o l'impostazione che il messaggio nomina, riscrivendo i caratteri intorno alla posizione segnalata piuttosto che incollando dalla stessa fonte di nuovo1016* Imposta di nuovo la variabile o l'impostazione indicata dal messaggio, ridigitando i caratteri intorno alla posizione segnalata anziché incollarli di nuovo dalla stessa origine

1011* Per `ANTHROPIC_CUSTOM_HEADERS`, mantenete una coppia `Name: Value` per riga e riscritte la coppia che il messaggio conta1017* Per `ANTHROPIC_CUSTOM_HEADERS`, mantieni una coppia `Name: Value` per riga e riscrivi la coppia indicata dal messaggio

1012* Eseguite `/status` per confermare quale fonte di credenziale è attiva1018* Esegui `/status` per verificare quale origine delle credenziali è attiva

1013 1019 

1014<h3 id="this-organization-has-been-disabled">1020<h3 id="this-organization-has-been-disabled">

1015 Questa organizzazione è stata disabilitata1021 Questa organizzazione è stata disabilitata

1016</h3>1022</h3>

1017 1023 

1018Claude Code sta utilizzando un `ANTHROPIC_API_KEY` obsoleto da un'organizzazione Console disabilitata. Quando avete un login di abbonamento salvato, la chiave lo sostituisce.1024Claude Code sta usando una `ANTHROPIC_API_KEY` obsoleta proveniente da un'organizzazione Console disabilitata. Quando hai un accesso con abbonamento salvato, la chiave ha la precedenza su di esso.

1019 1025 

1020```text theme={null}1026```text theme={null}

1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1027Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead


1023API Error: 400 ... This organization has been disabled.1029API Error: 400 ... This organization has been disabled.

1024```1030```

1025 1031 

1026Il suggerimento dopo il `·` dipende dalle Vostre credenziali salvate: la prima forma appare quando un `/login` memorizzato può subentrare dopo aver annullato l'impostazione della chiave, e la seconda quando la chiave è la Vostra unica credenziale.1032Il suggerimento dopo il `·` dipende dalle tue credenziali salvate: la prima forma appare quando un `/login` memorizzato può subentrare dopo che hai rimosso la chiave, la seconda quando la chiave è la tua unica credenziale.

1027 1033 

1028Le variabili d'ambiente hanno la precedenza su `/login`, quindi una chiave esportata nel Vostro profilo shell o caricata da un file `.env` è utilizzata anche quando avete un abbonamento Pro o Max funzionante. In modalità non interattiva (`-p`), la chiave è sempre utilizzata quando presente.1034Le variabili d'ambiente hanno la precedenza su `/login`, quindi una chiave esportata nel profilo della tua shell o caricata da un file `.env` viene usata anche quando hai un abbonamento Pro o Max funzionante. In modalità non interattiva (`-p`), la chiave viene sempre usata quando è presente.

1029 1035 

1030**Cosa fare:**1036**Cosa fare:**

1031 1037 

1032* Annullate l'impostazione di `ANTHROPIC_API_KEY` nella shell corrente e rimuovetela dal Vostro profilo shell, quindi riavviate `claude`1038* Rimuovi `ANTHROPIC_API_KEY` nella shell corrente e dal profilo della tua shell, poi riavvia `claude`

1033* Se il messaggio dice `Update or unset`, non avete un login salvato su cui ricadere. Annullate l'impostazione della chiave ed eseguite `/login`, oppure sostituite la chiave con una da un'organizzazione Console attiva.1039* Se il messaggio dice `Update or unset`, non hai un accesso salvato su cui ripiegare. Rimuovi la chiave ed esegui `/login`, oppure sostituisci la chiave con una di un'organizzazione Console attiva.

1034* Eseguite `/status` in seguito per confermare che la credenziale attiva sia il Vostro abbonamento1040* Esegui poi `/status` per verificare che la credenziale attiva sia il tuo abbonamento

1035* Se nessuna variabile d'ambiente è impostata e l'errore persiste, contattate il supporto o accedete con un account diverso.1041* Se nessuna variabile d'ambiente è impostata e l'errore persiste, contatta l'assistenza o accedi con un account diverso.

1036 1042 

1037<h3 id="your-organization-has-disabled-api-key-authentication">1043<h3 id="your-organization-has-disabled-api-key-authentication">

1038 La Vostra organizzazione ha disabilitato l'autenticazione con chiave API1044 La tua organizzazione ha disabilitato l'autenticazione con chiave API

1039</h3>1045</h3>

1040 1046 

1041Questo messaggio richiede Claude Code v2.1.169 o successiva. L'amministratore dell'organizzazione Console ha disattivato l'autenticazione con chiave API, quindi l'API rifiuta la chiave che Claude Code sta inviando. Il suggerimento di recupero dopo il `·` varia a seconda di dove proviene la chiave:1047Questo messaggio richiede Claude Code v2.1.169 o successiva. L'amministratore della tua organizzazione Console ha disattivato l'autenticazione con chiave API, quindi l'API rifiuta la chiave che Claude Code sta inviando. Il suggerimento di ripristino dopo il `·` varia a seconda della provenienza della chiave:

1042 1048 

1043```text theme={null}1049```text theme={null}

1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1050Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account


1048Your organization has disabled API key authentication · Sign in again with your claude.ai account1054Your organization has disabled API key authentication · Sign in again with your claude.ai account

1049```1055```

1050 1056 

1051L'ultima forma appare in una sessione che l'app Claude Desktop esegue, come la scheda Code o Cowork, dove vi accedete di nuovo dall'app.1057L'ultima forma appare in una sessione eseguita dall'app Claude Desktop, come la scheda Code o Cowork, dove devi accedere di nuovo dall'app.

1052 1058 

1053Le variabili d'ambiente e `apiKeyHelper` hanno la precedenza su `/login`, quindi eseguire `/login` da solo non aiuta mentre uno dei due sta ancora fornendo una chiave. Vedete [Precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence).1059Le variabili d'ambiente e `apiKeyHelper` hanno la precedenza su `/login`, quindi eseguire solo `/login` non aiuta finché una delle due fornisce ancora una chiave. Consulta [Precedenza di autenticazione](/docs/it/authentication#authentication-precedence).

1054 1060 

1055**Cosa fare:**1061**Cosa fare:**

1056 1062 

1057* Se il messaggio nomina `ANTHROPIC_API_KEY`, annullate l'impostazione nella shell corrente e rimuovetela dal Vostro profilo shell o file `.env`, quindi riavviate `claude`1063* Se il messaggio nomina `ANTHROPIC_API_KEY`, rimuovila nella shell corrente e dal profilo della tua shell o dal file `.env`, poi riavvia `claude`

1058* Se il messaggio nomina `apiKeyHelper`, rimuovete l'impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) dal Vostro `settings.json`1064* Se il messaggio nomina `apiKeyHelper`, rimuovi l'impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) dal tuo `settings.json`

1059* Eseguite `/login` per accedere con il Vostro account claude.ai1065* Esegui `/login` per accedere con il tuo account claude.ai

1060* Eseguite `/status` in seguito per confermare che la credenziale attiva sia il Vostro abbonamento piuttosto che una chiave API1066* Esegui poi `/status` per verificare che la credenziale attiva sia il tuo abbonamento e non una chiave API

1061* Se avete bisogno dell'autenticazione con chiave API per l'automazione, chiedete all'amministratore dell'organizzazione di riattivarla nella Console1067* Se ti serve l'autenticazione con chiave API per le automazioni, chiedi all'amministratore della tua organizzazione di riabilitarla nella Console

1062 1068 

1063<h3 id="your-organization-has-disabled-claude-subscription-access">1069<h3 id="your-organization-has-disabled-claude-subscription-access">

1064 La Vostra organizzazione ha disabilitato l'accesso all'abbonamento Claude1070 La tua organizzazione ha disabilitato l'accesso tramite abbonamento Claude

1065</h3>1071</h3>

1066 1072 

1067La Vostra organizzazione Claude non consente l'accesso a Claude Code con un login di abbonamento. L'esecuzione di `/login` di nuovo con lo stesso account restituisce lo stesso errore.1073La tua organizzazione Claude non consente di accedere a Claude Code con un accesso tramite abbonamento. Eseguire di nuovo `/login` con lo stesso account restituisce lo stesso errore.

1068 1074 

1069```text theme={null}1075```text theme={null}

1070Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1076Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1071```1077```

1072 1078 

1073Questa è un'impostazione dell'organizzazione lato server, quindi non può essere ignorata dalle impostazioni locali, dalle variabili d'ambiente o dai flag CLI.1079Si tratta di un'impostazione dell'organizzazione lato server, quindi non può essere sovrascritta da impostazioni locali, variabili d'ambiente o flag della CLI.

1074 1080 

1075Agent SDK e la modalità non interattiva `-p` presentano questo come il codice di errore `oauth_org_not_allowed`.1081L'Agent SDK e la modalità non interattiva `-p` lo segnalano con il codice di errore `oauth_org_not_allowed`.

1076 1082 

1077**Cosa fare:**1083**Cosa fare:**

1078 1084 

1079* Chiedete al Vostro amministratore di abilitare l'accesso a Claude Code per la Vostra organizzazione1085* Chiedi al tuo amministratore di abilitare l'accesso a Claude Code per la tua organizzazione

1080* Autenticate con una chiave API Console invece del Vostro abbonamento. Vedete [Autenticazione Claude Console](/docs/it/authentication#claude-console-authentication) per la configurazione.1086* Autenticati con una chiave API della Console invece che con il tuo abbonamento. Consulta [Autenticazione con Claude Console](/docs/it/authentication#claude-console-authentication) per la configurazione.

1081* Se siete l'amministratore e non vedete un'opzione per abilitare l'accesso, contattate il [supporto Anthropic](https://support.claude.com)1087* Se sei l'amministratore e non vedi un'opzione per abilitare l'accesso, contatta l'[assistenza Anthropic](https://support.claude.com)

1082 1088 

1083<h3 id="routines-are-disabled-by-your-organizations-policy">1089<h3 id="routines-are-disabled-by-your-organizations-policy">

1084 Le routine sono disabilitate dalla politica dell'organizzazione1090 Le routine sono disabilitate dai criteri della tua organizzazione

1085</h3>1091</h3>

1086 1092 

1087Un Proprietario nella Vostra organizzazione Team o Enterprise ha disattivato le routine a livello di organizzazione. L'errore appare quando tentate di creare o eseguire una routine, ad esempio dall'interfaccia utente [Routine](/docs/it/routines) su claude.ai/code. Su Claude Code v2.1.227 o successiva, la stessa impostazione [nasconde anche `/schedule`](/docs/it/routines#troubleshooting) nella CLI.1093Un Owner della tua organizzazione Team o Enterprise ha disattivato le routine a livello di organizzazione. L'errore appare quando provi a creare o eseguire una routine, ad esempio dall'interfaccia [Routine](/docs/it/routines) su claude.ai/code. In Claude Code v2.1.227 o successiva, la stessa impostazione [nasconde anche `/schedule`](/docs/it/routines#troubleshooting) nella CLI.

1088 1094 

1089```text theme={null}1095```text theme={null}

1090Routines are disabled by your organization's policy.1096Routines are disabled by your organization's policy.

1091```1097```

1092 1098 

1093Questa è un'impostazione lato server, quindi non può essere ignorata dalle impostazioni locali, dalle variabili d'ambiente o dai flag CLI.1099Si tratta di un'impostazione lato server, quindi non può essere sovrascritta da impostazioni locali, variabili d'ambiente o flag della CLI.

1094 1100 

1095**Cosa fare:**1101**Cosa fare:**

1096 1102 

1097* Chiedete a un Proprietario nella Vostra organizzazione di abilitare l'interruttore **Routines** su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)1103* Chiedi a un Owner della tua organizzazione di attivare l'interruttore **Routines** su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

1098* Per lavoro programmato una tantum che non richiede routine a livello di organizzazione, vedete [attività programmate](/docs/it/scheduled-tasks)1104* Per lavori pianificati occasionali che non richiedono routine a livello di organizzazione, consulta [attività pianificate](/docs/it/scheduled-tasks)

1099 1105 

1100<h3 id="remote-control-requires-the-anthropic-api">1106<h3 id="remote-control-requires-the-anthropic-api">

1101 Remote Control richiede l'API Anthropic1107 Remote Control richiede l'API Anthropic

1102</h3>1108</h3>

1103 1109 

1104La sessione non sta parlando direttamente all'API Anthropic, che [Remote Control](/docs/it/remote-control) richiede.1110La sessione non comunica direttamente con l'API Anthropic, come richiesto da [Remote Control](/docs/it/remote-control).

1105 1111 

1106```text theme={null}1112```text theme={null}

1107Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1113Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.

1108```1114```

1109 1115 

1110Una seconda frase spiega cosa ha instradato la sessione lontano dall'API Anthropic; prima della v2.1.219, il messaggio era solo la prima frase. A seconda della causa, il messaggio nomina:1116Una seconda frase spiega cosa ha instradato la sessione lontano dall'API Anthropic; prima della v2.1.219, il messaggio era composto solo dalla prima frase. A seconda della causa, il messaggio nomina:

1111 1117 

1112* Una variabile del provider `CLAUDE_CODE_USE_*`, come `CLAUDE_CODE_USE_BEDROCK` per [Amazon Bedrock](/docs/it/amazon-bedrock) o `CLAUDE_CODE_USE_VERTEX` per [Agent Platform di Google Cloud](/docs/it/google-vertex-ai)1118* Una variabile di provider `CLAUDE_CODE_USE_*`, come `CLAUDE_CODE_USE_BEDROCK` per [Amazon Bedrock](/docs/it/amazon-bedrock) o `CLAUDE_CODE_USE_VERTEX` per [Agent Platform di Google Cloud](/docs/it/google-vertex-ai)

1113* [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) che punta a un host diverso da `api.anthropic.com`, come un [gateway LLM](/docs/it/llm-gateway) o proxy, anche quando vi accedete con claude.ai; prima della v2.1.196, un URL di base personalizzato non bloccava Remote Control1119* [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) che punta a un host diverso da `api.anthropic.com`, come un [gateway LLM](/docs/it/llm-gateway) o un proxy, anche quando accedi con claude.ai; prima della v2.1.196, un URL di base personalizzato non bloccava Remote Control

1114* `ANTHROPIC_UNIX_SOCKET` impostato, quindi la sessione invia le sue richieste attraverso un socket locale piuttosto che a `api.anthropic.com`1120* `ANTHROPIC_UNIX_SOCKET` impostata, per cui la sessione invia le sue richieste tramite un socket locale anziché a `api.anthropic.com`

1115* Un accesso [gateway cloud](/docs/it/claude-apps-gateway) aziendale effettuato tramite `/login`, che non supporta Remote Control e non ha alcuna variabile da annullare1121* Un accesso a un [gateway cloud](/docs/it/claude-apps-gateway) aziendale effettuato tramite `/login`, che non supporta Remote Control e non ha alcuna variabile da rimuovere

1116 1122 

1117**Cosa fare:**1123**Cosa fare:**

1118 1124 

1119* Annullate l'impostazione della variabile che il messaggio nomina, come `CLAUDE_CODE_USE_BEDROCK` o `ANTHROPIC_BASE_URL`, e riavviate la sessione, oppure avviate Remote Control da una sessione che parla direttamente all'API Anthropic1125* Rimuovi la variabile indicata dal messaggio, come `CLAUDE_CODE_USE_BEDROCK` o `ANTHROPIC_BASE_URL`, e riavvia la sessione, oppure avvia Remote Control da una sessione che comunica direttamente con l'API Anthropic

1120* Se la variabile non è impostata nella Vostra shell, controllate la chiave `env` nei Vostri [file di impostazioni](/docs/it/settings#where-settings-live), che applica le variabili d'ambiente a ogni sessione1126* Se la variabile non è impostata nella tua shell, controlla la chiave `env` nei tuoi [file di impostazioni](/docs/it/settings#where-settings-live), che applica variabili d'ambiente a ogni sessione

1121* Per questo e gli altri messaggi di avvio di Remote Control, vedete [Risolvere i problemi di Remote Control](/docs/it/remote-control#troubleshooting)1127* Per questo e per gli altri messaggi di avvio di Remote Control, consulta [Risoluzione dei problemi di Remote Control](/docs/it/remote-control#troubleshooting)

1122 1128 

1123<h3 id="remote-control-couldnt-refresh-your-login">1129<h3 id="remote-control-couldnt-refresh-your-login">

1124 Remote Control non ha potuto aggiornare il Vostro login1130 Remote Control non è riuscito ad aggiornare il tuo accesso

1125</h3>1131</h3>

1126 1132 

1127Claude Code esegue una connessione [Remote Control](/docs/it/remote-control) dal vivo su credenziali di breve durata che ottiene e rinnova utilizzando il Vostro login claude.ai salvato. Quando claude.ai smette di accettare quel login, o Claude Code non ha più alcun login salvato, Claude Code ferma Remote Control e ha bisogno che vi accediate di nuovo. Uno qualsiasi dei due errori può accadere mentre Claude Code sta ancora connettendosi o più tardi, quando rinnova le credenziali.1133Claude Code mantiene una connessione [Remote Control](/docs/it/remote-control) attiva con credenziali a breve durata che ottiene e rinnova usando il tuo accesso claude.ai salvato. Quando claude.ai smette di accettare quell'accesso, o Claude Code non ha più alcun accesso salvato, Claude Code interrompe Remote Control e ti chiede di accedere di nuovo. Entrambi gli errori possono verificarsi mentre Claude Code si sta ancora connettendo oppure più tardi, quando rinnova le credenziali.

1128 1134 

1129Quando Claude Code chiede al servizio di login di aggiornare il Vostro login salvato e non riceve risposta, mantiene Remote Control in esecuzione e ritenta l'aggiornamento mentre la credenziale corrente della connessione è ancora valida. Un aggiornamento non riceve risposta quando Claude Code non può raggiungere il servizio di login, la richiesta scade o il servizio fallisce senza rifiutare il Vostro login. Se il servizio di login non sta ancora rispondendo quando quella credenziale scade, Claude Code ferma Remote Control e segnala `OAuth token refresh failed`.1135Quando Claude Code chiede al servizio di accesso di aggiornare il tuo accesso salvato e non riceve risposta, mantiene Remote Control in esecuzione e riprova l'aggiornamento finché la credenziale corrente della connessione è ancora valida. Un aggiornamento non riceve risposta quando Claude Code non riesce a raggiungere il servizio di accesso, la richiesta va in timeout o il servizio fallisce senza rifiutare il tuo accesso. Se il servizio di accesso continua a non rispondere quando quella credenziale scade, Claude Code interrompe Remote Control e segnala `OAuth token refresh failed`.

1130 1136 

1131Quando Claude Code ferma Remote Control, mostra il motivo in un avviso e in una riga di trascrizione che inizia con `Remote Control disconnected`. La Vostra sessione locale continua a funzionare senza Remote Control. Questa sezione copre queste righe:1137Quando Claude Code interrompe Remote Control, mostra il motivo in un avviso e in una riga della trascrizione che inizia con `Remote Control disconnected`. La tua sessione locale continua a funzionare senza Remote Control. Questa sezione tratta queste righe:

1132 1138 

1133```text theme={null}1139```text theme={null}

1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1140Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1140Remote Control disconnected — Signed out of Claude — run /login, then /remote-control1146Remote Control disconnected — Signed out of Claude — run /login, then /remote-control

1141```1147```

1142 1148 

1143Claude Code nomina la causa nel mezzo del messaggio:1149Claude Code indica la causa nella parte centrale del messaggio:

1144 1150 

1145* `Claude.ai login expired` e `Claude.ai login was rejected`: claude.ai non accetta più il Vostro token di login salvato, perché è scaduto o è stato revocato1151* `Claude.ai login expired` e `Claude.ai login was rejected`: claude.ai non accetta più il token di accesso salvato, perché è scaduto o è stato revocato

1146* `OAuth token unavailable`: Claude Code non aveva alcun token di login salvato quando la credenziale della connessione è scaduta per il rinnovo1152* `OAuth token unavailable`: Claude Code non aveva alcun token di accesso salvato quando la credenziale della connessione doveva essere rinnovata

1147* `OAuth token refresh failed`: claude.ai ha rifiutato il Vostro token di login salvato mentre Claude Code stava riconnettendosi e l'aggiornamento del token non ha prodotto uno nuovo1153* `OAuth token refresh failed`: claude.ai ha rifiutato il tuo token di accesso salvato mentre Claude Code si stava riconnettendo, e l'aggiornamento del token non ne ha prodotto uno nuovo

1148* `JWT refresh failed: no OAuth token`: Claude Code non ha trovato alcun token di login salvato per rinnovare1154* `JWT refresh failed: no OAuth token`: Claude Code non ha trovato alcun token di accesso salvato con cui effettuare il rinnovo

1149* `Signed out of Claude`: vi siete disconnessi su questa macchina, ad esempio eseguendo `/logout` in un altro terminale, quindi Claude Code non ha alcun login salvato rimasto per rinnovare la connessione1155* `Signed out of Claude`: sei uscito su questa macchina, ad esempio eseguendo `/logout` in un altro terminale, quindi Claude Code non ha più alcun accesso salvato con cui rinnovare la connessione

1150 1156 

1151**Cosa fare:**1157**Cosa fare:**

1152 1158 

1153* Eseguite `/login` per accedere di nuovo1159* Esegui `/login` per accedere di nuovo

1154* Eseguite `/remote-control` per riconnettere la sessione. I messaggi che terminano con `run /login to restore Remote Control` non hanno bisogno di questo passaggio: Claude Code si riconnette automaticamente una volta che vi siete acceduti.1160* Esegui `/remote-control` per riconnettere la sessione. I messaggi che terminano con `run /login to restore Remote Control` non richiedono questo passaggio: Claude Code si riconnette da solo una volta che hai effettuato l'accesso.

1155 1161 

1156Prima della v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` leggeva `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` leggeva `no OAuth token available for recovery (code <N>)`. I messaggi `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` sono stati aggiunti nella v2.1.225.1162Prima della v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` era `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` era `no OAuth token available for recovery (code <N>)`. I messaggi `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` sono stati aggiunti nella v2.1.225.

1157 1163 

1158Prima della v2.1.238, Claude Code segnalava i casi che ora dicono `Signed out of Claude` come `JWT refresh failed: no OAuth token — run /login`, e fermava Remote Control con `Claude.ai login expired — run /login to restore Remote Control` non appena un aggiornamento di login non riceveva risposta.1164Prima della v2.1.238, Claude Code segnalava i casi che ora indicano `Signed out of Claude` come `JWT refresh failed: no OAuth token — run /login`, e interrompeva Remote Control con `Claude.ai login expired — run /login to restore Remote Control` non appena un aggiornamento dell'accesso non riceveva risposta.

1159 1165 

1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1166<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1161 Remote Control si è fermato perché l'account connesso è cambiato1167 Remote Control interrotto perché l'account con cui hai effettuato l'accesso è cambiato

1162</h3>1168</h3>

1163 1169 

1164Claude Code mostra questa riga durante una sessione [Remote Control](/docs/it/remote-control) quando vi accedete a un account claude.ai diverso o a un'organizzazione diversa su questa macchina. Avete effettuato il cambio al di fuori della sessione Claude Code, ad esempio eseguendo `/login` in un altro terminale.1170Claude Code mostra questa riga durante una sessione [Remote Control](/docs/it/remote-control) quando accedi a un account o a un'organizzazione claude.ai diversi su questa macchina. Hai effettuato il cambio al di fuori della sessione di Claude Code, ad esempio eseguendo `/login` in un altro terminale.

1165 1171 

1166Una sessione Remote Control che avete avviato mentre eravate connessi tramite `/login` appartiene all'account claude.ai e all'organizzazione che erano connessi al momento.1172Una sessione Remote Control avviata mentre eri connesso tramite `/login` appartiene all'account e all'organizzazione claude.ai con cui avevi effettuato l'accesso in quel momento.

1167 1173 

1168```text theme={null}1174```text theme={null}

1169Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1175Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control

1170```1176```

1171 1177 

1172Claude Code ferma la sessione Remote Control non appena claude.ai conferma che l'account o l'organizzazione è cambiato. La Vostra sessione locale continua a funzionare senza Remote Control.1178Claude Code interrompe la sessione Remote Control non appena claude.ai conferma che l'account o l'organizzazione sono cambiati. La tua sessione locale continua a funzionare senza Remote Control.

1173 1179 

1174**Cosa fare:**1180**Cosa fare:**

1175 1181 

1176* Eseguite `/remote-control` per avviare una nuova sessione Remote Control con l'account o l'organizzazione corrente1182* Esegui `/remote-control` per avviare una nuova sessione Remote Control con l'account o l'organizzazione corrente

1177* Per tornare indietro, eseguite `/login` e accedete di nuovo all'account o all'organizzazione precedente. Quindi eseguite `/remote-control`.1183* Per tornare indietro, esegui `/login` e accedi di nuovo all'account o all'organizzazione precedente. Poi esegui `/remote-control`.

1178 1184 

1179Prima della v2.1.234, Claude Code non notava quando vi passavate a un account o un'organizzazione diversa al di fuori della sessione Claude Code. Claude Code manteneva la sessione Remote Control connessa fino a quando una richiesta successiva al server Remote Control non falliva con `Remote Control server rejected the request (HTTP 404)`. Quel fallimento potrebbe arrivare ore dopo il cambio.1185Prima della v2.1.234, Claude Code non si accorgeva del passaggio a un account o a un'organizzazione diversi al di fuori della sessione di Claude Code. Claude Code manteneva la sessione Remote Control connessa finché una richiesta successiva al server Remote Control non falliva con `Remote Control server rejected the request (HTTP 404)`. Quell'errore poteva arrivare ore dopo il cambio.

1180 1186 

1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1187<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1182 Remote Control si è fermato perché l'app che esegue la sessione si è disconnessa o ha cambiato account1188 Remote Control interrotto perché l'app che esegue la sessione è uscita o ha cambiato account

1183</h3>1189</h3>

1184 1190 

1185Quando l'app desktop Claude o un IDE ospita la Vostra sessione, Claude Code ottiene il Vostro token di login da quell'app piuttosto che da `/login`. Quando claude.ai rifiuta quel token, Claude Code chiede all'app uno nuovo. Se l'app risponde che è disconnessa, o che è ora connessa a un account Claude diverso, Claude Code termina la sessione [Remote Control](/docs/it/remote-control) e invia all'app una di queste righe:1191Quando l'app desktop di Claude o un IDE ospita la tua sessione, Claude Code ottiene il token di accesso da quell'app anziché da `/login`. Quando claude.ai rifiuta quel token, Claude Code ne chiede uno nuovo all'app. Se l'app risponde di essere uscita, o di aver ora effettuato l'accesso a un account Claude diverso, Claude Code termina la sessione [Remote Control](/docs/it/remote-control) e invia all'app una di queste righe:

1186 1192 

1187```text theme={null}1193```text theme={null}

1188Remote Control stopped — the app running this session is now signed in to a different Claude account1194Remote Control stopped — the app running this session is now signed in to a different Claude account

1189Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on1195Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1190```1196```

1191 1197 

1192La Vostra sessione locale continua a funzionare senza Remote Control.1198La tua sessione locale continua a funzionare senza Remote Control.

1193 1199 

1194**Cosa fare:**1200**Cosa fare:**

1195 1201 

1196* Se l'app è disconnessa, accedete di nuovo, quindi riattivate Remote Control nell'app1202* Se l'app è uscita, accedi di nuovo all'app, poi riattiva Remote Control nell'app

1197* Se l'app ha cambiato account, Claude Code non può continuare la sessione terminata con il nuovo account. Avviate una nuova sessione Remote Control con quell'account.1203* Se l'app ha cambiato account, Claude Code non può proseguire la sessione terminata con il nuovo account. Avvia una nuova sessione Remote Control con quell'account.

1198 1204 

1199Prima della v2.1.238, Claude Code inviava all'app i messaggi `run /login` elencati sotto [Remote Control non ha potuto aggiornare il Vostro login](#remote-control-couldnt-refresh-your-login) in entrambi i casi.1205Prima della v2.1.238, in entrambi i casi Claude Code inviava all'app i messaggi `run /login` elencati in [Remote Control non è riuscito ad aggiornare il tuo accesso](#remote-control-couldnt-refresh-your-login).

1200 1206 

1201<h3 id="oauth-token-revoked-or-expired">1207<h3 id="oauth-token-revoked-or-expired">

1202 Token OAuth revocato o scaduto1208 Token OAuth revocato o scaduto

1203</h3>1209</h3>

1204 1210 

1205Il Vostro login salvato non è più valido. Un token revocato significa che vi siete disconnessi ovunque o un amministratore ha rimosso l'accesso; un token scaduto significa che l'aggiornamento automatico è fallito a metà sessione.1211Il tuo accesso salvato non è più valido. Un token revocato significa che sei uscito ovunque o che un amministratore ha rimosso l'accesso; un token scaduto significa che l'aggiornamento automatico non è riuscito durante la sessione.

1206 1212 

1207Entrambi i messaggi segnalano un rifiuto che l'API ha restituito per una richiesta che Claude Code ha inviato. Quando il login salvato è già stato cancellato dopo un aggiornamento fallito, vedete [Login scaduto](#login-expired) invece. Se vi autenticate con un token di lunga durata in [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars), vedete gli stessi messaggi quando quel token scade o viene revocato.1213Entrambi i messaggi riportano un rifiuto restituito dall'API per una richiesta inviata da Claude Code. Quando l'accesso salvato è già stato cancellato dopo un aggiornamento non riuscito, vedi invece [Accesso scaduto](#login-expired). Se ti autentichi con un token a lunga durata in [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars), vedi gli stessi messaggi quando quel token scade o viene revocato.

1208 1214 

1209```text theme={null}1215```text theme={null}

1210OAuth token revoked · Please run /login1216OAuth token revoked · Please run /login


1213 1219 

1214**Cosa fare:**1220**Cosa fare:**

1215 1221 

1216* Eseguite `/login` per accedere di nuovo1222* Esegui `/login` per accedere di nuovo

1217* Se vi autenticate con la variabile d'ambiente `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code continua a inviare il valore che avete impostato dopo che una richiesta fallisce con un 401, piuttosto che passare al token di un login salvato. [`/status`](/docs/it/commands) mostra questa credenziale come una riga `Auth token` che legge `CLAUDE_CODE_OAUTH_TOKEN`. Generare un token fresco con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) e riavviare con esso, oppure annullate l'impostazione della variabile ed eseguite `/login`. Prima della v2.1.225, Claude Code poteva sostituire il valore della variabile a metà sessione con il token di accesso di breve durata da un login salvato, e la sessione falliva di nuovo con errori 401 una volta che quel token scadeva.1223* Se ti autentichi con la variabile d'ambiente `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code continua a inviare il valore che hai impostato dopo che una richiesta fallisce con un 401, anziché passare al token di un accesso memorizzato. [`/status`](/docs/it/commands) mostra questa credenziale come una riga `Auth token` con il valore `CLAUDE_CODE_OAUTH_TOKEN`. Genera un nuovo token con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) e riavvia con quello, oppure rimuovi la variabile ed esegui `/login`. Prima della v2.1.225, Claude Code poteva sostituire il valore della variabile durante la sessione con il token di accesso a breve durata di un accesso memorizzato, e la sessione falliva di nuovo con errori 401 quando quel token scadeva.

1218* Per i prompt ripetuti di accesso tra i lanci, vedete i controlli dell'orologio di sistema e i passaggi di recupero dell'archiviazione delle credenziali di macOS in [Risoluzione dei problemi](/docs/it/troubleshoot-install#not-logged-in-or-token-expired)1224* Se ti viene chiesto ripetutamente di accedere a ogni avvio, consulta i controlli dell'orologio di sistema e i passaggi di ripristino dell'archiviazione delle credenziali su macOS in [Risoluzione dei problemi](/docs/it/troubleshoot-install#not-logged-in-or-token-expired)

1219* Per altri errori inclusi `403 Forbidden` e problemi del browser OAuth, vedete [Login e autenticazione](/docs/it/troubleshoot-install#login-and-authentication)1225* Per altri errori, inclusi `403 Forbidden` e i problemi del browser con OAuth, consulta [Accesso e autenticazione](/docs/it/troubleshoot-install#login-and-authentication)

1220 1226 

1221<h3 id="api-error-401-invalid-authentication-credentials">1227<h3 id="api-error-401-invalid-authentication-credentials">

1222 API Error: 401 Credenziali di autenticazione non valide1228 API Error: 401 Invalid authentication credentials

1223</h3>1229</h3>

1224 1230 

1225L'API ha riconosciuto il formato della Vostra credenziale ma ha rifiutato l'account o l'organizzazione dietro di essa. Anthropic restituisce questo messaggio quando una credenziale è stata revocata di recente, quando un'organizzazione è stata disabilitata o ha rimosso il Vostro accesso, o quando l'account stesso è stato disattivato, quindi un token scaduto non è la causa. La credenziale può essere il Vostro login salvato o un `ANTHROPIC_API_KEY` approvato, e la correzione differisce, quindi iniziate eseguendo `/status` per vedere quale è attivo.1231L'API ha riconosciuto il formato della tua credenziale ma ha rifiutato l'account o l'organizzazione a cui appartiene. Anthropic restituisce questo messaggio quando una credenziale è stata revocata di recente, quando un'organizzazione è stata disabilitata o ha rimosso il tuo accesso, o quando l'account stesso è stato disattivato, quindi la causa non è un token scaduto. La credenziale può essere il tuo accesso salvato o una `ANTHROPIC_API_KEY` approvata, e la soluzione è diversa, quindi inizia eseguendo `/status` per vedere quale delle due è attiva.

1226 1232 

1227```text theme={null}1233```text theme={null}

1228Please run /login · API Error: 401 Invalid authentication credentials1234Please run /login · API Error: 401 Invalid authentication credentials


1230 1236 

1231**Cosa fare:**1237**Cosa fare:**

1232 1238 

1233* Se `/status` mostra una riga `API key` che non è contrassegnata come non in uso, un [`ANTHROPIC_API_KEY`](/docs/it/authentication#authentication-precedence) approvato è la credenziale attiva e ha la precedenza sul Vostro login, quindi `/login` non lo sostituisce. Ruotate la chiave nella Console Claude, oppure ricadete sul Vostro abbonamento eseguendo `unset ANTHROPIC_API_KEY`, oppure in PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.1239* Se `/status` mostra una riga `API key` che non è contrassegnata come non in uso, una [`ANTHROPIC_API_KEY`](/docs/it/authentication#authentication-precedence) approvata è la credenziale attiva e ha la precedenza sul tuo accesso, quindi `/login` non la sostituisce. Ruota la chiave nella Claude Console, oppure torna al tuo abbonamento eseguendo `unset ANTHROPIC_API_KEY`, o in PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.

1234* Se `/status` mostra solo il Vostro login, eseguite `/login` una volta. Se la credenziale è stata revocata, un login fresco la sostituisce.1240* Se `/status` mostra solo il tuo accesso, esegui `/login` una volta. Se la credenziale è stata revocata, un nuovo accesso la sostituisce.

1235* Se lo stesso messaggio ritorna per lo stesso account di login, l'account o l'organizzazione non è più attivo. Controllate l'account e l'organizzazione che `/status` segnala, e chiedete al Vostro amministratore dell'organizzazione di ripristinare l'accesso.1241* Se lo stesso messaggio ricompare per lo stesso account di accesso, l'account o l'organizzazione non sono più attivi. Controlla l'account e l'organizzazione riportati da `/status` e chiedi all'amministratore della tua organizzazione di ripristinare l'accesso.

1236* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway), il testo dopo `401` è il messaggio del Vostro gateway piuttosto che di Anthropic, e `/login` non lo cambia. Correggete invece la credenziale che il Vostro gateway si aspetta.1242* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway), il testo dopo `401` è il messaggio del tuo gateway e non di Anthropic, e `/login` non lo cambia. Correggi invece la credenziale che il tuo gateway si aspetta.

1237 1243 

1238<h3 id="login-expired">1244<h3 id="login-expired">

1239 Login scaduto1245 Accesso scaduto

1240</h3>1246</h3>

1241 1247 

1242Claude Code ha tentato di rinnovare il Vostro login claude.ai salvato e il servizio OAuth ha rifiutato il token di aggiornamento memorizzato, quindi Claude Code ha cancellato le credenziali salvate. Dopo di che, ogni richiesta di modello si ferma localmente con questo messaggio prima di raggiungere l'API, perché solo `/login` può creare nuove credenziali.1248Claude Code ha provato a rinnovare il tuo accesso claude.ai salvato e il servizio OAuth ha rifiutato il refresh token memorizzato, quindi Claude Code ha cancellato le credenziali salvate. Da quel momento, ogni richiesta al modello si ferma localmente con questo messaggio prima di raggiungere l'API, perché solo `/login` può creare nuove credenziali.

1243 1249 

1244Prima della v2.1.206, Claude Code inviava comunque la richiesta del modello con qualsiasi credenziale rimanesse nell'ambiente, e ogni modello falliva con [C'è un problema con il modello selezionato](#theres-an-issue-with-the-selected-model) o un 401 invece di un prompt per accedere.1250Prima della v2.1.206, Claude Code inviava comunque la richiesta al modello con qualunque credenziale rimanesse nell'ambiente, e ogni modello falliva quindi con [C'è un problema con il modello selezionato](#theres-an-issue-with-the-selected-model) o con un 401 anziché con una richiesta di accesso.

1245 1251 

1246```text theme={null}1252```text theme={null}

1247Login expired · Please run /login1253Login expired · Please run /login

1248```1254```

1249 1255 

1250In [modalità non interattiva](/docs/it/headless) (`-p`) e [Agent SDK](/docs/it/agent-sdk/overview), il messaggio legge come segue, e il codice di errore strutturato è `authentication_failed`:1256In [modalità non interattiva](/docs/it/headless) (`-p`) e nell'[Agent SDK](/docs/it/agent-sdk/overview), il messaggio è il seguente e il codice di errore strutturato è `authentication_failed`:

1251 1257 

1252```text theme={null}1258```text theme={null}

1253Failed to authenticate: OAuth session expired and could not be refreshed1259Failed to authenticate: OAuth session expired and could not be refreshed

1254```1260```

1255 1261 

1256Questo non è lo stesso stato di [Token OAuth revocato o scaduto](#oauth-token-revoked-or-expired). Quei messaggi segnalano un rifiuto che l'API ha restituito. Claude Code stesso produce `Login expired` per un login che ha già fallito di rinnovare, quindi non invia alcuna richiesta. Quando il rinnovo fallisce perché l'account stesso è sospeso piuttosto che il login essere obsoleto, Claude Code mostra [Il Vostro account è in sospeso](#your-account-is-on-hold) invece.1262Non è lo stesso stato di [Token OAuth revocato o scaduto](#oauth-token-revoked-or-expired). Quei messaggi riportano un rifiuto restituito dall'API. Claude Code stesso produce `Login expired` per un accesso che non è già riuscito a rinnovare, quindi non invia alcuna richiesta. Quando il rinnovo fallisce perché l'account stesso è sospeso e non perché l'accesso è obsoleto, Claude Code mostra invece [Il tuo account è sospeso](#your-account-is-on-hold).

1257 1263 

1258Le sessioni autenticate con una chiave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o un provider di terze parti non utilizzano il login salvato e non vedono mai questo messaggio.1264Le sessioni autenticate con una chiave API, con [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o con un provider di terze parti non usano l'accesso salvato e non vedono mai questo messaggio.

1259 1265 

1260Potete controllare questo stato prima che una richiesta fallisca: [`/status`](/docs/it/commands) mostra una riga `Login` che legge `Expired — log in again`, più l'organizzazione e l'email che ha salvato per il login scaduto. La riga appare solo quando il login salvato è la Vostra credenziale attiva e non può più essere rinnovato. Le sessioni autenticate in un altro modo non mostrano la riga, anche se un login scaduto rimane salvato. Prima della v2.1.210, `/status` non dava alcuna indicazione in questo stato che un login fosse mai esistito, perché la credenziale cancellata non le lasciava nulla da segnalare.1266Puoi verificare questo stato prima che una richiesta fallisca: [`/status`](/docs/it/commands) mostra una riga `Login` con il valore `Expired — log in again`, oltre all'organizzazione e all'email salvate per l'accesso scaduto. La riga appare solo quando l'accesso salvato è la tua credenziale attiva e non può più essere aggiornato. Le sessioni autenticate in altro modo non mostrano la riga, anche se rimane salvato un accesso scaduto. Prima della v2.1.210, in questo stato `/status` non dava alcuna indicazione che fosse mai esistito un accesso, perché la credenziale cancellata non lasciava nulla da riportare.

1261 1267 

1262**Cosa fare:**1268**Cosa fare:**

1263 1269 

1264* Eseguite `/login` per accedere di nuovo. Riprovare senza accedere mostra lo stesso messaggio su ogni richiesta.1270* Esegui `/login` per accedere di nuovo. Riprovare senza accedere mostra lo stesso messaggio a ogni richiesta.

1265* In modalità non interattiva, eseguite `claude` nello stesso ambiente, completate `/login`, quindi rieseguite il Vostro comando. Per l'automazione che non può accedere in modo interattivo, autenticate con `ANTHROPIC_API_KEY` o [generate un token di lunga durata con `claude setup-token`](/docs/it/authentication#generate-a-long-lived-token).1271* Se accedi con il tuo account claude.ai in un'altra finestra di Claude Code, consulta [Non hai effettuato l'accesso](#not-logged-in) per sapere quando questa sessione inizia a usare quell'accesso da sola.

1266* Se l'accesso continua a fallire, vedete [Login e autenticazione](/docs/it/troubleshoot-install#login-and-authentication)1272* In modalità non interattiva, esegui `claude` nello stesso ambiente, completa `/login`, poi esegui di nuovo il tuo comando. Per le automazioni che non possono accedere in modo interattivo, autenticati con `ANTHROPIC_API_KEY` oppure [genera un token a lunga durata con `claude setup-token`](/docs/it/authentication#generate-a-long-lived-token).

1273* Se l'accesso continua a non riuscire, consulta [Accesso e autenticazione](/docs/it/troubleshoot-install#login-and-authentication)

1267 1274 

1268<h3 id="could-not-refresh-your-login">1275<h3 id="could-not-refresh-your-login">

1269 Impossibile aggiornare il Vostro login perché un altro processo Claude Code lo sta aggiornando1276 Impossibile aggiornare il tuo accesso perché un altro processo di Claude Code lo sta aggiornando

1270</h3>1277</h3>

1271 1278 

1272Questo messaggio non significa che il Vostro login sia stato rifiutato. Il Vostro login claude.ai salvato era scaduto e aveva bisogno di rinnovamento. Un altro processo Claude Code sulla stessa macchina teneva il blocco di aggiornamento condiviso, o è uscito e lo ha lasciato dietro, e l'aggiornamento non ha fatto progressi mentre questa sessione aspettava. Claude Code ferma la richiesta prima di inviarla:1279Questo messaggio non significa che il tuo accesso sia stato rifiutato. Il tuo accesso claude.ai salvato era scaduto e doveva essere rinnovato. Un altro processo di Claude Code sulla stessa macchina deteneva il lock di aggiornamento condiviso, oppure è terminato lasciandolo attivo, e l'aggiornamento non ha fatto progressi mentre questa sessione attendeva. Claude Code ferma la richiesta prima di inviarla:

1273 1280 

1274```text theme={null}1281```text theme={null}

1275Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login1282Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

1276```1283```

1277 1284 

1278In [modalità non interattiva](/docs/it/headless) (`-p`) e [Agent SDK](/docs/it/agent-sdk/overview), il messaggio legge come segue, e il codice di errore strutturato è `server_error`:1285In [modalità non interattiva](/docs/it/headless) (`-p`) e nell'[Agent SDK](/docs/it/agent-sdk/overview), il messaggio è il seguente e il codice di errore strutturato è `server_error`:

1279 1286 

1280```text theme={null}1287```text theme={null}

1281Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again1288Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

1282```1289```

1283 1290 

1284Le sessioni autenticate con una chiave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o un provider di terze parti non utilizzano il login salvato e non vedono mai questo messaggio.1291Le sessioni autenticate con una chiave API, con [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o con un provider di terze parti non usano l'accesso salvato e non vedono mai questo messaggio.

1285 1292 

1286**Cosa fare:**1293**Cosa fare:**

1287 1294 

1288* Riprovate tra un minuto. Se un altro processo completa l'aggiornamento per primo, questa sessione utilizza il login rinnovato.1295* Riprova tra un minuto. Se un altro processo completa prima l'aggiornamento, questa sessione usa l'accesso rinnovato.

1289* Se il messaggio continua a ritornare, chiudete altri processi e finestre Claude Code, quindi riprovate.1296* Se il messaggio continua a ripresentarsi, chiudi le altre finestre e gli altri processi di Claude Code, poi riprova.

1290* Se ritorna senza alcun altro processo Claude Code in esecuzione, eseguite `/login`. L'accesso di nuovo non aspetta il blocco di aggiornamento.1297* Se si ripresenta senza altri processi di Claude Code in esecuzione, esegui `/login`. Accedere di nuovo non attende il lock di aggiornamento.

1291 1298 

1292<h3 id="couldnt-save-your-login">1299<h3 id="couldnt-save-your-login">

1293 Impossibile salvare il Vostro login1300 Impossibile salvare il tuo accesso

1294</h3>1301</h3>

1295 1302 

1296Vi siete acceduti con claude.ai, ma Claude Code non ha potuto salvare il login nel suo archivio di credenziali, quindi l'accesso non è stato completato. Su macOS questo può accadere quando il keychain di login si blocca, ad esempio al sonno o inattività, dopo che Claude Code ha già letto o salvato credenziali in esso durante la stessa sessione.1303Hai effettuato l'accesso con claude.ai, ma Claude Code non è riuscito a salvare l'accesso nel suo archivio delle credenziali, quindi l'accesso non è stato completato. Su macOS questo può succedere quando il portachiavi login si blocca, ad esempio durante lo stop o per inattività, dopo che Claude Code vi ha già letto o salvato credenziali durante la stessa sessione.

1297 1304 

1298```text theme={null}1305```text theme={null}

1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1306Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1300Couldn't save your login. Try logging in again.1307Couldn't save your login. Try logging in again.

1301```1308```

1302 1309 

1303La prima forma appare su macOS e la seconda ovunque. Un errore transitorio dell'archivio di credenziali, come un timeout o un archivio illeggibile, produce lo stesso messaggio.1310La prima forma appare su macOS e la seconda ovunque altrove. Un errore temporaneo dell'archivio delle credenziali, come un timeout o un archivio illeggibile, produce lo stesso messaggio.

1304 1311 

1305**Cosa fare:**1312**Cosa fare:**

1306 1313 

1307* Su macOS, sbloccare il keychain di login, quindi eseguire `/login` di nuovo1314* Su macOS, sblocca il portachiavi login, poi esegui di nuovo `/login`

1308* Su altre piattaforme, eseguire `/login` di nuovo1315* Sulle altre piattaforme, esegui di nuovo `/login`

1309* Se il login ancora non si salva, vedete [Non connesso o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per il comando di sblocco del keychain e altri passaggi di recupero dell'archiviazione delle credenziali1316* Se l'accesso continua a non essere salvato, consulta [Accesso non effettuato o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per il comando di sblocco del portachiavi e altri passaggi di ripristino dell'archiviazione delle credenziali

1310 1317 

1311<h3 id="failed-to-start-oauth-callback-server">1318<h3 id="failed-to-start-oauth-callback-server">

1312 Failed to start OAuth callback server1319 Impossibile avviare il server di callback OAuth

1313</h3>1320</h3>

1314 1321 

1315Quando `/login`, `claude auth login`, o `claude setup-token` vi accede attraverso il browser, Claude Code apre una porta in ascolto su `127.0.0.1` in modo che il Vostro browser possa restituire il risultato dell'accesso a esso. Questo messaggio significa che Claude Code non ha potuto aprire quella porta, e l'accesso si ferma prima che una finestra del browser o un URL di login appaia:1322Quando `/login`, `claude auth login` o `claude setup-token` ti fanno accedere tramite il browser, Claude Code apre una porta in ascolto su `127.0.0.1` in modo che il browser possa restituirgli il risultato dell'accesso. Questo messaggio significa che Claude Code non è riuscito ad aprire quella porta, e l'accesso si interrompe prima che appaia una finestra del browser o un URL di accesso:

1316 1323 

1317```text theme={null}1324```text theme={null}

1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1325Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

1319```1326```

1320 1327 

1321Se il Vostro messaggio termina con `Is port 0 in use?`, il tentativo di ascoltare sull'indirizzo loopback IPv4 `127.0.0.1` è fallito completamente. Poiché l'errore accade prima che esista un URL di login, il flusso `Paste code here if prompted` non è disponibile come soluzione alternativa.1328Se il tuo messaggio termina con `Is port 0 in use?`, il tentativo di mettersi in ascolto sull'indirizzo di loopback IPv4 `127.0.0.1` è fallito del tutto. Poiché l'errore si verifica prima che esista un URL di accesso, il flusso `Paste code here if prompted` non è disponibile come soluzione alternativa.

1322 1329 

1323**Cosa fare:**1330**Cosa fare:**

1324 1331 

1325* Per accedere subito senza il listener locale: se utilizzate un abbonamento claude.ai, eseguite [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) su una macchina dove l'accesso funziona e impostate il token che stampa come `CLAUDE_CODE_OAUTH_TOKEN` su questa macchina. Altrimenti impostate `ANTHROPIC_API_KEY` a una chiave dalla [Console Claude](https://platform.claude.com/settings/keys). [Precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) spiega come Claude Code sceglie tra le credenziali.1332* Per accedere subito senza il listener locale: se usi un abbonamento claude.ai, esegui [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) su una macchina in cui l'accesso funziona e imposta il token che stampa come `CLAUDE_CODE_OAUTH_TOKEN` su questa macchina. Altrimenti imposta `ANTHROPIC_API_KEY` su una chiave della [Claude Console](https://platform.claude.com/settings/keys). [Precedenza di autenticazione](/docs/it/authentication#authentication-precedence) spiega come Claude Code sceglie tra le credenziali.

1326* Per utilizzare l'accesso del browser su questa macchina invece, Claude Code deve essere in grado di ascoltare su `127.0.0.1`. Se viene eseguito all'interno di una sandbox, controllate che la politica della sandbox consenta l'ascolto su porte locali, quindi eseguite `/login` di nuovo. Se dovrebbe essere in grado di farlo e ancora fallisce, eseguite `/feedback` in modo che il rapporto includa i dettagli del Vostro ambiente.1333* Per usare invece l'accesso tramite browser su questa macchina, Claude Code deve potersi mettere in ascolto su `127.0.0.1`. Se è in esecuzione all'interno di una sandbox, verifica che i criteri della sandbox consentano l'ascolto sulle porte locali, poi esegui di nuovo `/login`. Se dovrebbe poterlo fare e continua a non riuscire, esegui `/feedback` in modo che la segnalazione includa i dettagli del tuo ambiente.

1327 1334 

1328<h3 id="claude-login-not-accepted">1335<h3 id="claude-login-not-accepted">

1329 Claude login non accettato1336 Accesso Claude non accettato

1330</h3>1337</h3>

1331 1338 

1332Avete tentato di avviare una [sessione cloud](/docs/it/claude-code-on-the-web), e il server ha rifiutato di crearla con un 401: non ha accettato il login Claude che questa macchina ha inviato, di solito perché il login è scaduto o è stato revocato.1339Hai provato ad avviare una [sessione cloud](/docs/it/claude-code-on-the-web) e il server si è rifiutato di crearla con un 401: non ha accettato l'accesso Claude inviato da questa macchina, di solito perché l'accesso è scaduto o è stato revocato.

1333 1340 

1334La prima parte della riga è il motivo del server quando ne fornisce uno. Altrimenti la riga legge:1341La prima parte della riga è il motivo fornito dal server, quando ne fornisce uno. Altrimenti la riga è:

1335 1342 

1336```text theme={null}1343```text theme={null}

1337Claude login not accepted · Run /login, then try again1344Claude login not accepted · Run /login, then try again


1339 1346 

1340**Cosa fare:**1347**Cosa fare:**

1341 1348 

1342* Eseguite `/login`, completate l'accesso, quindi avviate di nuovo la sessione1349* Esegui `/login`, completa l'accesso, poi avvia di nuovo la sessione

1343 1350 

1344<h3 id="artifacts-need-a-claude-ai-login">1351<h3 id="artifacts-need-a-claude-ai-login">

1345 Artifacts hanno bisogno di un login claude.ai1352 Gli artefatti richiedono un accesso claude.ai

1346</h3>1353</h3>

1347 1354 

1348Claude Code ha rifiutato una pubblicazione o lettura di [artifact](/docs/it/artifacts) perché la sessione non ha alcun login claude.ai che possa utilizzare per gli artifact.1355Claude Code ha rifiutato la pubblicazione o la lettura di un [artefatto](/docs/it/artifacts) perché la sessione non ha un accesso claude.ai utilizzabile per gli artefatti.

1349 1356 

1350Ogni forma del messaggio inizia con le stesse parole, seguita da un rimedio che dipende da come la Vostra sessione si autentica. Senza alcuna credenziale in competizione legge:1357Ogni forma del messaggio inizia con le stesse parole, seguite da un rimedio che dipende da come si autentica la tua sessione. Senza alcuna credenziale concorrente, il messaggio è:

1351 1358 

1352```text theme={null}1359```text theme={null}

1353Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1360Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.


1355 1362 

1356**Cosa fare:**1363**Cosa fare:**

1357 1364 

1358* Eseguite `/login` e selezionate **Claude account with subscription**. L'opzione **Anthropic Console account** non fornisce credenziali claude.ai.1365* Esegui `/login` e seleziona **Claude account with subscription**. L'opzione **Anthropic Console account** non fornisce credenziali claude.ai.

1359* Quando il messaggio nomina una credenziale che ha la precedenza, come `ANTHROPIC_API_KEY`, un'impostazione `apiKeyHelper` o una chiave Console salvata da un `/login` precedente, rimuovetela nel modo che il messaggio dice, quindi eseguite `/login`1366* Quando il messaggio nomina una credenziale che ha la precedenza, come `ANTHROPIC_API_KEY`, un'impostazione `apiKeyHelper` o una chiave Console salvata da un `/login` precedente, rimuovila come indicato dal messaggio, poi esegui `/login`

1360* Quando il messaggio dice che questa sessione remota si autentica attraverso la macchina che l'ha lanciata, accedete a claude.ai su quella macchina, quindi riconnettete la sessione1367* Quando il messaggio dice che questa sessione remota si autentica tramite la macchina che l'ha avviata, accedi a claude.ai su quella macchina, poi riconnetti la sessione

1361* Quando il messaggio dice che la credenziale è iniettata dall'ambiente host della sessione, non potete cambiarla in quella sessione; avviate una sessione che è connessa a claude.ai1368* Quando il messaggio dice che la credenziale è iniettata dall'ambiente host della sessione, non puoi cambiarla in quella sessione; avvia una sessione in cui hai effettuato l'accesso a claude.ai

1362* Vedete [Disponibilità](/docs/it/artifacts#availability) per gli altri requisiti che gli artifact hanno, come piano, provider di modello e politica dell'organizzazione1369* Consulta [Disponibilità](/docs/it/artifacts#availability) per gli altri requisiti degli artefatti, come il piano, il provider del modello e i criteri dell'organizzazione

1363 1370 

1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1371<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1365 La politica dell'amministratore richiede un accesso al gateway Cloud1372 I criteri dell'amministratore richiedono un accesso al Cloud gateway

1366</h3>1373</h3>

1367 1374 

1368Un [impostazione gestita](/docs/it/managed-settings) di un amministratore su questa macchina ha impostato [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) a `"gateway"` o ha impostato [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl). A meno che non selezioniate un provider cloud attraverso una variabile come `CLAUDE_CODE_USE_BEDROCK`, Claude Code accetta quindi solo l'accesso [gateway delle app Claude](/docs/it/claude-apps-gateway). Vedete uno di due messaggi:1375Le [impostazioni gestite](/docs/it/managed-settings) di un amministratore su questa macchina impostano [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) su `"gateway"` oppure impostano [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl). A meno che tu non selezioni un provider cloud tramite una variabile come `CLAUDE_CODE_USE_BEDROCK`, Claude Code accetta quindi solo l'accesso tramite il [gateway delle app Claude](/docs/it/claude-apps-gateway). Vedi uno di due messaggi:

1369 1376 

1370```text theme={null}1377```text theme={null}

1371Not signed in to the Cloud gateway — run /login.1378Not signed in to the Cloud gateway — run /login.

1372```1379```

1373 1380 

1374Le richieste di modello falliscono con questo messaggio quando la sessione non ha alcun accesso al gateway, ad esempio perché non avete eseguito `/login` da quando la politica ha raggiunto la macchina.1381Le richieste al modello falliscono con questo messaggio quando la sessione non ha un accesso al gateway, ad esempio perché non hai eseguito `/login` da quando i criteri sono arrivati sulla macchina.

1375 1382 

1376Se avete anche una credenziale `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper` configurata e le impostazioni gestite impostano `forceLoginMethod`, Claude Code esce all'avvio invece con un messaggio che inizia:1383Se la macchina contiene anche una credenziale emessa da Anthropic e le impostazioni gestite impostano `forceLoginMethod` o `forceLoginOrgUUID`, Claude Code termina invece all'avvio. Quella credenziale può essere una variabile `ANTHROPIC_API_KEY` o `ANTHROPIC_AUTH_TOKEN`, un'impostazione `apiKeyHelper` o una chiave API salvata da un precedente accesso alla Claude Console. Il messaggio inizia così:

1377 1384 

1378```text theme={null}1385```text theme={null}

1379Administrator policy requires a Cloud gateway sign-in on this machine; the1386Administrator policy requires a Cloud gateway sign-in on this machine; the


1383 1390 

1384**Cosa fare:**1391**Cosa fare:**

1385 1392 

1386* Eseguite `/login` e completate l'accesso sulla schermata **Cloud gateway**1393* Esegui `/login` e completa l'accesso nella schermata **Cloud gateway**

1387* Per il messaggio di avvio, rimuovete l'impostazione `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper` che avete configurato, quindi avviate `claude` ed eseguite `/login`1394* Per il messaggio all'avvio, rimuovi l'impostazione `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper` che hai configurato. Per rimuovere una chiave API della Console salvata, esegui `claude auth logout`, che rimuove anche un accesso claude.ai salvato. Se selezioni un provider cloud con `CLAUDE_CODE_USE_*`, la sessione si avvia quindi senza alcun accesso. Altrimenti avvia `claude` ed esegui `/login`

1388* Se ritenete che la macchina non dovrebbe richiedere il gateway, chiedete all'amministratore che la gestisce di rimuovere `forceLoginMethod` e `forceLoginGatewayUrl` dalle sue impostazioni gestite1395* Se ritieni che la macchina non debba richiedere il gateway, chiedi all'amministratore che la gestisce di rimuovere `forceLoginMethod` e `forceLoginGatewayUrl` dalle sue impostazioni gestite

1389 1396 

1390Su v2.1.265, una regressione ha anche mostrato il primo messaggio in alcune configurazioni di gateway LLM e proxy che si autenticano con una chiave API, `apiKeyHelper` o intestazioni personalizzate, anche senza alcun requisito di amministratore sulla macchina. Aggiornate alla v2.1.266 o successiva. Non è necessario modificare la Vostra configurazione.1397Nella v2.1.265, una regressione mostrava il primo messaggio anche in alcune configurazioni con gateway LLM e proxy che si autenticano con una chiave API, `apiKeyHelper` o intestazioni personalizzate, anche senza alcun requisito dell'amministratore sulla macchina. Aggiorna alla v2.1.266 o successiva. Non devi modificare la tua configurazione.

1391 1398 

1392Prima della v2.1.261, su macchine che impostano `forceLoginMethod` a `"gateway"`, Claude Code utilizzava un login salvato rimasto invece di fallire le richieste di modello, e segnalava una credenziale d'ambiente configurata con `This machine's managed settings require a first-party login` invece del messaggio di avvio. Prima della v2.1.265, una macchina le cui impostazioni gestite impostano solo `forceLoginGatewayUrl` non richiedeva l'accesso al gateway, e Claude Code utilizzava una credenziale rimasta lì.1399Prima della v2.1.261, sulle macchine che impostavano `forceLoginMethod` su `"gateway"`, Claude Code usava un accesso salvato residuo invece di far fallire le richieste al modello, e segnalava una credenziale d'ambiente configurata con `This machine's managed settings require a first-party login` invece del messaggio all'avvio. Prima della v2.1.265, una macchina le cui impostazioni gestite impostavano solo `forceLoginGatewayUrl` non richiedeva l'accesso al gateway, e lì Claude Code usava una credenziale residua.

1393 1400 

1394<h3 id="your-account-is-on-hold">1401<h3 id="your-account-is-on-hold">

1395 Il Vostro account è in sospeso1402 Il tuo account è sospeso

1396</h3>1403</h3>

1397 1404 

1398L'account Claude dietro il Vostro login è stato sospeso. Claude Code mostra il primo messaggio quando tenta di rinnovare il Vostro login salvato e apprende della sospensione, e il secondo quando un accesso che completate nel browser lo segnala:1405L'account Claude associato al tuo accesso è stato sospeso. Claude Code mostra il primo messaggio quando prova a rinnovare il tuo accesso salvato e viene a sapere della sospensione, e il secondo quando lo segnala un accesso che completi nel browser:

1399 1406 

1400```text theme={null}1407```text theme={null}

1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1408Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted

1402Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1409Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1403```1410```

1404 1411 

1405L'accesso di nuovo con lo stesso account non cancella il messaggio, perché la sospensione è sull'account piuttosto che sul login. In [modalità non interattiva](/docs/it/headless) (`-p`) e [Agent SDK](/docs/it/agent-sdk/overview), il codice di errore strutturato è `account_on_hold`. Prima della v2.1.235, Claude Code segnalava un account sospeso come [Login scaduto · Please run /login](#login-expired), i cui passaggi di recupero non possono cancellare una sospensione.1412Accedere di nuovo con lo stesso account non elimina il messaggio, perché la sospensione riguarda l'account e non l'accesso. In [modalità non interattiva](/docs/it/headless) (`-p`) e nell'[Agent SDK](/docs/it/agent-sdk/overview), il codice di errore strutturato è `account_on_hold`. Prima della v2.1.235, Claude Code segnalava un account sospeso come [Login expired · Please run /login](#login-expired), i cui passaggi di ripristino non possono eliminare una sospensione.

1406 1413 

1407**Cosa fare:**1414**Cosa fare:**

1408 1415 

1409* Aprite il link nel messaggio per visualizzare i dettagli della sospensione o presentare ricorso1416* Apri il link nel messaggio per visualizzare i dettagli della sospensione o presentare ricorso

1410* Se avete un altro account Claude o una chiave API che non è interessata dalla sospensione, potete continuare a lavorare mentre la sospensione viene risolta: eseguite `/login` con quell'account, oppure impostate la chiave con `ANTHROPIC_API_KEY`1417* Se hai un altro account Claude o una chiave API non interessati dalla sospensione, puoi continuare a lavorare mentre la sospensione viene risolta: esegui `/login` con quell'account, oppure imposta la chiave con `ANTHROPIC_API_KEY`

1411 1418 

1412<h3 id="anthropic-profile-login-expired">1419<h3 id="anthropic-profile-login-expired">

1413 Login del profilo Anthropic scaduto1420 Accesso al profilo Anthropic scaduto

1414</h3>1421</h3>

1415 1422 

1416Claude Code si sta autenticando attraverso un profilo di credenziale Anthropic la cui credenziale di login salvata è scaduta, e il profilo non contiene alcuna credenziale di aggiornamento che Claude Code possa utilizzare per rinnovarla. Claude Code ferma ogni richiesta localmente senza riprovare, perché un nuovo tentativo leggerebbe la stessa credenziale scaduta.1423Claude Code si sta autenticando tramite un profilo di credenziali Anthropic la cui credenziale di accesso salvata è scaduta, e il profilo non contiene alcuna credenziale di aggiornamento che Claude Code possa usare per rinnovarla. Claude Code ferma localmente ogni richiesta senza riprovare, perché un nuovo tentativo leggerebbe la stessa credenziale scaduta.

1417 1424 

1418```text theme={null}1425```text theme={null}

1419Anthropic profile login expired · Re-authenticate your Anthropic profile1426Anthropic profile login expired · Re-authenticate your Anthropic profile

1420Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1427Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1421```1428```

1422 1429 

1423Questo appare solo quando la credenziale attiva proviene da un profilo di credenziale Anthropic, uno che selezionate con la variabile d'ambiente `ANTHROPIC_PROFILE`, che Claude Code scopre come il profilo attivo nella Vostra directory di configurazione Anthropic, o che Claude Code ha scritto quando vi siete [acceduti senza una chiave API](/docs/it/authentication#sign-in-without-an-api-key). Le sessioni che si autenticano con l'opzione claude.ai di `/login`, una chiave API, un token bearer come `ANTHROPIC_AUTH_TOKEN` o un provider di terze parti non vedono mai questo messaggio.1430Questo appare solo quando la credenziale attiva proviene da un profilo di credenziali Anthropic: uno che selezioni con la variabile d'ambiente `ANTHROPIC_PROFILE`, che Claude Code individua come profilo attivo nella tua directory di configurazione Anthropic, o che Claude Code ha scritto quando hai [effettuato l'accesso senza una chiave API](/docs/it/authentication#sign-in-without-an-api-key). Le sessioni che si autenticano con una chiave API, con un bearer token come `ANTHROPIC_AUTH_TOKEN` o con un provider di terze parti non vedono mai questo messaggio.

1424 1431 

1425Su una macchina che [offre l'accesso senza chiave](/docs/it/authentication#sign-in-without-an-api-key), eseguite `/login`, scegliete l'account Anthropic Console e accedete di nuovo per rinnovare un profilo che l'accesso Console senza chiave o il CLI della Claude Platform `ant auth login` ha scritto. Claude Code sostituisce la credenziale scaduta in quel profilo. Per un profilo di federazione o uno che un altro strumento ha creato, `/login` non rinnova la credenziale. Quale forma vedete dipende dal fatto che abbiate selezionato il profilo o Claude Code l'abbia scoperto:1432Su una macchina che [offre l'accesso senza chiave](/docs/it/authentication#sign-in-without-an-api-key), esegui `/login`, scegli l'account Anthropic Console e accedi di nuovo per rinnovare un profilo scritto dall'accesso alla Console senza chiave o da `ant auth login` della Claude Platform CLI. Claude Code sostituisce la credenziale scaduta in quel profilo. Per un profilo di federazione o creato da un altro strumento, `/login` non rinnova la credenziale. La forma che vedi dipende dal fatto che tu abbia selezionato il profilo o che Claude Code lo abbia individuato:

1426 1433 

1427* Quando impostate `ANTHROPIC_PROFILE` esplicitamente, il messaggio termina con `Re-authenticate your Anthropic profile`.1434* Quando imposti esplicitamente `ANTHROPIC_PROFILE`, il messaggio termina con `Re-authenticate your Anthropic profile`.

1428* Quando Claude Code ha scoperto il profilo dalla Vostra directory di configurazione, il messaggio offre `/login`, perché Claude Code dà la precedenza a un `/login` funzionante rispetto al profilo scoperto e quindi si autentica con il Vostro account claude.ai o Console invece. Prima della v2.1.234, Claude Code mostrava il modulo `Re-authenticate your Anthropic profile` anche in questo caso.1435* Quando Claude Code ha individuato il profilo dalla tua directory di configurazione, il messaggio propone `/login`, perché Claude Code dà a un `/login` funzionante la precedenza sul profilo individuato e si autentica quindi con il tuo account claude.ai o Console. Prima della v2.1.234, Claude Code mostrava anche in questo caso la forma `Re-authenticate your Anthropic profile`.

1429 1436 

1430**Cosa fare:**1437**Cosa fare:**

1431 1438 

1432* Accedete di nuovo al profilo, quindi riprovate: su una macchina che [offre l'accesso senza chiave](/docs/it/authentication#sign-in-without-an-api-key), eseguite `/login` e scegliete l'account Anthropic Console per un profilo che l'accesso Console senza chiave o il CLI della Claude Platform `ant auth login` ha scritto; per altri profili, utilizzate lo strumento che li ha creati1439* Accedi di nuovo al profilo, poi riprova: su una macchina che [offre l'accesso senza chiave](/docs/it/authentication#sign-in-without-an-api-key), esegui `/login` e scegli l'account Anthropic Console per un profilo scritto dall'accesso alla Console senza chiave o da `ant auth login` della Claude Platform CLI; per gli altri profili, usa lo strumento che li ha creati

1433* Se un amministratore ha fornito la credenziale del profilo, chiedetegli di emetterne una nuova1440* Se la credenziale del profilo è stata fornita da un amministratore, chiedigli di emetterne una nuova

1434* Eseguite `/status` per confermare la fonte di credenziale attiva e il nome del profilo1441* Esegui `/status` per verificare l'origine delle credenziali attiva e il nome del profilo

1435* Per smettere di utilizzare il profilo, annullate l'impostazione di `ANTHROPIC_PROFILE` se l'avete impostato, quindi autenticate in un altro modo, come `/login` o `ANTHROPIC_API_KEY`1442* Per smettere di usare il profilo, rimuovi `ANTHROPIC_PROFILE` se l'hai impostata, poi autenticati in un altro modo, ad esempio con `/login` o `ANTHROPIC_API_KEY`

1436 1443 

1437<h3 id="oauth-scope-requirement">1444<h3 id="oauth-scope-requirement">

1438 Requisito di ambito OAuth1445 Requisito di scope OAuth

1439</h3>1446</h3>

1440 1447 

1441Il token memorizzato precede un ambito di autorizzazione che una funzione più recente necessita:1448Il token memorizzato è precedente a uno scope di permesso richiesto da una funzionalità più recente:

1442 1449 

1443```text theme={null}1450```text theme={null}

1444OAuth token does not meet scope requirement: user:profile1451OAuth token does not meet scope requirement: user:profile


1446 1453 

1447**Cosa fare:**1454**Cosa fare:**

1448 1455 

1449* Eseguite `/login` per ottenere un nuovo token con gli ambiti attuali. Non è necessario disconnettervi prima.1456* Esegui `/login` per ottenere un nuovo token con gli scope attuali. Non devi prima uscire.

1450 1457 

1451<h3 id="claude-ai-rejected-the-session-token">1458<h3 id="claude-ai-rejected-the-session-token">

1452 claude.ai ha rifiutato il token della sessione1459 claude.ai ha rifiutato il token di sessione

1453</h3>1460</h3>

1454 1461 

1455Una richiesta [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) è fallita perché claude.ai ha rifiutato il token dal Vostro login Claude Code. Il token rifiutato è il Vostro login, non l'autorizzazione del connettore in claude.ai, quindi autorizzare di nuovo il connettore non lo risolve. In `/mcp`, il connettore mostra come `session token rejected` e la sua vista dettagliata legge:1462Una richiesta di un [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) è fallita perché claude.ai ha rifiutato il token del tuo accesso a Claude Code. Il token rifiutato è il tuo accesso, non l'autorizzazione del connettore stesso in claude.ai, quindi autorizzare di nuovo il connettore non risolve il problema. In `/mcp`, il connettore appare come `session token rejected` e la sua vista dettagliata riporta:

1456 1463 

1457```text theme={null}1464```text theme={null}

1458claude.ai rejected the session token. Run /login, then reconnect.1465claude.ai rejected the session token. Run /login, then reconnect.


1460 1467 

1461**Cosa fare:**1468**Cosa fare:**

1462 1469 

1463* Eseguite `/login` per accedere di nuovo1470* Esegui `/login` per accedere di nuovo

1464* Riconnettete il connettore da `/mcp`, oppure eseguite `/mcp reconnect <server>`. Riconnettere prima di accedere di nuovo lascia il connettore nello stesso stato. L'opzione **Reconnect** del pannello `/mcp` segnala `your claude.ai session token was rejected`; il modulo `/mcp reconnect <server>` digitato segnala una riconnessione riuscita anche se il token è ancora rifiutato.1471* Riconnetti il connettore da `/mcp`, oppure esegui `/mcp reconnect <server>`. Riconnettersi prima di aver effettuato di nuovo l'accesso lascia il connettore nello stesso stato. L'opzione **Reconnect** del pannello `/mcp` segnala `your claude.ai session token was rejected`; la forma digitata `/mcp reconnect <server>` segnala una riconnessione riuscita anche se il token viene ancora rifiutato.

1465 1472 

1466Prima della v2.1.222, Claude Code contrassegnava il connettore come necessitante di autenticazione invece, che vi indicava il flusso di autorizzazione del connettore anche se completarlo non risolveva lo stato.1473Prima della v2.1.222, Claude Code contrassegnava invece il connettore come bisognoso di autenticazione, indirizzandoti al flusso di autorizzazione del connettore anche se completarlo non risolveva lo stato.

1467 1474 

1468<h3 id="mcp-server-needs-you-to-sign-in-again">1475<h3 id="mcp-server-needs-you-to-sign-in-again">

1469 MCP server ha bisogno che vi accediate di nuovo1476 Il server MCP richiede di accedere di nuovo

1470</h3>1477</h3>

1471 1478 

1472Un server [MCP](/docs/it/mcp) remoto ha rifiutato la credenziale su una chiamata di strumento a metà sessione, di solito perché un accesso o un token è scaduto o perché il token manca di un'autorizzazione che lo strumento necessita. La chiamata di strumento fallisce, e `/mcp` contrassegna il server come [necessitante di autenticazione](/docs/it/mcp#authenticate-with-remote-mcp-servers).1479Un [server MCP](/docs/it/mcp) remoto ha rifiutato la credenziale durante una chiamata a uno strumento a sessione in corso, di solito perché un accesso o un token è scaduto o perché il token non dispone di un permesso richiesto dallo strumento. La chiamata allo strumento fallisce e `/mcp` contrassegna il server come [bisognoso di autenticazione](/docs/it/mcp#authenticate-with-remote-mcp-servers).

1473 1480 

1474Per un server a cui vi accedete da Claude Code, incluso un connettore claude.ai, l'accesso è scaduto o è stato revocato:1481Per un server a cui accedi da Claude Code, incluso un connettore claude.ai, l'accesso è scaduto o è stato revocato:

1475 1482 

1476```text theme={null}1483```text theme={null}

1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1484MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1478```1485```

1479 1486 

1480Eseguite `/mcp`, selezionate il server e accedete di nuovo dal suo menu.1487Esegui `/mcp`, seleziona il server e accedi di nuovo dal suo menu.

1481 1488 

1482Per un server configurato con uno script [`headersHelper`](/docs/it/mcp#use-dynamic-headers-for-custom-authentication), Claude Code ha già rieseguito l'helper e ritentato la chiamata una volta prima di mostrare questo:1489Per un server configurato con uno script [`headersHelper`](/docs/it/mcp#use-dynamic-headers-for-custom-authentication), Claude Code ha già eseguito di nuovo l'helper e riprovato la chiamata una volta prima di mostrare questo:

1483 1490 

1484```text theme={null}1491```text theme={null}

1485MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1492MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1486```1493```

1487 1494 

1488Controllate che l'helper restituisca una credenziale che il server accetta, quindi riconnettete da `/mcp`, che riesegue l'helper.1495Verifica che l'helper restituisca una credenziale accettata dal server, poi riconnetti da `/mcp`, che esegue di nuovo l'helper.

1489 1496 

1490Per un server con un'intestazione `Authorization` statica nella sua configurazione:1497Per un server con un'intestazione `Authorization` statica nella sua configurazione:

1491 1498 


1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1500MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1494```1501```

1495 1502 

1496Aggiornate il valore dell'intestazione dove il server è configurato, quindi riconnettete da `/mcp`.1503Aggiorna il valore dell'intestazione dove è configurato il server, poi riconnetti da `/mcp`.

1497 1504 

1498Prima della v2.1.273, i casi di accesso scaduto, `headersHelper` e intestazione `Authorization` mostravano tutti `MCP server "<name>" requires re-authorization (token expired)`.1505Prima della v2.1.273, i casi di accesso scaduto, `headersHelper` e intestazione `Authorization` mostravano tutti `MCP server "<name>" requires re-authorization (token expired)`.

1499 1506 

1500Un server può anche rifiutare una chiamata di strumento con HTTP 403 `insufficient_scope` per chiedere di autorizzare un ambito, a volte uno che il Vostro token già elenca. Il messaggio nomina quell'ambito:1507Un server può anche rifiutare una chiamata a uno strumento con HTTP 403 `insufficient_scope` per chiederti di autorizzare uno scope, a volte uno già elencato nel tuo token. Il messaggio nomina quello scope:

1501 1508 

1502```text theme={null}1509```text theme={null}

1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1510MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1504```1511```

1505 1512 

1506Eseguite `/mcp`, selezionate il server e autenticate di nuovo dal suo menu.1513Esegui `/mcp`, seleziona il server e autenticati di nuovo dal suo menu.

1507 1514 

1508Quando la configurazione del server non imposta né [`oauth.scopes`](/docs/it/mcp#restrict-oauth-scopes) né [`authServerMetadataUrl`](/docs/it/mcp#override-oauth-metadata-discovery), Claude Code richiede l'ambito che il server ha nominato. Con una delle due impostazioni, Claude Code richiede gli ambiti di quell'impostazione invece. Se avete fissato `oauth.scopes`, aggiungete l'ambito mancante a quell'elenco prima di autenticare di nuovo.1515Quando la configurazione del server non imposta né [`oauth.scopes`](/docs/it/mcp#restrict-oauth-scopes) né [`authServerMetadataUrl`](/docs/it/mcp#override-oauth-metadata-discovery), Claude Code richiede lo scope indicato dal server. Con una delle due impostazioni, Claude Code richiede invece gli scope di quell'impostazione. Se hai fissato `oauth.scopes`, aggiungi lo scope mancante a quell'elenco prima di autenticarti di nuovo.

1509 1516 

1510Prima della v2.1.274, questo caso mostrava il messaggio `needs you to sign in again`, e prima della v2.1.273 mostrava `requires re-authorization (token expired)` come gli altri casi.1517Prima della v2.1.274, questo caso mostrava il messaggio `needs you to sign in again`, e prima della v2.1.273 mostrava `requires re-authorization (token expired)` come gli altri casi.

1511 1518 

1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1519<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

1513 URL del server MCP mancante o non valido1520 L'URL del server MCP manca o non è un URL valido

1514</h3>1521</h3>

1515 1522 

1516Claude Code ha rifiutato di avviare un accesso OAuth per un server MCP remoto perché l'URL `url` configurato del server non viene analizzato come un URL. A meno che Claude Code non abbia un problema di configurazione più specifico da segnalare per il server, l'esecuzione di [`claude mcp login <name>`](/docs/it/mcp#authenticate-from-the-command-line) nella Vostra shell stampa il rifiuto come:1523Claude Code si è rifiutato di avviare un accesso OAuth per un server MCP remoto perché l'`url` configurato per il server non viene interpretato come URL. A meno che Claude Code non abbia un problema di configurazione più specifico da segnalare per il server, eseguire [`claude mcp login <name>`](/docs/it/mcp#authenticate-from-the-command-line) nella tua shell stampa il rifiuto così:

1517 1524 

1518```text theme={null}1525```text theme={null}

1519Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.1526Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.


1521 1528 

1522**Cosa fare:**1529**Cosa fare:**

1523 1530 

1524* Impostate la voce `url` all'endpoint reale del server dove il server è configurato, o impostate la variabile d'ambiente che il suo riferimento [`${VAR}`](/docs/it/mcp#environment-variable-expansion-in-mcp-json) nomina, quindi eseguite di nuovo l'accesso.1531* Imposta l'`url` della voce sull'endpoint reale del server dove il server è configurato, oppure imposta la variabile d'ambiente indicata dal suo [riferimento `${VAR}`](/docs/it/mcp#environment-variable-expansion-in-mcp-json), poi esegui di nuovo l'accesso.

1525 1532 

1526<h3 id="issuer-mismatch-in-authorization-response">1533<h3 id="issuer-mismatch-in-authorization-response">

1527 Mancata corrispondenza dell'emittente nella risposta di autorizzazione1534 Issuer non corrispondente nella risposta di autorizzazione

1528</h3>1535</h3>

1529 1536 

1530Durante un [accesso MCP OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers), il server di autorizzazione ha reindirizzato di nuovo a Claude Code con un parametro `iss` che non nomina l'emittente che Claude Code si aspettava dai metadati OAuth del server. Un emittente sbagliato a questo passaggio è come appare un attacco di mix-up del server di autorizzazione, quindi Claude Code fallisce l'accesso invece di scambiare il codice di autorizzazione. Claude Code mostra l'errore nel menu del server `/mcp` dopo l'accesso del browser:1537Durante un [accesso OAuth MCP](/docs/it/mcp#authenticate-with-remote-mcp-servers), il server di autorizzazione ha reindirizzato a Claude Code con un parametro `iss` che non indica l'issuer che Claude Code si aspettava dai metadati OAuth del server. Un issuer errato in questo passaggio è il segno di un attacco di mix-up del server di autorizzazione, quindi Claude Code fa fallire l'accesso invece di scambiare il codice di autorizzazione. Claude Code mostra l'errore nel menu del server in `/mcp` dopo l'accesso tramite browser:

1531 1538 

1532```text theme={null}1539```text theme={null}

1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1540Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1534```1541```

1535 1542 

1536`expected` è l'emittente dai metadati OAuth del server, e `received` è il valore `iss` che il reindirizzamento ha trasportato. Un accesso il cui reindirizzamento non trasporta alcun parametro `iss` passa il controllo, a meno che i metadati del server non impostino `authorization_response_iss_parameter_supported`, nel qual caso Claude Code fallisce l'accesso.1543`expected` è l'issuer dai metadati OAuth del server, e `received` è il valore `iss` trasportato dal reindirizzamento. Un accesso il cui reindirizzamento non contiene alcun parametro `iss` supera il controllo, a meno che i metadati del server non impostino `authorization_response_iss_parameter_supported`, nel qual caso Claude Code fa fallire l'accesso.

1537 1544 

1538**Cosa fare:**1545**Cosa fare:**

1539 1546 

1540* Riprovate l'accesso da `/mcp`1547* Riprova l'accesso da `/mcp`

1541* Se l'errore si ripete, segnalarlo all'operatore del server. La correzione è lato server: il server di autorizzazione deve restituire lo stesso emittente nel parametro `iss` che pubblicizza nei suoi metadati1548* Se l'errore si ripete, segnalalo al gestore del server. La soluzione è lato server: il server di autorizzazione deve restituire nel parametro `iss` lo stesso issuer che pubblica nei suoi metadati

1542* Per connettervi mentre il server viene corretto, avviate Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/it/env-vars), il cui [runtime](/docs/it/mcp#mcp-client-runtimes) non esegue questo controllo. Questo rimuove una protezione contro gli attacchi di mix-up, quindi preferite la correzione lato server1549* Per connetterti mentre il server viene corretto, avvia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/it/env-vars), il cui [runtime](/docs/it/mcp#mcp-client-runtimes) non esegue questo controllo. Questo rimuove una protezione contro gli attacchi di mix-up, quindi preferisci la soluzione lato server

1543 1550 

1544Prima della v2.1.232, Claude Code utilizzava il runtime v2 solo in un rollout graduale o quando impostavate `MCP_SDK_GENERATION=v2`.1551Prima della v2.1.232, Claude Code usava il runtime v2 solo in un rilascio graduale o quando impostavi `MCP_SDK_GENERATION=v2`.

1545 1552 

1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1553<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

1547 Rifiuto di inviare credenziali a un endpoint token non HTTPS1554 Rifiuto di inviare credenziali a un endpoint del token non https

1548</h3>1555</h3>

1549 1556 

1550Sul [runtime v2](/docs/it/mcp#mcp-client-runtimes), Claude Code invia una richiesta di token [MCP OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers) solo a un endpoint token servito su HTTPS o su `localhost`, `127.0.0.1` o `::1`. Questo messaggio significa che l'endpoint token del server non è nessuno dei due, quindi Claude Code si è fermato prima di inviare la richiesta. Questo accade dopo l'accesso del browser, quindi il passaggio del browser ha successo per primo, e di nuovo ogni volta che Claude Code aggiorna il token del server.1557Sul [runtime v2](/docs/it/mcp#mcp-client-runtimes), Claude Code invia una richiesta di token [OAuth MCP](/docs/it/mcp#authenticate-with-remote-mcp-servers) solo a un endpoint del token servito tramite HTTPS o su `localhost`, `127.0.0.1` o `::1`. Questo messaggio significa che l'endpoint del token del server non rientra in nessuno di questi casi, quindi Claude Code si è fermato prima di inviare la richiesta. Questo accade dopo l'accesso tramite browser, quindi il passaggio nel browser riesce prima, e di nuovo ogni volta che Claude Code aggiorna il token del server.

1551 1558 

1552Nella sua forma completa, il messaggio proviene dall'SDK MCP e cita l'endpoint token che ha rifiutato. Nel log di debug, segue `Error during auth completion:` per un accesso o `Token refresh failed:` per un aggiornamento. Nella Vostra shell, `claude mcp login <name>` lo stampa dopo `Couldn't complete authentication for "<name>":`, e in una sessione, `/mcp` lo mostra sotto il menu del server:1559Nella sua forma completa, il messaggio proviene dall'MCP SDK e cita l'endpoint del token che ha rifiutato. Nel log di debug, segue `Error during auth completion:` per un accesso o `Token refresh failed:` per un aggiornamento. Nella tua shell, `claude mcp login <name>` lo stampa dopo `Couldn't complete authentication for "<name>":`, e in una sessione `/mcp` lo mostra nel menu del server:

1553 1560 

1554```text theme={null}1561```text theme={null}

1555Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).1562Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).

1556```1563```

1557 1564 

1558Claude Code tratta un URL del server che ha una stringa di query o un segmento di percorso lungo e casuale come possibilmente segreto. Per un tale server, redige gli errori di accesso che l'SDK MCP solleva prima di mostrarli o registrarli. Questo errore legge quindi come un nome breve che può cambiare tra i rilasci, come `io`, seguito da `from the MCP SDK for` e l'URL del server redatto. Gli altri errori dall'SDK MCP assumono la stessa forma lì. Il messaggio redatto può essere questo errore solo quando l'endpoint token del server è `http://` semplice a un indirizzo diverso da `localhost`, `127.0.0.1` o `::1`.1565Claude Code considera potenzialmente segreto un URL di server che contiene una query string o un segmento di percorso lungo e dall'aspetto casuale. Per un server di questo tipo, oscura gli errori di accesso generati dall'MCP SDK prima di mostrarli o registrarli nei log. Questo errore appare quindi come un nome breve che può cambiare tra una versione e l'altra, come `io`, seguito da `from the MCP SDK for` e dall'URL del server oscurato. Anche gli altri errori dell'MCP SDK assumono lì la stessa forma. Il messaggio oscurato può corrispondere a questo errore solo quando l'endpoint del token del server è un semplice `http://` su un indirizzo diverso da `localhost`, `127.0.0.1` o `::1`.

1559 1566 

1560**Cosa fare:**1567**Cosa fare:**

1561 1568 

1562* Servite quell'endpoint token su HTTPS, ad esempio mettendo il server dietro un proxy inverso o un tunnel che termina TLS e configurando il server per pubblicizzare l'indirizzo `https://`1569* Servi quell'endpoint del token tramite HTTPS, ad esempio mettendo il server dietro un reverse proxy o un tunnel che termina TLS e configurando il server per pubblicare l'indirizzo `https://`

1563* Per connettervi senza modificare il server, avviate Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/it/env-vars), il cui [runtime](/docs/it/mcp#mcp-client-runtimes) non applica questa regola e invia la richiesta di token su HTTP semplice. Quella scelta dura fino a quando non uscite e si applica a ogni server. Il runtime v1 salta anche il [controllo dell'emittente](#issuer-mismatch-in-authorization-response), quindi preferite servire l'endpoint su HTTPS1570* Per connetterti senza modificare il server, avvia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/it/env-vars), il cui [runtime](/docs/it/mcp#mcp-client-runtimes) non applica questa regola e invia la richiesta di token tramite HTTP semplice. Questa scelta dura finché non esci e si applica a ogni server. Il runtime v1 salta anche il [controllo dell'issuer](#issuer-mismatch-in-authorization-response), quindi preferisci servire l'endpoint tramite HTTPS

1564 1571 

1565<h3 id="aws-credentials-expired-or-invalid">1572<h3 id="aws-credentials-expired-or-invalid">

1566 Credenziali AWS scadute o non valide1573 Credenziali AWS scadute o non valide

1567</h3>1574</h3>

1568 1575 

1569Il Vostro token di sessione AWS è scaduto o è stato rifiutato. Questo messaggio appare su un 401 da [Claude Platform su AWS](/docs/it/claude-platform-on-aws) o dall'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint), che è come quei provider segnalano un token di sicurezza scaduto.1576Il tuo token di sessione AWS è scaduto o è stato rifiutato. Questo messaggio appare in seguito a un 401 da [Claude Platform on AWS](/docs/it/claude-platform-on-aws) o dall'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint), che è il modo in cui quei provider segnalano un token di sicurezza scaduto.

1570 1577 

1571Il suggerimento di azione nel mezzo varia a seconda della Vostra configurazione. La parte stabile è il `AWS credentials expired or invalid` iniziale:1578Il suggerimento di azione nella parte centrale varia in base alla tua configurazione. La parte stabile è l'inizio `AWS credentials expired or invalid`:

1572 1579 

1573```text theme={null}1580```text theme={null}

1574AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1581AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1575```1582```

1576 1583 

1577Prima della v2.1.273, questo messaggio appariva solo quando `awsAuthRefresh` era configurato.1584Prima della v2.1.273, questo messaggio appariva solo quando era configurato `awsAuthRefresh`.

1578 1585 

1579**Cosa fare:**1586**Cosa fare:**

1580 1587 

1581* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, l'app che ha lanciato Claude Code possiede la credenziale e gli altri passaggi qui non si applicano: riprovate, o contattate il Vostro amministratore1588* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, la credenziale appartiene all'app che ha avviato Claude Code e gli altri passaggi qui non si applicano: riprova o contatta il tuo amministratore

1582* Se [`awsAuthRefresh`](/docs/it/amazon-bedrock#advanced-credential-configuration) è impostato, eseguite il comando nominato nel messaggio, come `aws sso login --profile myprofile`, in un altro terminale e completate l'accesso del browser, quindi riprovate. Altrimenti aggiornate la credenziale AWS che utilizzate voi stessi: il Vostro accesso SSO, le chiavi di accesso, la chiave API o il token proxy1589* Se [`awsAuthRefresh`](/docs/it/amazon-bedrock#advanced-credential-configuration) è impostato, esegui il comando indicato nel messaggio, come `aws sso login --profile myprofile`, in un altro terminale e completa l'accesso nel browser, poi riprova. Altrimenti aggiorna tu stesso la credenziale AWS che usi: il tuo accesso SSO, le chiavi di accesso, la chiave API o il token del proxy

1583* Con `awsAuthRefresh` impostato in una sessione interattiva, potete invece eseguire `/login`, scegliere **3rd-party platform**, quindi selezionare **Claude Platform on AWS · refresh credentials** sotto **Using 3rd-party platforms** per eseguire lo stesso comando senza riavviare Claude Code. Vedete [Configurare le credenziali AWS](/docs/it/claude-platform-on-aws#1-configure-aws-credentials)1590* Con `awsAuthRefresh` impostato in una sessione interattiva, puoi invece eseguire `/login`, scegliere **3rd-party platform**, poi selezionare **Claude Platform on AWS · refresh credentials** in **Using 3rd-party platforms** per eseguire lo stesso comando senza riavviare Claude Code. Consulta [Configurare le credenziali AWS](/docs/it/claude-platform-on-aws#1-configure-aws-credentials)

1584* Se l'errore si ripete dopo che il comando di aggiornamento ha avuto successo, confermate che l'identità è valida al di fuori di Claude Code con `aws sts get-caller-identity` nella stessa shell e profilo1591* Se l'errore si ripete dopo che il comando di aggiornamento è riuscito, verifica che l'identità sia valida al di fuori di Claude Code con `aws sts get-caller-identity` nella stessa shell e con lo stesso profilo

1585 1592 

1586<h3 id="aws-authentication-failed">1593<h3 id="aws-authentication-failed">

1587 Autenticazione AWS non riuscita1594 Autenticazione AWS non riuscita

1588</h3>1595</h3>

1589 1596 

1590Il Vostro provider AWS ha restituito un 403, oppure [Amazon Bedrock](/docs/it/amazon-bedrock) ha restituito un 401.1597Il tuo provider AWS ha restituito un 403, oppure [Amazon Bedrock](/docs/it/amazon-bedrock) ha restituito un 401.

1591 1598 

1592Amazon Bedrock segnala un token di sicurezza scaduto come un 403, ma un 403 è anche come segnala un rifiuto di autorizzazione, come un `AccessDeniedException` da un'autorizzazione IAM mancante. Claude Code non può dire quale causa avete colpito.1599Amazon Bedrock segnala un token di sicurezza scaduto come 403, ma un 403 è anche il modo in cui segnala un diniego di autorizzazione, come una `AccessDeniedException` dovuta a un permesso IAM mancante. Claude Code non può distinguere queste due cause.

1593 1600 

1594Un 401 da Amazon Bedrock atterra anche qui piuttosto che sotto [Credenziali AWS scadute o non valide](#aws-credentials-expired-or-invalid), perché Amazon Bedrock non segnala un token scaduto come un 401. Un 401 da quell'endpoint di solito proviene da qualcos'altro nel percorso della richiesta, come un proxy aziendale.1601Anche un 401 da Amazon Bedrock finisce qui anziché in [Credenziali AWS scadute o non valide](#aws-credentials-expired-or-invalid), perché Amazon Bedrock non segnala un token scaduto come 401. Un 401 da quell'endpoint proviene in genere da qualcos'altro nel percorso della richiesta, come un proxy aziendale.

1595 1602 

1596Un aggiornamento delle credenziali corregge un token scaduto e non può correggere le altre cause, quindi il messaggio offre entrambi:1603Un aggiornamento delle credenziali risolve un token scaduto ma non può risolvere le altre cause, quindi il messaggio propone entrambe le soluzioni:

1597 1604 

1598```text theme={null}1605```text theme={null}

1599AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1606AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

1600```1607```

1601 1608 

1602Il suggerimento di azione nel mezzo varia a seconda della Vostra configurazione. La parte stabile è il `AWS authentication failed` iniziale.1609Il suggerimento di azione nella parte centrale varia in base alla tua configurazione. La parte stabile è l'inizio `AWS authentication failed`.

1603 1610 

1604Quando il 403 è la risposta di Amazon Bedrock che non avete accesso al modello con l'ID modello specificato, il suggerimento invece vi dice di abilitare il modello per il Vostro account e la Vostra regione nella console Amazon Bedrock.1611Quando il 403 è la risposta di Amazon Bedrock che indica che non hai accesso al modello con l'ID modello specificato, il suggerimento ti dice invece di abilitare il modello per il tuo account e la tua regione nella console di Amazon Bedrock.

1605 1612 

1606Prima della v2.1.273, questo messaggio appariva solo quando `awsAuthRefresh` era configurato.1613Prima della v2.1.273, questo messaggio appariva solo quando era configurato `awsAuthRefresh`.

1607 1614 

1608**Cosa fare:**1615**Cosa fare:**

1609 1616 

1610* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, l'app che ha lanciato Claude Code possiede la credenziale e gli altri passaggi qui non si applicano: riprovate, o contattate il Vostro amministratore1617* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, la credenziale appartiene all'app che ha avviato Claude Code e gli altri passaggi qui non si applicano: riprova o contatta il tuo amministratore

1611* Aggiornate le Vostre credenziali AWS nel caso in cui una credenziale scaduta sia la causa: eseguite il comando [`awsAuthRefresh`](/docs/it/amazon-bedrock#advanced-credential-configuration) nominato nel messaggio quando uno è impostato, o aggiornate il Vostro accesso SSO, le chiavi di accesso, la chiave API o il token proxy voi stessi1618* Aggiorna le tue credenziali AWS nel caso in cui la causa sia una credenziale scaduta: esegui il comando [`awsAuthRefresh`](/docs/it/amazon-bedrock#advanced-credential-configuration) indicato nel messaggio quando è impostato, oppure aggiorna tu stesso il tuo accesso SSO, le chiavi di accesso, la chiave API o il token del proxy

1612* Se le Vostre credenziali sono attuali, confermate che le autorizzazioni IAM in [Configurazione IAM](/docs/it/amazon-bedrock#iam-configuration) siano allegate all'identità che state utilizzando e che il modello selezionato sia abilitato per il Vostro account e la Vostra regione1619* Se le tue credenziali sono aggiornate, verifica che i permessi IAM indicati in [Configurazione IAM](/docs/it/amazon-bedrock#iam-configuration) siano associati all'identità che stai usando e che il modello selezionato sia abilitato per il tuo account e la tua regione

1613* Eseguite `aws sts get-caller-identity` per confermare quale identità le Vostre richieste utilizzano1620* Esegui `aws sts get-caller-identity` per verificare quale identità usano le tue richieste

1614 1621 

1615<h3 id="google-cloud-credentials-expired-or-invalid">1622<h3 id="google-cloud-credentials-expired-or-invalid">

1616 Credenziali Google Cloud scadute o non valide1623 Credenziali Google Cloud scadute o non valide

1617</h3>1624</h3>

1618 1625 

1619Le Vostre credenziali Google Cloud per [Agent Platform di Google Cloud](/docs/it/google-vertex-ai) sono scadute o sono state rifiutate: la richiesta ha restituito un 401, che è come Agent Platform segnala la scadenza delle credenziali.1626Le tue credenziali Google Cloud per [Agent Platform di Google Cloud](/docs/it/google-vertex-ai) sono scadute o sono state rifiutate: la richiesta ha restituito un 401, che è il modo in cui Agent Platform segnala la scadenza delle credenziali.

1620 1627 

1621Il suggerimento di azione nel mezzo varia a seconda della Vostra configurazione. La parte stabile è il `Google Cloud credentials expired or invalid` iniziale:1628Il suggerimento di azione nella parte centrale varia in base alla tua configurazione. La parte stabile è l'inizio `Google Cloud credentials expired or invalid`:

1622 1629 

1623```text theme={null}1630```text theme={null}

1624Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...1631Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...


1626 1633 

1627**Cosa fare:**1634**Cosa fare:**

1628 1635 

1629* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, l'app che ha lanciato Claude Code possiede la credenziale e gli altri passaggi qui non si applicano: riprovate, o contattate il Vostro amministratore1636* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, la credenziale appartiene all'app che ha avviato Claude Code e gli altri passaggi qui non si applicano: riprova o contatta il tuo amministratore

1630* Se vi autenticate con le credenziali predefinite dell'applicazione, eseguite il comando [`gcpAuthRefresh`](/docs/it/google-vertex-ai#advanced-credential-configuration) nominato nel messaggio, o `gcloud auth application-default login`, e completate l'accesso, quindi riprovate1637* Se ti autentichi con le credenziali predefinite dell'applicazione, esegui il comando [`gcpAuthRefresh`](/docs/it/google-vertex-ai#advanced-credential-configuration) indicato nel messaggio, oppure `gcloud auth application-default login`, e completa l'accesso, poi riprova

1631* Se instradare attraverso un [gateway LLM](/docs/it/llm-gateway) con `CLAUDE_CODE_SKIP_VERTEX_AUTH` impostato, aggiornate il token del gateway in `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_CUSTOM_HEADERS`, quindi riprovate1638* Se instradi il traffico tramite un [gateway LLM](/docs/it/llm-gateway) con `CLAUDE_CODE_SKIP_VERTEX_AUTH` impostata, aggiorna il token del gateway in `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_CUSTOM_HEADERS`, poi riprova

1632* Se vi autenticate con un file di chiave dell'account di servizio, confermate che `GOOGLE_APPLICATION_CREDENTIALS` punti a una chiave valida. Vedete [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials)1639* Se ti autentichi con un file di chiave di un account di servizio, verifica che `GOOGLE_APPLICATION_CREDENTIALS` punti a una chiave valida. Consulta [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials)

1633* Se l'errore si ripete dopo un aggiornamento, confermate che l'identità funziona al di fuori di Claude Code con `gcloud auth application-default print-access-token` nella stessa shell1640* Se l'errore si ripete dopo un aggiornamento, verifica che l'identità funzioni al di fuori di Claude Code con `gcloud auth application-default print-access-token` nella stessa shell

1634 1641 

1635Prima della v2.1.273, un 401 da Agent Platform mostrava il messaggio generico `Please run /login` o `Failed to authenticate` invece, che non può aggiornare le credenziali Google Cloud.1642Prima della v2.1.273, un 401 da Agent Platform mostrava invece il messaggio generico `Please run /login` o `Failed to authenticate`, che non può aggiornare le credenziali Google Cloud.

1636 1643 

1637<h3 id="google-cloud-authentication-failed">1644<h3 id="google-cloud-authentication-failed">

1638 Autenticazione Google Cloud non riuscita1645 Autenticazione Google Cloud non riuscita

1639</h3>1646</h3>

1640 1647 

1641[Agent Platform di Google Cloud](/docs/it/google-vertex-ai) ha restituito un 403, che utilizza per i rifiuti di autorizzazione piuttosto che per le credenziali scadute. Di solito l'identità con cui vi autenticate manca di un'autorizzazione IAM, oppure il modello non è abilitato per il Vostro progetto.1648[Agent Platform di Google Cloud](/docs/it/google-vertex-ai) ha restituito un 403, che usa per i dinieghi di autorizzazione e non per le credenziali scadute. Di solito all'identità con cui ti autentichi manca un permesso IAM, oppure il modello non è abilitato per il tuo progetto.

1642 1649 

1643Il suggerimento di azione nel mezzo varia a seconda della Vostra configurazione. La parte stabile è il `Google Cloud authentication failed` iniziale:1650Il suggerimento di azione nella parte centrale varia in base alla tua configurazione. La parte stabile è l'inizio `Google Cloud authentication failed`:

1644 1651 

1645```text theme={null}1652```text theme={null}

1646Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...1653Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...


1648 1655 

1649**Cosa fare:**1656**Cosa fare:**

1650 1657 

1651* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, l'app che ha lanciato Claude Code possiede la credenziale e gli altri passaggi qui non si applicano: riprovate, o contattate il Vostro amministratore1658* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, la credenziale appartiene all'app che ha avviato Claude Code e gli altri passaggi qui non si applicano: riprova o contatta il tuo amministratore

1652* Confermate che i ruoli in [Configurazione IAM](/docs/it/google-vertex-ai#iam-configuration) siano concessi all'identità con cui vi autenticate1659* Verifica che i ruoli indicati in [Configurazione IAM](/docs/it/google-vertex-ai#iam-configuration) siano concessi all'identità con cui ti autentichi

1653* Confermate che il modello sia abilitato per il Vostro progetto. Vedete [Richiedere l'accesso al modello](/docs/it/google-vertex-ai#2-request-model-access)1660* Verifica che il modello sia abilitato per il tuo progetto. Consulta [Richiedere l'accesso al modello](/docs/it/google-vertex-ai#2-request-model-access)

1654 1661 

1655Prima della v2.1.273, un 403 da Agent Platform mostrava il messaggio generico `Please run /login` o `Failed to authenticate` invece, che non può aggiornare le credenziali Google Cloud.1662Prima della v2.1.273, un 403 da Agent Platform mostrava invece il messaggio generico `Please run /login` o `Failed to authenticate`, che non può aggiornare le credenziali Google Cloud.

1656 1663 

1657<h3 id="microsoft-foundry-authentication-failed">1664<h3 id="microsoft-foundry-authentication-failed">

1658 Autenticazione Microsoft Foundry non riuscita1665 Autenticazione Microsoft Foundry non riuscita

1659</h3>1666</h3>

1660 1667 

1661[Microsoft Foundry](/docs/it/microsoft-foundry) ha restituito un 401 o 403: la credenziale Azure sulla richiesta è stata rifiutata, oppure l'identità dietro di essa non ha accesso alla risorsa Foundry. `/login` non può coniare credenziali Azure. Il suggerimento di azione nel mezzo varia a seconda della Vostra configurazione. La parte stabile è il `Microsoft Foundry authentication failed` iniziale:1668[Microsoft Foundry](/docs/it/microsoft-foundry) ha restituito un 401 o un 403: la credenziale Azure nella richiesta è stata rifiutata, oppure l'identità associata non ha accesso alla risorsa Foundry. `/login` non può generare credenziali Azure. Il suggerimento di azione al centro varia in base alla tua configurazione. La parte stabile è quella iniziale, `Microsoft Foundry authentication failed`:

1662 1669 

1663```text theme={null}1670```text theme={null}

1664Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...1671Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...


1666 1673 

1667**Cosa fare:**1674**Cosa fare:**

1668 1675 

1669* Se il suggerimento dice che le credenziali sono gestite da questo ambiente, l'app che ha lanciato Claude Code possiede la credenziale e gli altri passaggi qui non si applicano: riprovate, o contattate il Vostro amministratore1676* Se il suggerimento indica che le credenziali sono gestite da questo ambiente, la credenziale appartiene all'app che ha avviato Claude Code e gli altri passaggi qui non si applicano: riprova oppure contatta il tuo amministratore

1670* Aggiornate la credenziale che avete configurato in [Configurare le credenziali Azure](/docs/it/microsoft-foundry#2-configure-azure-credentials): ruotate `ANTHROPIC_FOUNDRY_API_KEY`, coniate un `ANTHROPIC_FOUNDRY_AUTH_TOKEN` fresco, o eseguite `az login` in modo che la catena di credenziali Microsoft Entra predefinita possa accedere di nuovo1677* Aggiorna la credenziale che hai configurato in [Configurare le credenziali Azure](/docs/it/microsoft-foundry#2-configure-azure-credentials): ruota `ANTHROPIC_FOUNDRY_API_KEY`, genera un nuovo `ANTHROPIC_FOUNDRY_AUTH_TOKEN` oppure esegui `az login` in modo che la catena di credenziali predefinita di Microsoft Entra possa accedere di nuovo

1671* Se la credenziale è attuale, confermate che l'identità ha accesso alla risorsa Foundry. Vedete [Configurazione RBAC di Azure](/docs/it/microsoft-foundry#azure-rbac-configuration)1678* Se la credenziale è aggiornata, verifica che l'identità abbia accesso alla risorsa Foundry. Consulta [Configurazione di Azure RBAC](/docs/it/microsoft-foundry#azure-rbac-configuration)

1672 1679 

1673Prima della v2.1.273, un 401 o 403 da Microsoft Foundry mostrava il messaggio generico `Please run /login` o `Failed to authenticate` invece, che non può aggiornare le credenziali Azure.1680Prima della v2.1.273, un 401 o un 403 da Microsoft Foundry mostrava invece il messaggio generico `Please run /login` o `Failed to authenticate`, che non può aggiornare le credenziali Azure.

1674 1681 

1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1682<h3 id="could-not-load-aws-or-google-cloud-credentials">

1676 Impossibile caricare le credenziali AWS o Google Cloud1683 Impossibile caricare le credenziali AWS o Google Cloud

1677</h3>1684</h3>

1678 1685 

1679Claude Code non ha potuto ottenere credenziali utilizzabili dalla catena del provider di credenziali AWS o dalle Vostre credenziali predefinite dell'applicazione Google sulla macchina su cui viene eseguito, quindi nessuna richiesta ha raggiunto il Vostro provider cloud. Claude Code cancella le Vostre credenziali memorizzate nella cache e ritenta due volte prima di mostrare questo messaggio. Il dettaglio dopo il `·` nomina la causa specifica, come una sessione SSO scaduta, credenziali predefinite mancanti segnalate come `Could not load the default credentials`, o un accesso revocato segnalato come `invalid_grant`:1686Claude Code non è riuscito a ottenere credenziali utilizzabili dalla catena di provider di credenziali AWS o dalle credenziali predefinite dell'applicazione Google sulla macchina su cui è in esecuzione, quindi nessuna richiesta ha raggiunto il tuo provider cloud. Claude Code cancella le credenziali memorizzate nella cache e riprova due volte prima di mostrare questo messaggio. Il dettaglio dopo il `·` indica la causa specifica, come una sessione SSO scaduta, credenziali predefinite dell'applicazione mancanti segnalate come `Could not load the default credentials`, oppure un accesso revocato segnalato come `invalid_grant`:

1680 1687 

1681```text theme={null}1688```text theme={null}

1682API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1689API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.

1683API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1690API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1684```1691```

1685 1692 

1686In [modalità non interattiva](/docs/it/headless) con `-p` e in [Agent SDK](/docs/it/agent-sdk/overview), il codice di errore strutturato è `cloud_credential_error`. Prima della v2.1.267, il messaggio mostrava solo il testo di dettaglio dopo `API Error:`, e il codice strutturato era `server_error` o `unknown`.1693In [modalità non interattiva](/docs/it/headless) con `-p` e nell'[Agent SDK](/docs/it/agent-sdk/overview), il codice di errore strutturato è `cloud_credential_error`. Prima della v2.1.267, il messaggio mostrava solo il testo di dettaglio dopo `API Error:` e il codice strutturato era `server_error` o `unknown`.

1687 1694 

1688**Cosa fare:**1695**Cosa fare:**

1689 1696 

1690* Eseguite il comando di accesso del Vostro provider, come `aws sso login --profile myprofile` o `gcloud auth application-default login`, quindi riprovate. [Credenziali Bedrock, Agent Platform o Foundry non si caricano](/docs/it/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra come confermare le credenziali al di fuori di Claude Code1697* Esegui il comando di accesso del tuo provider, come `aws sso login --profile myprofile` o `gcloud auth application-default login`, quindi riprova. [Credenziali Bedrock, Agent Platform o Foundry non caricate](/docs/it/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra come verificare le credenziali al di fuori di Claude Code

1691* Se il dettaglio legge `AWS default-chain credential resolve timed out`, la catena si è bloccata piuttosto che fallire, quindi seguite [Timeout della risoluzione delle credenziali della catena predefinita AWS](#aws-default-chain-credential-resolve-timed-out) invece1698* Se il dettaglio riporta `AWS default-chain credential resolve timed out`, la catena si è bloccata anziché fallire, quindi segui invece [Timeout nella risoluzione delle credenziali della catena predefinita AWS](#aws-default-chain-credential-resolve-timed-out)

1692 1699 

1693<h3 id="aws-default-chain-credential-resolve-timed-out">1700<h3 id="aws-default-chain-credential-resolve-timed-out">

1694 Timeout della risoluzione delle credenziali della catena predefinita AWS1701 Timeout nella risoluzione delle credenziali della catena predefinita AWS

1695</h3>1702</h3>

1696 1703 

1697La catena del provider di credenziali predefinite AWS non ha prodotto credenziali entro 60 secondi, quindi Claude Code ha fermato la risoluzione e ha fallito la richiesta. Questo timeout è una causa di [Impossibile caricare le credenziali AWS o Google Cloud](#could-not-load-aws-or-google-cloud-credentials). L'errore è la risoluzione delle credenziali locali: la richiesta non ha mai raggiunto [Amazon Bedrock](/docs/it/amazon-bedrock), [Claude Platform su AWS](/docs/it/claude-platform-on-aws) o l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Claude Code cancella la Vostra [cache delle credenziali](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout) e ritenta prima che questo errore emerga, quindi al momento in cui lo vedete la catena si è bloccata su tentativi ripetuti.1704La catena di provider di credenziali predefinita AWS non ha prodotto credenziali entro 60 secondi, quindi Claude Code ha interrotto la risoluzione e fatto fallire la richiesta. Questo timeout è una delle cause di [Impossibile caricare le credenziali AWS o Google Cloud](#could-not-load-aws-or-google-cloud-credentials). Il problema riguarda la risoluzione locale delle credenziali: la richiesta non ha mai raggiunto [Amazon Bedrock](/docs/it/amazon-bedrock), [Claude Platform on AWS](/docs/it/claude-platform-on-aws) o l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Claude Code cancella la sua [cache delle credenziali](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout) e riprova prima che venga mostrato questo errore, quindi quando lo vedi la catena si è bloccata in più tentativi.

1698 1705 

1699```text theme={null}1706```text theme={null}

1700API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1707API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1701```1708```

1702 1709 

1703Le cause comuni sono un comando `credential_process` nel Vostro profilo AWS che attende un input che non può ricevere, e un contenitore o una VM il cui servizio di metadati dell'istanza (IMDS) non risponde mai al probe della catena.1710Le cause comuni sono un comando `credential_process` nel tuo profilo AWS che attende un input che non può ricevere, e un container o una VM il cui servizio di metadati dell'istanza (IMDS) non risponde mai alla verifica della catena.

1704 1711 

1705Prima della v2.1.267, il messaggio leggeva `API Error: AWS default-chain credential resolve timed out`.1712Prima della v2.1.267, il messaggio era `API Error: AWS default-chain credential resolve timed out`.

1706Prima della v2.1.207, una catena bloccata lasciava la richiesta in attesa indefinitamente invece di fallire.1713Prima della v2.1.207, una catena bloccata lasciava la richiesta in attesa indefinitamente anziché farla fallire.

1707 1714 

1708**Cosa fare:**1715**Cosa fare:**

1709 1716 

1710* Eseguite `aws sts get-caller-identity` nella stessa shell con lo stesso `AWS_PROFILE`. Se si blocca anche, correggete il profilo; un comando `credential_process` che richiede in modo interattivo è una causa comune.1717* Esegui `aws sts get-caller-identity` nella stessa shell con lo stesso `AWS_PROFILE`. Se anche questo si blocca, correggi il profilo; un comando `credential_process` che chiede un input in modo interattivo è una causa comune.

1711* Completate il passaggio di accesso prima di avviare Claude Code, ad esempio `aws sso login --profile myprofile`, in modo che la catena si risolva dalla cache SSO locale invece di attendere un flusso del browser1718* Completa il passaggio di accesso prima di avviare Claude Code, ad esempio `aws sso login --profile myprofile`

1712* Se la Vostra catena esegue un accesso interattivo che legittimamente ha bisogno di più di 60 secondi, come SSO con MFA attraverso un wrapper come `aws-vault`, aumentate il limite in millisecondi con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars)1719* Se la tua catena esegue un accesso interattivo che richiede legittimamente più di 60 secondi, come SSO con MFA tramite un wrapper come `aws-vault`, aumenta il limite in millisecondi con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars)

1713 1720 

1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1721<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1715 Timeout della verifica della configurazione di Bedrock in attesa di AWS1722 Timeout della verifica della configurazione di Bedrock in attesa di AWS

1716</h3>1723</h3>

1717 1724 

1718Una chiamata ad AWS durante la [procedura guidata di configurazione di Bedrock](/docs/it/amazon-bedrock#sign-in-with-bedrock), come la ricerca delle credenziali o il controllo dell'identità, non è stata completata entro il limite di 60 secondi. La procedura guidata smette di attendere e fallisce il passaggio di verifica:1725Una chiamata ad AWS durante la verifica delle credenziali della [procedura guidata di configurazione di Bedrock](/docs/it/amazon-bedrock#sign-in-with-bedrock), come la ricerca delle credenziali o il controllo dell'identità, non è stata completata entro il limite di 60 secondi. La procedura guidata smette di attendere e fa fallire il passaggio di verifica:

1719 1726 

1720```text theme={null}1727```text theme={null}

1721Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1728Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.

1722```1729```

1723 1730 

1724Il numero riflette il Vostro limite: 60 secondi per impostazione predefinita, o il valore che impostate in [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars).1731Il numero riflette il tuo limite: 60 secondi per impostazione predefinita, oppure il valore che hai impostato in [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars).

1725 1732 

1726Le cause comuni sono una rete o un proxy che blocca le richieste ad AWS, incluso l'aggiornamento del token SSO, e un helper di credenziali ancora in attesa di input che non potete vedere. Aumentate il limite solo quando l'helper legittimamente ha bisogno di più tempo.1733Le cause comuni sono una rete o un proxy che blocca le richieste ad AWS, incluso l'aggiornamento del token SSO, e un helper delle credenziali ancora in attesa di un input che non puoi vedere. Aumenta il limite solo quando l'helper ha legittimamente bisogno di più tempo.

1727 1734 

1728Una singola richiesta bloccata ad AWS può anche fallire sul suo timeout per richiesta, che mostra un messaggio più breve sullo stesso passaggio:1735Anche una singola richiesta bloccata ad AWS può fallire per il proprio timeout per richiesta, che mostra un messaggio più breve nello stesso passaggio:

1729 1736 

1730```text theme={null}1737```text theme={null}

1731A request to AWS timed out. Check your network and proxy settings, then try again.1738A request to AWS timed out. Check your network and proxy settings, then try again.

1732```1739```

1733 1740 

1734Quando gli stessi timeout si verificano sul passaggio di pin del modello, la procedura guidata contrassegna un modello come `unreachable` invece di mostrare uno dei due messaggi.1741Quando gli stessi timeout si verificano nel passaggio di fissaggio del modello, la procedura guidata contrassegna un modello come `unreachable` anziché mostrare uno dei due messaggi.

1735 1742 

1736**Cosa fare:**1743**Cosa fare:**

1737 1744 

1738* Eseguite `aws sts get-caller-identity` nella stessa shell. Se si blocca anche, il blocco è al di fuori di Claude Code, nella Vostra rete, nel Vostro proxy o nell'helper di credenziali nel Vostro profilo AWS; correggete prima quello.1745* Esegui `aws sts get-caller-identity` nella stessa shell. Se anche questo si blocca, il blocco è al di fuori di Claude Code, nella tua rete, nel tuo proxy o nell'helper delle credenziali nel tuo profilo AWS; risolvi prima quello.

1739* Completate qualsiasi accesso interattivo prima di aprire la procedura guidata, ad esempio `aws sso login --profile myprofile`1746* Completa qualsiasi accesso interattivo prima di aprire la procedura guidata, ad esempio `aws sso login --profile myprofile`

1740* Se un helper di credenziali nel Vostro profilo AWS legittimamente ha bisogno di più di 60 secondi per richiedervi, aumentate il limite in millisecondi con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars)1747* Se un helper delle credenziali nel tuo profilo AWS ha legittimamente bisogno di più di 60 secondi per chiederti un input, aumenta il limite in millisecondi con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars)

1741 1748 

1742<h3 id="cloud-gateway-session-expired">1749<h3 id="cloud-gateway-session-expired">

1743 Sessione del gateway cloud scaduta1750 Sessione del gateway cloud scaduta

1744</h3>1751</h3>

1745 1752 

1746Vi siete acceduti attraverso un [gateway delle app Claude](/docs/it/claude-apps-gateway), e la sessione del gateway salvata su questa macchina è scaduta e non ha potuto essere rinnovata, oppure il gateway non la accetta più, ad esempio dopo che il [JWT secret del gateway è stato sostituito](/docs/it/claude-apps-gateway-deploy#jwt-secret-rotation). Se vedete questa riga quando avviate `claude` in modo interattivo, la sessione si è aperta disconnessa dal gateway:1753Hai eseguito l'accesso tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway) e la sessione del gateway salvata su questa macchina è scaduta e non è stato possibile rinnovarla, oppure il gateway non la accetta più, ad esempio dopo che il [segreto JWT del gateway è stato sostituito](/docs/it/claude-apps-gateway-deploy#jwt-secret-rotation). Se vedi questa riga quando avvii `claude` in modo interattivo, la sessione si è aperta senza accesso al gateway:

1747 1754 

1748```text theme={null}1755```text theme={null}

1749Cloud gateway session expired — run /login to reconnect.1756Cloud gateway session expired — run /login to reconnect.

1750```1757```

1751 1758 

1752La stessa riga può apparire a metà sessione quando la credenziale del gateway scade e Claude Code non può rinnovarla.1759La stessa riga può comparire a metà sessione quando la credenziale del gateway scade e Claude Code non riesce a rinnovarla.

1753 1760 

1754In un'esecuzione [non interattiva](/docs/it/headless), una sessione in background o altra sessione incustodita, o un sottocomando `claude` diverso da `claude auth`, Claude Code esce con questo messaggio invece quando il gateway non accetta più la sessione:1761In un'esecuzione [non interattiva](/docs/it/headless), in una sessione in background o comunque non presidiata, oppure in un sottocomando `claude` diverso da `claude auth`, Claude Code termina invece con questo messaggio quando il gateway non accetta più la sessione:

1755 1762 

1756```text theme={null}1763```text theme={null}

1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1764Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1759 1766 

1760**Cosa fare:**1767**Cosa fare:**

1761 1768 

1762* Eseguite `/login` nella sessione e completate l'accesso del browser1769* Esegui `/login` nella sessione e completa l'accesso nel browser

1763* Per un lancio non interattivo, avviate `claude` nello stesso ambiente, eseguite `/login`, quindi rieseguite il Vostro comando1770* Per un avvio non interattivo, avvia `claude` nello stesso ambiente, esegui `/login`, quindi esegui di nuovo il tuo comando

1764 1771 

1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1772<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1766 Sign-in scaduto mentre vi aspettava di continuare1773 Accesso scaduto durante l'attesa della tua conferma

1767</h3>1774</h3>

1768 1775 

1769Durante un [accesso al gateway delle app Claude](/docs/it/claude-apps-gateway), il gateway ha nominato l'account che ha effettuato l'accesso, e Claude Code vi ha chiesto di confermarlo prima di salvare la credenziale. Avete lasciato la conferma aperta oltre la scadenza dell'accesso stesso, e il gateway non ha emesso alcun token di aggiornamento che potesse rinnovarlo, quindi Claude Code non ha memorizzato nulla quando avete continuato:1776Durante un accesso tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway), il gateway ha indicato l'account che ha eseguito l'accesso e Claude Code ti ha chiesto di confermarlo prima di salvare la credenziale. Hai lasciato la conferma aperta oltre la scadenza dell'accesso stesso e il gateway non ha emesso alcun token di aggiornamento in grado di rinnovarlo, quindi Claude Code non ha memorizzato nulla quando hai continuato:

1770 1777 

1771```text theme={null}1778```text theme={null}

1772Sign-in timed out while waiting for you to continue. Try again.1779Sign-in timed out while waiting for you to continue. Try again.


1774 1781 

1775**Cosa fare:**1782**Cosa fare:**

1776 1783 

1777* Eseguite `/login` di nuovo e confermate l'account prima che l'accesso scada1784* Esegui di nuovo `/login` e conferma l'account prima che l'accesso scada

1778 1785 

1779<h3 id="gateway-refused-the-request">1786<h3 id="gateway-refused-the-request">

1780 Il gateway ha rifiutato la richiesta1787 Il gateway ha rifiutato la richiesta

1781</h3>1788</h3>

1782 1789 

1783Siete connessi attraverso un [gateway delle app Claude](/docs/it/claude-apps-gateway), e una richiesta ha restituito un 403: il gateway, o l'upstream dietro di esso, l'ha rifiutata. L'accesso di nuovo non cambia un rifiuto, quindi il messaggio punta al Vostro amministratore del gateway:1790Hai eseguito l'accesso tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway) e una richiesta ha restituito un 403: il gateway, o il servizio upstream dietro di esso, l'ha rifiutata. Accedere di nuovo non cambia un rifiuto, quindi il messaggio rimanda all'amministratore del tuo gateway:

1784 1791 

1785```text theme={null}1792```text theme={null}

1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1793Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1788 1795 

1789**Cosa fare:**1796**Cosa fare:**

1790 1797 

1791* Chiedete al Vostro amministratore del gateway di cercare la richiesta. La coda `API Error:` trasporta il rifiuto che il gateway ha restituito1798* Chiedi all'amministratore del tuo gateway di esaminare la richiesta. La parte finale `API Error:` contiene il rifiuto restituito dal gateway

1792* Per gli amministratori: una [regola di controllo dell'accesso](/docs/it/claude-apps-gateway-config#http-tuning) sul gateway restituisce un 403 che il [log di audit](/docs/it/claude-apps-gateway-deploy#logs) registra con il suo motivo, e un rifiuto di autorizzazione dell'upstream passa attraverso per [Messaggi di errore dell'upstream](/docs/it/claude-apps-gateway-config#upstream-error-messages)1799* Per gli amministratori: una [regola di controllo degli accessi](/docs/it/claude-apps-gateway-config#http-tuning) sul gateway restituisce un 403 che il [log di audit](/docs/it/claude-apps-gateway-deploy#logs) registra insieme al motivo, e un rifiuto di autorizzazione di un servizio upstream viene inoltrato come descritto in [Messaggi di errore upstream](/docs/it/claude-apps-gateway-config#upstream-error-messages)

1793 1800 

1794Prima della v2.1.273, un 403 su una sessione del gateway mostrava il messaggio generico `Please run /login` o `Failed to authenticate` invece, e l'accesso di nuovo non cancellava il rifiuto.1801Prima della v2.1.273, un 403 su una sessione del gateway mostrava invece il messaggio generico `Please run /login` o `Failed to authenticate`, e accedere di nuovo non eliminava il rifiuto.

1795 1802 

1796<h2 id="network-and-connection-errors">1803<h2 id="network-and-connection-errors">

1797 Errori di rete e connessione1804 Errori di rete e connessione


2849* Eseguire `claude doctor` dalla shell per la diagnostica dell'installazione2856* Eseguire `claude doctor` dalla shell per la diagnostica dell'installazione

2850 2857 

2851<h2 id="command-line-errors">2858<h2 id="command-line-errors">

2852 Errori da riga di comando2859 Errori della riga di comando

2853</h2>2860</h2>

2854 2861 

2855Questi errori provengono dal comando `claude` da riga di comando e dai suoi sottocomandi, da un nome di comando che invii al prompt e da comandi come `/security-review` che raccolgono il contesto eseguendo comandi shell prima dell'esecuzione del loro prompt. Provengono anche da `/tui`, che riavvia la CLI.2862Questi errori provengono dalla riga di comando `claude` e dai suoi sottocomandi, da un nome di comando che invii al prompt e da comandi come `/security-review` che raccolgono il contesto eseguendo comandi della shell prima che il loro prompt venga eseguito. Provengono anche da `/tui`, che riavvia la CLI.

2856 2863 

2857<h3 id="conflict-between-bg-and-print">2864<h3 id="conflict-between-bg-and-print">

2858 Conflitto tra `--bg` e `--print`2865 Conflitto tra `--bg` e `--print`

2859</h3>2866</h3>

2860 2867 

2861Questo messaggio richiede Claude Code v2.1.198 o successivo. Avete combinato `--bg` con `-p` o `--print` nella stessa invocazione di `claude`. `--bg` avvia una [sessione in background](/docs/it/agent-view#from-your-shell) a cui vi collegherete successivamente con `claude agents`, mentre `--print` esegue [in modo non interattivo](/docs/it/headless) e non avvia mai la sessione interattiva a cui `claude agents` si collega. Prima della v2.1.198 questa combinazione creava silenziosamente un lavoro in background che non poteva mai essere collegato.2868Questo messaggio richiede Claude Code v2.1.198 o versioni successive. Hai combinato `--bg` con `-p` o `--print` nella stessa invocazione di `claude`. `--bg` avvia una [sessione in background](/docs/it/agent-view#from-your-shell) a cui ti colleghi in seguito con `claude agents`, mentre `--print` viene eseguito in [modalità non interattiva](/docs/it/headless) e non avvia mai la sessione interattiva a cui `claude agents` si collega. Prima della v2.1.198 questa combinazione creava silenziosamente un job in background a cui non era mai possibile collegarsi.

2862 2869 

2863```text theme={null}2870```text theme={null}

2864--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2871--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2866 2873 

2867**Cosa fare:**2874**Cosa fare:**

2868 2875 

2869* Eliminate `-p` o `--print`. `--bg` accetta il prompt come argomento posizionale, quindi `claude --bg "<task>"` è il comando completo. Vedete [Dispatch new agents from your shell](/docs/it/agent-view#from-your-shell).2876* Rimuovi `-p` o `--print`. `--bg` accetta il prompt come argomento posizionale, quindi `claude --bg "<task>"` è il comando completo. Consulta [Avvia nuovi agenti dalla tua shell](/docs/it/agent-view#from-your-shell).

2870* Per eseguire il prompt in modo non interattivo e stampare il risultato invece di creare una sessione in background, eliminate `--bg` ed eseguite `claude -p "<task>"`2877* Per eseguire il prompt in modalità non interattiva e stampare il risultato invece di creare una sessione in background, rimuovi `--bg` ed esegui `claude -p "<task>"`

2878 

2879<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

2880 Conflitto tra un flag del prompt di sistema e la sua forma file

2881</h3>

2882 

2883Hai passato [`--append-subagent-system-prompt`](/docs/it/cli-reference#cli-flags) insieme a `--append-subagent-system-prompt-file` in un'unica invocazione di `claude`, quindi `claude` termina con codice di uscita 1 invece di avviare la sessione:

2884 

2885```text theme={null}

2886Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2887```

2888 

2889Prima della v2.1.283, `claude` terminava allo stesso modo quando passavi `--system-prompt` con `--system-prompt-file`, oppure `--append-system-prompt` con `--append-system-prompt-file`, perché quelle coppie andavano in conflitto invece di [combinarsi](/docs/it/cli-reference#system-prompt-flags). In quelle versioni il messaggio indica la coppia che hai combinato.

2890 

2891**Cosa fare:**

2892 

2893* Mantieni una forma del flag e rimuovi l'altra. Per combinare un file di prompt fisso con testo specifico per ogni esecuzione, unisci il testo nel file prima dell'avvio invece di passare entrambi i flag

2871 2894 

2872<h3 id="invalid-agents-configuration">2895<h3 id="invalid-agents-configuration">

2873 Configurazione `--agents` non valida2896 Configurazione `--agents` non valida

2874</h3>2897</h3>

2875 2898 

2876Il valore che avete passato a `--agents` non è valido, quindi `claude` esce con codice 1 invece di avviare la sessione. Quando passate `--safe-mode` o impostate [`CLAUDE_CODE_SAFE_MODE`](/docs/it/env-vars#variables), Claude Code ignora completamente `--agents`. Con `--resume` o `--continue`, un valore JSON inline non viene controllato e la sessione si avvia; un valore letto da un file viene controllato ad ogni avvio. Prima della v2.1.242, Claude Code avviava comunque la sessione.2899Il valore che hai passato a `--agents` non è valido, quindi `claude` termina con codice di uscita 1 invece di avviare la sessione. Quando passi `--safe-mode` o imposti [`CLAUDE_CODE_SAFE_MODE`](/docs/it/env-vars#variables), Claude Code ignora completamente `--agents`. Con `--resume` o `--continue`, un valore JSON inline non viene controllato e la sessione si avvia; un valore letto da un file viene controllato a ogni avvio. Prima della v2.1.242, Claude Code avviava comunque la sessione.

2877 2900 

2878```text theme={null}2901```text theme={null}

2879Error: Invalid --agents configuration:2902Error: Invalid --agents configuration:

2880<what failed>2903<what failed>

2881```2904```

2882 2905 

2883Quello che segue la prima riga dipende da come il valore ha fallito. Claude Code esegue questi controlli in ordine e si ferma al primo che fallisce. Se il vostro valore ha due tipi di problema, vedete il secondo solo dopo aver corretto il primo:2906Ciò che segue la prima riga dipende da come il valore non è riuscito. Claude Code esegue questi controlli in ordine e si ferma al primo che fallisce. Se il tuo valore ha due tipi di problema, vedi il secondo solo dopo aver corretto il primo:

2884 2907 

28851. Quando il valore inizia con `{` ma non viene analizzato come JSON, o il contenuto di un file `--agents` non viene analizzato, Claude Code stampa una riga `invalid JSON:` con il messaggio del parser JSON stesso29081. Quando il valore inizia con `{` ma non viene analizzato come JSON, oppure il contenuto di un file `--agents` non viene analizzato, Claude Code stampa una riga `invalid JSON:` che riporta il messaggio del parser JSON stesso

28862. Quando viene analizzato ma una definizione di agente non corrisponde allo schema per [subagenti definiti da CLI](/docs/it/sub-agents#choose-the-subagent-scope), Claude Code stampa una riga per problema29092. Quando viene analizzato ma una definizione di agente non corrisponde allo schema per i [subagent definiti dalla CLI](/docs/it/sub-agents#choose-the-subagent-scope), Claude Code stampa una riga per ogni problema

28873. Quando un nome di agente inizia con `-`, Claude Code stampa `<name>: agent names must not start with '-'`29103. Quando il nome di un agente inizia con `-`, Claude Code stampa `<name>: agent names must not start with '-'`

2888 2911 

2889Quando ci sono più di 20 righe di problema, Claude Code stampa le prime 20 e sostituisce il resto con `…and N more`.2912Quando ci sono più di 20 righe di problemi, Claude Code stampa le prime 20 e sostituisce le restanti con `…and N more`.

2890 2913 

2891Con `--print`, `--agents` accetta anche [il percorso di un file JSON](/docs/it/sub-agents#choose-the-subagent-scope) al posto dell'oggetto inline. Prima della v2.1.281, `--agents` accettava solo JSON inline e trattava un percorso di file come JSON non valido. La forma di file ha i suoi rifiuti, stampati al posto di questo messaggio, inclusi questi:2914Con `--print`, `--agents` accetta anche [il percorso di un file JSON](/docs/it/sub-agents#choose-the-subagent-scope) al posto dell'oggetto inline. Prima della v2.1.281, `--agents` accettava solo JSON inline e trattava un percorso di file come JSON non valido. La forma file ha i propri rifiuti, stampati al posto di questo messaggio, tra cui questi:

2892 2915 

2893* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code ha letto il valore come percorso di file in una sessione interattiva. Passate le definizioni come JSON inline, oppure aggiungete `-p` per leggerle da un file.2916* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code ha letto il valore come percorso di file in una sessione interattiva. Passa le definizioni come JSON inline, oppure aggiungi `-p` per leggerle da un file.

2894* **`Error: --agents file not found: <path>`**: nessun file esiste in quel percorso. Un valore che non inizia con `{` e non è JSON valido viene letto come percorso, quindi JSON inline che la vostra shell ha danneggiato può fallire in questo modo. Controllate il percorso o le virgolette e eseguite di nuovo il comando.2917* **`Error: --agents file not found: <path>`**: non esiste alcun file in quel percorso. Un valore che non inizia con `{` e non è JSON valido viene letto come percorso, quindi anche un JSON inline alterato dalla tua shell può fallire in questo modo. Controlla il percorso o le virgolette ed esegui di nuovo il comando.

2895 2918 

2896**Cosa fare:**2919**Cosa fare:**

2897 2920 

2898* Correggete ogni problema che il messaggio elenca, quindi eseguite di nuovo il comando. Vedete [i campi che un subagente definito da CLI accetta](/docs/it/sub-agents#choose-the-subagent-scope).2921* Correggi ogni problema elencato nel messaggio, quindi esegui di nuovo il comando. Consulta [i campi accettati da un subagent definito dalla CLI](/docs/it/sub-agents#choose-the-subagent-scope).

2899 2922 

2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2923<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

2901 Le sessioni cloud non possono essere create da una sessione `--restricted`2924 Le sessioni cloud non possono essere create da una sessione `--restricted`

2902</h3>2925</h3>

2903 2926 

2904Quando avviate una sessione con [`--restricted`](/docs/it/cli-reference#cli-flags), Claude Code rifiuta di creare [sessioni cloud](/docs/it/claude-code-on-the-web#from-terminal-to-cloud) da essa, perché la nuova sessione verrebbe eseguita al di fuori del processo ristretto e non farebbe rispettare la modalità ristretta. Claude Code rifiuta dal client, prima di contattare il server, quindi nessuna sessione cloud viene creata:2927Quando avvii una sessione con [`--restricted`](/docs/it/cli-reference#cli-flags), Claude Code si rifiuta di creare [sessioni cloud](/docs/it/claude-code-on-the-web#from-terminal-to-cloud) a partire da essa, perché la nuova sessione verrebbe eseguita al di fuori del processo con restrizioni e non applicherebbe la modalità con restrizioni. Claude Code rifiuta sul client, prima di contattare il server, quindi non viene creata alcuna sessione cloud:

2905 2928 

2906```text theme={null}2929```text theme={null}

2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2930Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2909 2932 

2910**Cosa fare:**2933**Cosa fare:**

2911 2934 

2912* Eseguite l'attività localmente nella sessione ristretta2935* Esegui l'attività localmente nella sessione con restrizioni

2913* Se controllate come è stata avviata la sessione, avviate una nuova sessione `claude` senza `--restricted` e create la sessione cloud da lì2936* Se controlli il modo in cui è stata avviata la sessione, avvia una nuova sessione `claude` senza `--restricted` e crea la sessione cloud da lì

2914 2937 

2915Prima della v2.1.248, Claude Code non aveva il flag `--restricted`; le versioni precedenti rifiutano il flag stesso con un errore di opzione sconosciuta.2938Prima della v2.1.248, Claude Code non aveva il flag `--restricted`; le versioni precedenti rifiutano il flag stesso con un errore di opzione sconosciuta.

2916 2939 

2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2940<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2918 Le sessioni cloud sono disabilitate dalla politica della vostra organizzazione2941 Le sessioni cloud sono disabilitate dalla policy della tua organizzazione

2919</h3>2942</h3>

2920 2943 

2921La politica `allow_remote_sessions` della vostra organizzazione è disattivata, quindi [le sessioni cloud](/docs/it/claude-code-on-the-web) e i comandi che le utilizzano non sono disponibili:2944La policy `allow_remote_sessions` della tua organizzazione è disattivata, quindi le [sessioni cloud](/docs/it/claude-code-on-the-web) e i comandi che le usano non sono disponibili:

2922 2945 

2923```text theme={null}2946```text theme={null}

2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2947Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2925```2948```

2926 2949 

2927Il messaggio appare quando [create una sessione cloud dal terminale](/docs/it/claude-code-on-the-web#from-terminal-to-cloud) e quando inviate un comando che ha bisogno di sessioni cloud, come `/teleport`, `/remote-env` o `/web-setup`. Prima della v2.1.268, l'invio di uno di questi comandi restituiva [`Unknown command`](#unknown-command) invece.2950Il messaggio appare quando [crei una sessione cloud dal terminale](/docs/it/claude-code-on-the-web#from-terminal-to-cloud) e quando invii un comando che richiede le sessioni cloud, come `/teleport`, `/remote-env` o `/web-setup`. Prima della v2.1.268, l'invio di uno di questi comandi restituiva invece [`Unknown command`](#unknown-command).

2928 2951 

2929Questa è una politica organizzativa lato server, quindi non può essere ignorata dalle impostazioni locali, dalle variabili di ambiente o dai flag CLI.2952Si tratta di una policy dell'organizzazione lato server, quindi non può essere sovrascritta da impostazioni locali, variabili d'ambiente o flag della CLI.

2930 2953 

2931Se Claude Code non ha ancora caricato la politica della vostra organizzazione o non riesce a recuperarla, questi comandi rispondono `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` invece.2954Se Claude Code non ha ancora caricato la policy della tua organizzazione o non riesce a recuperarla, quei comandi rispondono invece `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`.

2932 2955 

2933**Cosa fare:**2956**Cosa fare:**

2934 2957 

2935* Chiedete a un [Owner](/docs/it/server-managed-settings#access-control) della vostra organizzazione di abilitare le sessioni cloud nelle impostazioni di amministrazione di Claude Code su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)2958* Chiedi a un [Owner](/docs/it/server-managed-settings#access-control) della tua organizzazione di abilitare le sessioni cloud nelle impostazioni di amministrazione di Claude Code su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

2936* Se il messaggio dice che non ha potuto verificare la politica, controllate la vostra connessione di rete, quindi riavviate Claude Code e riprovate2959* Se il messaggio indica che non è stato possibile verificare la policy, controlla la connessione di rete, quindi riavvia Claude Code e riprova

2937 2960 

2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2961<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2939 Il valore `--json-schema` non è uno schema JSON valido2962 Il valore di `--json-schema` non è un JSON Schema valido

2940</h3>2963</h3>

2941 2964 

2942Lo schema che avete passato a [`--json-schema`](/docs/it/cli-reference#cli-flags) in [modalità non interattiva](/docs/it/headless#get-structured-output) ha fallito la compilazione dello schema JSON, quindi `claude` esce con codice 1 invece di eseguire il prompt. Prima della v2.1.205, uno schema non valido produceva output non strutturato senza errore, e qualsiasi schema che utilizzava la parola chiave `format` era trattato come non valido.2965Lo schema che hai passato a [`--json-schema`](/docs/it/cli-reference#cli-flags) in [modalità non interattiva](/docs/it/headless#get-structured-output) non ha superato la compilazione JSON Schema, quindi `claude` termina con codice di uscita 1 invece di eseguire il prompt. Prima della v2.1.205, uno schema non valido produceva un output non strutturato senza errori, e qualsiasi schema che usava la parola chiave `format` veniva trattato come non valido.

2943 2966 

2944```text theme={null}2967```text theme={null}

2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2968Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2946```2969```

2947 2970 

2948Il testo dopo il secondo due punti è la diagnostica del validatore e nomina la parola chiave o la posizione che ha fallito. Gli schemi che utilizzano la parola chiave `format`, come `"format": "email"`, sono validi: Claude Code accetta `format` come annotazione e non la applica.2971Il testo dopo i secondi due punti è la diagnostica del validatore e indica la parola chiave o la posizione che ha fallito. Gli schemi che usano la parola chiave `format`, come `"format": "email"`, sono validi: Claude Code accetta `format` come annotazione e non lo applica.

2949 2972 

2950Claude Code esegue due controlli prima della compilazione dello schema: rifiuta un valore che non è JSON analizzabile con `Error: --json-schema is not valid JSON`, e JSON valido che non è un oggetto con `Error: --json-schema must be a JSON object`.2973Claude Code esegue due controlli prima della compilazione dello schema: rifiuta un valore che non è JSON analizzabile con `Error: --json-schema is not valid JSON`, e un JSON valido che non è un oggetto con `Error: --json-schema must be a JSON object`.

2951 2974 

2952**Cosa fare:**2975**Cosa fare:**

2953 2976 

2954* Correggete la parte dello schema che la diagnostica nomina, quindi rieseguite il comando2977* Correggi la parte dello schema indicata dalla diagnostica, quindi esegui di nuovo il comando

2955* Vedete [Get structured output](/docs/it/headless#get-structured-output) per uno schema funzionante e un comando2978* Consulta [Ottenere output strutturato](/docs/it/headless#get-structured-output) per uno schema e un comando funzionanti

2956 2979 

2957<h3 id="settings-file-exceeds-the-2mib-limit">2980<h3 id="settings-file-exceeds-the-2mib-limit">

2958 Il file di impostazioni supera il limite di 2MiB2981 Il file delle impostazioni supera il limite di 2MiB

2959</h3>2982</h3>

2960 2983 

2961Il file che avete passato a [`--settings`](/docs/it/cli-reference#cli-flags) è più grande di 2 MiB, quindi `claude` esce con codice 1 all'avvio invece di caricarlo. Prima della v2.1.214, Claude Code leggeva il file senza controllo delle dimensioni, e un file di più gigabyte o un file di dispositivo come `/dev/zero` faceva crescere la memoria senza limiti.2984Il file che hai passato a [`--settings`](/docs/it/cli-reference#cli-flags) è più grande di 2 MiB, quindi `claude` termina con codice di uscita 1 all'avvio invece di caricarlo. Prima della v2.1.214, Claude Code leggeva il file senza alcun controllo delle dimensioni, e un file di più gigabyte o un file di dispositivo come `/dev/zero` faceva crescere la memoria senza limiti.

2962 2985 

2963```text theme={null}2986```text theme={null}

2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2987Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2965```2988```

2966 2989 

2967Claude Code rifiuta un percorso `--settings` che non è un file regolare allo stesso modo: un dispositivo, FIFO o socket segnala `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguito dal percorso, e una directory segnala un motivo `EISDIR`.2990Claude Code rifiuta allo stesso modo un percorso `--settings` che non è un file regolare: un dispositivo, una FIFO o un socket riporta `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguito dal percorso, e una directory riporta un motivo `EISDIR`.

2968 2991 

2969**Cosa fare:**2992**Cosa fare:**

2970 2993 

2971* Puntate `--settings` a un file JSON di impostazioni regolare sotto 2 MiB. Vedete [Settings](/docs/it/settings) per il formato.2994* Fai puntare `--settings` a un normale file JSON di impostazioni inferiore a 2 MiB. Consulta [Impostazioni](/docs/it/settings) per il formato.

2972 2995 

2973<h3 id="the-current-directory-no-longer-exists">2996<h3 id="the-current-directory-no-longer-exists">

2974 La directory corrente non esiste più2997 La directory corrente non esiste più

2975</h3>2998</h3>

2976 2999 

2977Avete avviato `claude` da una directory che è stata eliminata o spostata dopo che la vostra shell vi è entrata, ad esempio una worktree o una directory temporanea che un'altra shell ha rimosso. Claude Code non riesce a leggere la sua directory di lavoro, quindi esce con codice 1 prima di avviare la sessione, sia in modalità interattiva che [non interattiva](/docs/it/headless). Prima della v2.1.239, Claude Code si bloccava con il codice sorgente del bundle minificato e uno stack `ENOENT ... uv_cwd` grezzo su stderr invece di questo messaggio.3000Hai avviato `claude` da una directory che è stata eliminata o spostata dopo che la tua shell vi era entrata, ad esempio un worktree o una directory temporanea rimossa da un'altra shell. Claude Code non riesce a leggere la propria directory di lavoro, quindi termina con codice di uscita 1 prima di avviare la sessione, sia in modalità interattiva sia in modalità [non interattiva](/docs/it/headless). Prima della v2.1.239, Claude Code si arrestava in modo anomalo mostrando sorgente del bundle minificato e uno stack `ENOENT ... uv_cwd` grezzo su stderr invece di questo messaggio.

2978 3001 

2979```text theme={null}3002```text theme={null}

2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3003The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.


2983 3006 

2984La causa e la soluzione sono le stesse per entrambe le forme.3007La causa e la soluzione sono le stesse per entrambe le forme.

2985 3008 

2986Quando Claude Code non riesce a leggere la directory di lavoro per un motivo diverso, come un cambio di permessi, il messaggio nomina il codice di errore invece: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3009Quando Claude Code non riesce a leggere la directory di lavoro per un motivo diverso, ad esempio una modifica dei permessi, il messaggio indica invece il codice di errore: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2987 3010 

2988Su macOS, `EPERM` per una directory in `~/Desktop`, `~/Documents`, `~/Downloads` o iCloud Drive di solito significa che macOS sta bloccando l'accesso della vostra app terminale a quella cartella. Altri comandi che leggono quella cartella falliscono allo stesso modo: `ls` lì segnala `Operation not permitted`, anche con `sudo`.3011Su macOS, `EPERM` per una directory in `~/Desktop`, `~/Documents`, `~/Downloads` o iCloud Drive di solito significa che macOS sta bloccando l'accesso della tua app del terminale a quella cartella. Anche altri comandi che leggono quella cartella falliscono allo stesso modo: `ls` lì riporta `Operation not permitted`, anche con `sudo`.

2989 3012 

2990**Cosa fare:**3013**Cosa fare:**

2991 3014 

2992* Cambiate a una directory che esiste, come la vostra home o la directory del progetto, quindi eseguite di nuovo `claude`3015* Spostati in una directory esistente, come la tua directory home o la directory del progetto, quindi esegui di nuovo `claude`

2993* Se la directory è stata ricreata nello stesso percorso, la vostra shell tiene ancora quella eliminata. Eseguite `cd "$PWD"` o lasciate e rientrate nella directory, quindi eseguite di nuovo `claude`3016* Se la directory è stata ricreata nello stesso percorso, la tua shell mantiene ancora quella eliminata. Esegui `cd "$PWD"` oppure esci e rientra nella directory, quindi esegui di nuovo `claude`

2994* Per `EPERM` su macOS, chiudete la vostra app terminale con Cmd+Q, apritela di nuovo, tornate a quella cartella ed eseguite `claude`. Se `ls` in quella cartella continua a fallire, aprite **System Settings > Privacy & Security > Files and Folders**, attivate la cartella per la vostra app terminale, quindi riaprire il terminale3017* Per `EPERM` su macOS, chiudi la tua app del terminale con Cmd+Q, riaprila, torna in quella cartella ed esegui `claude`. Se `ls` in quella cartella continua a fallire, apri **Impostazioni di Sistema > Privacy e sicurezza > File e cartelle**, attiva la cartella per la tua app del terminale, quindi riapri il terminale

2995 3018 

2996<h3 id="temp-directory-refused-or-cannot-be-created">3019<h3 id="temp-directory-refused-or-cannot-be-created">

2997 La directory temporanea è stata rifiutata o non può essere creata3020 Directory temporanea rifiutata o impossibile da creare

2998</h3>3021</h3>

2999 3022 

3000Su macOS e Linux, Claude Code crea una directory temporanea privata all'avvio, `claude-<uid>` sotto la directory temporanea di sistema o l'override [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars). Quando la directory non può essere creata, o una voce già in quel percorso fallisce i controlli di sicurezza, Claude Code stampa l'errore su stderr ed esce con codice 1 piuttosto che avviare la sessione:3023Su macOS e Linux, Claude Code crea all'avvio una directory temporanea privata, `claude-<uid>`, sotto la directory temporanea di sistema o l'override [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars). Quando la directory non può essere creata, oppure una voce già presente in quel percorso non supera i controlli di sicurezza, Claude Code stampa l'errore su stderr e termina con codice di uscita 1 invece di avviare la sessione:

3001 3024 

3002```text wrap theme={null}3025```text wrap theme={null}

3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3026ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3011 3034 

3012**Cosa fare:**3035**Cosa fare:**

3013 3036 

3014* Per `ENOSPC`, liberate spazio su disco nel volume che contiene la directory temporanea3037* Per `ENOSPC`, libera spazio su disco nel volume che contiene la directory temporanea

3015* Per le forme `Refusing to use it`, rimuovete la voce denominata stessa, non quello a cui un link punta, e avviate di nuovo Claude Code; per la forma `owned by uid`, solo un amministratore o quell'utente può rimuoverla3038* Per le forme `Refusing to use it`, rimuovi la voce indicata stessa, non ciò a cui punta un collegamento, e avvia di nuovo Claude Code; per la forma `owned by uid`, solo un amministratore o quell'utente può rimuoverla

3016* Per `is not readable`, eseguite `chmod 0700` sulla directory denominata, oppure rimuovetela e avviate di nuovo3039* Per `is not readable`, esegui `chmod 0700` sulla directory indicata, oppure rimuovila e riavvia

3017* In uno qualsiasi di questi casi, impostate [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) a una directory che controllate e avviate di nuovo Claude Code, lasciando il percorso rifiutato da solo3040* In uno qualsiasi di questi casi, imposta [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) su una directory che controlli e avvia di nuovo Claude Code, lasciando intatto il percorso rifiutato

3018 3041 

3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3042<h3 id="directory-couldnt-be-resolved-to-a-real-location">

3020 La directory non ha potuto essere risolta a una posizione reale3043 Impossibile risolvere la directory in una posizione reale

3021</h3>3044</h3>

3022 3045 

3023Avete eseguito `/add-dir` per una sottodirectory della vostra directory di lavoro, e Claude Code non ha potuto risolvere la directory alla sua posizione reale.3046Hai eseguito `/add-dir` per una sottodirectory della tua directory di lavoro e Claude Code non è riuscito a risolvere la directory nella sua posizione reale.

3024 3047 

3025Avete già accesso ai file a una sottodirectory della directory di lavoro, quindi `/add-dir` carica solo le sue skills, comandi e agenti. Prima di caricarli, Claude Code controlla che la posizione reale della directory, con qualsiasi symlink risolto, sia dentro la directory di lavoro. Quando Claude Code non riesce a risolvere quella posizione, non carica nulla e mostra questo messaggio:3048Hai già accesso ai file di una sottodirectory della directory di lavoro, quindi `/add-dir` carica solo le sue skill, i suoi comandi e i suoi agenti. Prima di caricarli, Claude Code verifica che la posizione reale della directory, con tutti i collegamenti simbolici risolti, si trovi all'interno della directory di lavoro. Quando Claude Code non riesce a risolvere quella posizione, non carica nulla e mostra questo messaggio:

3026 3049 

3027```text theme={null}3050```text theme={null}

3028packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.3051packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


3030 3053 

3031**Cosa fare:**3054**Cosa fare:**

3032 3055 

3033* Controllate che il percorso nomini una directory reale dentro la directory di lavoro, quindi eseguite di nuovo `/add-dir`3056* Verifica che il percorso indichi una directory reale all'interno della directory di lavoro, quindi esegui di nuovo `/add-dir`

3034* Il messaggio non cambia l'accesso ai vostri file; riporta solo che il contenuto `.claude/` della directory non è stato caricato3057* Il messaggio non modifica il tuo accesso ai file; segnala solo che il contenuto `.claude/` della directory non è stato caricato

3035 3058 

3036Prima della v2.1.261, questo messaggio appariva anche per ogni `/add-dir <subdirectory>` quando la directory di lavoro era su un automount `/net/<host>`, dove Claude Code rifiuta di risolvere i percorsi per progettazione; la directory era fine e riprovare non poteva aiutare.3059Prima della v2.1.261, questo messaggio appariva anche per ogni `/add-dir <subdirectory>` quando la directory di lavoro si trovava su un automount `/net/<host>`, dove Claude Code per scelta progettuale non risolve i percorsi; la directory era a posto e riprovare non poteva essere d'aiuto.

3037 3060 

3038<h3 id="workspace-not-trusted-when-starting-remote-control">3061<h3 id="workspace-not-trusted-when-starting-remote-control">

3039 Workspace non attendibile all'avvio di Remote Control3062 Workspace non attendibile all'avvio di Remote Control

3040</h3>3063</h3>

3041 3064 

3042Avete avviato la modalità server [Remote Control](/docs/it/remote-control) con `claude remote-control` o il suo alias `claude rc` in una directory che non avete attendibile, e il comando non ha potuto chiedervi se fidarvi di essa. Ad esempio, l'input standard o l'output standard del comando non è un terminale perché uno di essi è reindirizzato o pipato. Il comando esce con codice 1:3065Hai avviato la modalità server di [Remote Control](/docs/it/remote-control) con `claude remote-control` o il suo alias `claude rc` in una directory che non hai considerato attendibile, e il comando non ha potuto chiederti se considerarla attendibile. Ad esempio, lo standard input o lo standard output del comando non è un terminale perché uno dei due è reindirizzato o inviato tramite pipe. Il comando termina con codice di uscita 1:

3043 3066 

3044```text theme={null}3067```text theme={null}

3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3068Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3046```3069```

3047 3070 

3048Due varianti che iniziano anche con `Error: Workspace not trusted.` appaiono anche in un terminale troppo piccolo per mostrare cosa attiva l'attendibilità della directory, o uno che non ha segnalato le sue dimensioni. Ingrandite la finestra o passate a una finestra terminale normale, quindi eseguite di nuovo `claude rc`.3071Due varianti che iniziano anch'esse con `Error: Workspace not trusted.` appaiono in un terminale troppo piccolo per mostrare ciò che l'attendibilità della directory attiva, o in uno che non ha comunicato le proprie dimensioni. Ingrandisci la finestra o passa a una normale finestra del terminale, quindi esegui di nuovo `claude rc`.

3049 3072 

3050Nella vostra home directory il messaggio è diverso, perché la finestra di dialogo di attendibilità dell'area di lavoro non salva mai l'attendibilità per la home directory, quindi accettarla lì non può soddisfare questo controllo. Prima della v2.1.214, la home directory mostrava il messaggio sopra, il cui consiglio non può avere successo lì.3073Nella tua directory home il messaggio è diverso, perché la finestra di dialogo di attendibilità del workspace non salva mai l'attendibilità per la directory home, quindi accettarla lì non può soddisfare questo controllo. Prima della v2.1.214, la directory home mostrava il messaggio precedente, il cui consiglio lì non può avere successo.

3051 3074 

3052```text theme={null}3075```text theme={null}

3053Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).3076Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

3054```3077```

3055 3078 

3056Se rispondete `n` o premete Invio alla domanda [`Trust <directory>?`](/docs/it/remote-control#requirements), il comando stampa un messaggio `Remote Control did not start` che nomina la directory ed esce con codice 1. Eseguite di nuovo `claude rc` per rispondere `y`.3079Se rispondi `n` o premi Invio alla [domanda `Trust <directory>?`](/docs/it/remote-control#requirements), il comando stampa un messaggio `Remote Control did not start` che indica la directory e termina con codice di uscita 1. Esegui di nuovo `claude rc` per rispondere `y`.

3057 3080 

3058**Cosa fare:**3081**Cosa fare:**

3059 3082 

3060* Attendete la directory da un terminale prima: eseguite `claude rc` lì e rispondete `y`, oppure eseguite `claude` lì e accettate la [finestra di dialogo di attendibilità dell'area di lavoro](/docs/it/permissions#project-allow-rules-and-workspace-trust), quindi eseguite di nuovo il vostro comando originale3083* Considera prima attendibile la directory da un terminale: esegui lì `claude rc` e rispondi `y`, oppure esegui lì `claude` e accetta la [finestra di dialogo di attendibilità del workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), quindi esegui di nuovo il comando originale

3061* Nella vostra home directory, cambiate a una directory di progetto e avviate Remote Control lì3084* Nella tua directory home, spostati in una directory di progetto e avvia Remote Control da lì

3062 3085 

3063Prima della v2.1.284, il comando non ha mai chiesto, nemmeno in un terminale.3086Prima della v2.1.284, il comando non chiedeva mai, nemmeno in un terminale.

3064 3087 

3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3088<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

3066 Non trasportato alle sessioni che Remote Control avvia3089 Non trasferito alle sessioni avviate da Remote Control

3067</h3>3090</h3>

3068 3091 

3069Avete avviato [Remote Control](/docs/it/remote-control) con un flag `claude` globale prima del verbo `remote-control`, uno che limiterebbe o configurerebbe le sessioni che Remote Control avvia, come `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` o `--mcp-config`. Un flag posizionato prima del verbo non raggiunge mai quelle sessioni. Claude Code rifiuta di avviare invece, nominando il flag:3092Hai avviato [Remote Control](/docs/it/remote-control) con un flag globale di `claude` prima del verbo `remote-control`, uno che limiterebbe o configurerebbe le sessioni avviate da Remote Control, come `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` o `--mcp-config`. Un flag posto prima del verbo non raggiunge mai quelle sessioni. Claude Code si rifiuta invece di avviarsi, indicando il flag:

3070 3093 

3071```text theme={null}3094```text theme={null}

3072Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3095Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

3073```3096```

3074 3097 

3075Claude Code non rifiuta i flag globali che sono innocui da eliminare, come `--verbose`, `--model` o un `--session-id` o `--plugin-dir` iniettato da wrapper: li ignora e Remote Control si avvia.3098Claude Code non rifiuta i flag globali che è innocuo tralasciare, come `--verbose`, `--model`, o un `--session-id` o `--plugin-dir` iniettato da un wrapper: li ignora e Remote Control si avvia.

3076 3099 

3077Claude Code rifiuta anche di avviare per un flag globale che non riconosce ancora come innocuo, quindi un flag aggiunto in una versione più recente può apparire in questo messaggio fino a quando una versione successiva non lo contrassegna come innocuo.3100Claude Code si rifiuta di avviarsi anche per un flag globale che non riconosce ancora come innocuo, quindi un flag aggiunto in una versione più recente può apparire in questo messaggio finché una versione successiva non lo contrassegna come innocuo.

3078 3101 

3079**Cosa fare:**3102**Cosa fare:**

3080 3103 

3081* Rimuovete il flag da prima del verbo e passate [le opzioni proprie di Remote Control](/docs/it/remote-control#start-a-remote-control-session) dopo di esso; `claude remote-control --help` le elenca3104* Rimuovi il flag da prima del verbo e passa [le opzioni proprie di Remote Control](/docs/it/remote-control#start-a-remote-control-session) dopo di esso; `claude remote-control --help` le elenca

3082* Quando il flag rifiutato è `--permission-mode`, eseguite `claude remote-control --permission-mode <mode>` per impostare la modalità di permesso per le sessioni che Remote Control avvia3105* Quando il flag rifiutato è `--permission-mode`, esegui `claude remote-control --permission-mode <mode>` per impostare la modalità di permesso per le sessioni avviate da Remote Control

3083 3106 

3084Prima della v2.1.248, `claude remote-control` non accettava i suoi flag quando un flag globale veniva per primo, e il comando falliva con un errore di opzione sconosciuta.3107Prima della v2.1.248, `claude remote-control` non accettava i propri flag quando un flag globale veniva prima, e il comando falliva con un errore `unknown option`.

3085 3108 

3086<h3 id="claude-import-is-not-yet-available-in-this-build">3109<h3 id="claude-import-is-not-yet-available-in-this-build">

3087 claude import non è ancora disponibile in questa build3110 claude import non è ancora disponibile in questa build

3088</h3>3111</h3>

3089 3112 

3090Avete eseguito [`claude import`](/docs/it/cli-reference#cli-commands), e Claude Code ha trovato il flusso di importazione disattivato, quindi il comando esce con codice 1 invece di avviare l'importazione. Prima della v2.1.222, una build con il flusso di importazione disattivato trattava `import` come un prompt e avviava una sessione interattiva invece di stampare questo messaggio.3113Hai eseguito [`claude import`](/docs/it/cli-reference#cli-commands) e Claude Code ha trovato il flusso di importazione disattivato, quindi il comando termina con codice di uscita 1 invece di avviare l'importazione. Prima della v2.1.222, una build con il flusso di importazione disattivato trattava `import` come un prompt e avviava una sessione interattiva invece di stampare questo messaggio.

3091 3114 

3092```text theme={null}3115```text theme={null}

3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3116`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3094```3117```

3095 3118 

3096Claude Code attiva `claude import` attraverso un feature flag che recupera da Anthropic e memorizza nella cache su disco. Questo messaggio significa che il valore memorizzato nella cache è disattivato. La causa è di solito una delle seguenti:3119Claude Code attiva `claude import` tramite un feature flag che recupera da Anthropic e memorizza nella cache su disco. Questo messaggio significa che il valore nella cache è disattivato. La causa è di solito una delle seguenti:

3097 3120 

3098* Non avete avviato una sessione dall'installazione, quindi Claude Code non ha ancora recuperato il flag. Il primo `claude import` può stampare questo anche quando la funzione è disponibile per voi.3121* Non hai avviato una sessione dopo l'installazione, quindi Claude Code non ha ancora recuperato il flag. Il primo `claude import` può stampare questo messaggio anche quando la funzionalità è disponibile per te.

3099* Utilizzate Claude Code attraverso Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, o Claude Platform su AWS, o attraverso un [gateway di app Claude](/docs/it/claude-apps-gateway#availability-and-limitations). Claude Code non recupera i feature flag in queste sessioni, quindi `claude import` rimane non disponibile.3122* Usi Claude Code tramite Amazon Bedrock, Agent Platform di Google Cloud, Microsoft Foundry o Claude Platform su AWS, oppure tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway#availability-and-limitations). Claude Code non recupera i feature flag in queste sessioni, quindi `claude import` rimane non disponibile.

3100* Avete impostato `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` o [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/it/env-vars), che disattivano il recupero dei feature flag, quindi `claude import` rimane non disponibile.3123* Hai impostato `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` o [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/it/env-vars), che disattivano il recupero dei feature flag, quindi `claude import` rimane non disponibile.

3101 3124 

3102**Cosa fare:**3125**Cosa fare:**

3103 3126 

3104* Su un'installazione nuova, avviate `claude`, aspettate che la sessione si carichi, uscite ed eseguite di nuovo `claude import`3127* Su una nuova installazione, avvia `claude`, attendi il caricamento della sessione, esci ed esegui di nuovo `claude import`

3105* Dove il recupero dei feature flag rimane disattivato, impostate la configurazione voi stessi: aggiungete server MCP con [`claude mcp add`](/docs/it/mcp#installing-mcp-servers), e create i file [`CLAUDE.md`](/docs/it/memory#how-claude-md-files-load), [skills e comandi](/docs/it/skills#where-skills-live) e [subagenti](/docs/it/sub-agents#choose-the-subagent-scope) che volete trasportare. Il messaggio nomina anche `~/.claude/settings.json`. Della configurazione che `claude import` trasporta, quel file contiene solo la [modalità di permesso](/docs/it/settings-reference#permission-settings); Claude Code non legge i server MCP da esso.3128* Dove il recupero dei feature flag rimane disattivato, imposta tu stesso la configurazione: aggiungi i server MCP con [`claude mcp add`](/docs/it/mcp#installing-mcp-servers) e crea i [file `CLAUDE.md`](/docs/it/memory#how-claude-md-files-load), le [skill e i comandi](/docs/it/skills#where-skills-live) e i [subagent](/docs/it/sub-agents#choose-the-subagent-scope) che vuoi trasferire. Il messaggio indica anche `~/.claude/settings.json`. Della configurazione trasferita da `claude import`, quel file contiene solo la [modalità di permesso](/docs/it/settings-reference#permission-settings); Claude Code non legge i server MCP da esso.

3106 3129 

3107<h3 id="could-not-read-claude-code-config">3130<h3 id="could-not-read-claude-code-config">

3108 Non è stato possibile leggere la configurazione di Claude Code3131 Impossibile leggere la configurazione di Claude Code

3109</h3>3132</h3>

3110 3133 

3111Avete eseguito [`claude import`](/docs/it/cli-reference#cli-commands) mentre Claude Code non poteva analizzare `~/.claude.json`, il file dove memorizza il vostro login e lo stato per progetto. Il sottocomando legge quel file per controllare la disponibilità ma non mostra la finestra di dialogo di recupero che la sessione interattiva mostra, quindi esce con codice 1. Prima della v2.1.222, `claude import` con un file di configurazione illeggibile avviava una sessione interattiva, la cui finestra di dialogo di recupero gestiva il file.3134Hai eseguito [`claude import`](/docs/it/cli-reference#cli-commands) mentre Claude Code non riusciva ad analizzare `~/.claude.json`, il file in cui memorizza il tuo accesso e lo stato per progetto. Il sottocomando legge quel file per verificare la disponibilità ma non mostra la finestra di dialogo di ripristino che mostra la sessione interattiva, quindi termina con codice di uscita 1. Prima della v2.1.222, `claude import` con un file di configurazione illeggibile avviava una sessione interattiva, la cui finestra di dialogo di ripristino gestiva il file.

3112 3135 

3113```text theme={null}3136```text theme={null}

3114Could not read Claude Code config — run `claude` with no arguments to recover it.3137Could not read Claude Code config — run `claude` with no arguments to recover it.


3116 3139 

3117**Cosa fare:**3140**Cosa fare:**

3118 3141 

3119* Eseguite `claude` senza argomenti. Claude Code rileva il file non valido e offre di ripristinarlo. Quindi eseguite di nuovo `claude import`.3142* Esegui `claude` senza argomenti. Claude Code rileva il file non valido e offre di reimpostarlo. Quindi esegui di nuovo `claude import`.

3120* Per mantenere le modifiche manuali che avete fatto, correggete la sintassi JSON in `~/.claude.json` in un editor invece, quindi rieseguite `claude import`3143* Per mantenere le modifiche manuali che hai apportato, correggi invece la sintassi JSON in `~/.claude.json` in un editor, quindi esegui di nuovo `claude import`

3121 3144 

3122<h3 id="could-not-import-a-server-from-claude-desktop">3145<h3 id="could-not-import-a-server-from-claude-desktop">

3123 Non è stato possibile importare un server da Claude Desktop3146 Impossibile importare un server da Claude Desktop

3124</h3>3147</h3>

3125 3148 

3126Claude Code non ha potuto aggiungere uno dei server che avete selezionato in `claude mcp add-from-claude-desktop`. Il comando importa comunque gli altri server selezionati e stampa una riga per server che non ha potuto aggiungere. Prima della v2.1.205, il primo server che falliva fermava l'importazione.3149Claude Code non è riuscito ad aggiungere uno dei server che hai selezionato in `claude mcp add-from-claude-desktop`. Il comando importa comunque gli altri server selezionati e stampa una riga per ogni server che non è riuscito ad aggiungere. Prima della v2.1.205, il primo server che falliva interrompeva l'importazione.

3127 3150 

3128```text theme={null}3151```text theme={null}

3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3152Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3130```3153```

3131 3154 

3132Il testo dopo il nome del server è il motivo. Il più comune è il controllo del nome: Claude Desktop consente caratteri nei nomi dei server, come spazi e punti, che `claude mcp` limita a lettere, numeri, trattini e sottolineature. Altri motivi includono una configurazione del server che fallisce la convalida e un server bloccato dalla [politica MCP](/docs/it/managed-mcp) della vostra organizzazione.3155Il testo dopo il nome del server è il motivo. Il più comune è il controllo del nome: Claude Desktop consente nei nomi dei server caratteri, come spazi e punti, che `claude mcp` limita a lettere, numeri, trattini e trattini bassi. Altri motivi includono una configurazione del server che non supera la validazione e un server bloccato dalla [policy MCP](/docs/it/managed-mcp) della tua organizzazione.

3133 3156 

3134**Cosa fare:**3157**Cosa fare:**

3135 3158 

3136* Rinominate il server in `claude_desktop_config.json` per utilizzare solo lettere, numeri, trattini e sottolineature, quindi eseguite di nuovo `claude mcp add-from-claude-desktop`3159* Rinomina il server in `claude_desktop_config.json` usando solo lettere, numeri, trattini e trattini bassi, quindi esegui di nuovo `claude mcp add-from-claude-desktop`

3137* Aggiungete quel server direttamente con `claude mcp add` o `claude mcp add-json` con un nome valido. Vedete [Import MCP servers from Claude Desktop](/docs/it/mcp#import-mcp-servers-from-claude-desktop).3160* Aggiungi quel server direttamente con `claude mcp add` o `claude mcp add-json` con un nome valido. Consulta [Importare server MCP da Claude Desktop](/docs/it/mcp#import-mcp-servers-from-claude-desktop).

3138 3161 

3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3162<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3140 Non è possibile aggiungere un server MCP all'ambito gestito3163 Impossibile aggiungere il server MCP all'ambito gestito

3141</h3>3164</h3>

3142 3165 

3143Avete eseguito `claude mcp add` o `claude mcp add-json` con `--scope managed`. Quell'ambito contiene i server che la vostra organizzazione fornisce attraverso l'impostazione gestita [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers). Claude Code li legge dalle impostazioni gestite solo, quindi il comando non può scrivere un server in quell'ambito.3166Hai eseguito `claude mcp add` o `claude mcp add-json` con `--scope managed`. Quell'ambito contiene i server che la tua organizzazione fornisce tramite l'impostazione gestita [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers). Claude Code li legge solo dalle impostazioni gestite, quindi il comando non può scrivere un server in quell'ambito.

3144 3167 

3145```text theme={null}3168```text theme={null}

3146Cannot add MCP server to scope: managed3169Cannot add MCP server to scope: managed


3148 3171 

3149**Cosa fare:**3172**Cosa fare:**

3150 3173 

3151* Aggiungete il server a un ambito in cui potete scrivere: `local`, `user` o `project`. Senza `--scope`, il comando utilizza `local`. Vedete [MCP installation scopes](/docs/it/mcp#mcp-installation-scopes)3174* Aggiungi il server a un ambito in cui puoi scrivere: `local`, `user` o `project`. Senza `--scope`, il comando usa `local`. Consulta [Ambiti di installazione MCP](/docs/it/mcp#mcp-installation-scopes)

3152* Per fornire il server a ogni utente della vostra organizzazione, aggiungetelo a [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle impostazioni gestite che distribuite3175* Per fornire il server a ogni utente della tua organizzazione, aggiungilo a [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle impostazioni gestite che distribuisci

3153 3176 

3154<h3 id="cant-read-mcp-json">3177<h3 id="cant-read-mcp-json">

3155 Non è possibile leggere .mcp.json3178 Impossibile leggere .mcp.json

3156</h3>3179</h3>

3157 3180 

3158Un comando che legge il [`.mcp.json`](/docs/it/mcp#project-scope) del progetto, come `claude mcp add` o `claude mcp add-json` con `--scope project`, o `claude mcp remove`, ha trovato che il file nella vostra directory corrente non è un file regolare o è più grande di 2 MiB, quindi esce con questo errore invece di leggere il file.3181Un comando che legge il file [`.mcp.json`](/docs/it/mcp#project-scope) del progetto, come `claude mcp add` o `claude mcp add-json` con `--scope project`, oppure `claude mcp remove`, ha rilevato che il file nella tua directory corrente non è un file regolare o è più grande di 2 MiB, quindi termina con questo errore invece di leggere il file.

3159 3182 

3160```text theme={null}3183```text theme={null}

3161Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3184Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

3162```3185```

3163 3186 

3164Prima della v2.1.257, un FIFO in `.mcp.json` lasciava il comando in attesa per sempre senza output, e un symlink a un file di dispositivo come `/dev/zero` faceva crescere la memoria fino a quando il processo non veniva ucciso.3187Prima della v2.1.257, una FIFO in `.mcp.json` lasciava il comando in attesa all'infinito senza output, e un collegamento simbolico a un file di dispositivo come `/dev/zero` faceva crescere la memoria finché il processo non veniva terminato.

3165 3188 

3166**Cosa fare:**3189**Cosa fare:**

3167 3190 

3168* Controllate cosa si trova in `.mcp.json` nella vostra directory corrente. Sostituitelo con un file JSON ordinario nel [formato project-scope](/docs/it/mcp#project-scope), oppure eliminatelo, quindi eseguite di nuovo il comando.3191* Controlla cosa si trova in `.mcp.json` nella tua directory corrente. Sostituiscilo con un normale file JSON nel [formato dell'ambito di progetto](/docs/it/mcp#project-scope), oppure eliminalo, quindi esegui di nuovo il comando.

3169 3192 

3170<h3 id="mcp-server-was-not-saved-or-removed">3193<h3 id="mcp-server-was-not-saved-or-removed">

3171 Il server MCP non è stato salvato o rimosso3194 Il server MCP non è stato salvato o rimosso

3172</h3>3195</h3>

3173 3196 

3174Avete eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'ambito `user` o `local` [scope](/docs/it/mcp#mcp-installation-scopes). Entrambi gli ambiti sono memorizzati in `~/.claude.json`, e la modifica non è in quel file quando Claude Code lo legge di nuovo dopo la scrittura. Il comando esce con questo errore invece della sua riga di successo.3197Hai eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'[ambito](/docs/it/mcp#mcp-installation-scopes) `user` o `local`. Entrambi gli ambiti sono memorizzati in `~/.claude.json`, e la modifica non è presente in quel file quando Claude Code lo rilegge dopo la scrittura. Il comando termina con questo errore invece della sua riga di successo.

3175 3198 

3176```text theme={null}3199```text theme={null}

3177MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3200MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.

3178```3201```

3179 3202 

3180Dopo una rimozione, il messaggio legge `was not removed from` e termina con `then remove the server again`. Per un server `local`-scope, il percorso è seguito dalla directory del progetto a cui appartiene la voce, come `(local scope for /path/to/project)`.3203Dopo una rimozione, il messaggio riporta `was not removed from` e termina con `then remove the server again`. Per un server con ambito `local`, il percorso è seguito dalla directory del progetto a cui appartiene la voce, come `(local scope for /path/to/project)`.

3181 3204 

3182Prima della v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` segnalano il successo anche quando la modifica non raggiungeva il file.3205Prima della v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` riportavano un successo anche quando la modifica non raggiungeva il file.

3183 3206 

3184**Cosa fare:**3207**Cosa fare:**

3185 3208 

3186* Rendete il file che il messaggio nomina scrivibile, oppure eseguite il comando al di fuori della sandbox, quindi eseguite di nuovo lo stesso comando di aggiunta o rimozione.3209* Rendi scrivibile il file indicato dal messaggio, oppure esegui il comando al di fuori della sandbox, quindi esegui di nuovo lo stesso comando di aggiunta o rimozione.

3187 3210 

3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3211<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3189 Il server MCP potrebbe non essere stato salvato o rimosso3212 Il server MCP potrebbe non essere stato salvato o rimosso

3190</h3>3213</h3>

3191 3214 

3192Avete eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'ambito `user` o `local` [scope](/docs/it/mcp#mcp-installation-scopes), e Claude Code non ha potuto leggere `~/.claude.json` di nuovo per confermare la modifica. La modifica potrebbe essere o non essere su disco. Il testo tra parentesi è l'errore da quella lettura.3215Hai eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'[ambito](/docs/it/mcp#mcp-installation-scopes) `user` o `local`, e Claude Code non è riuscito a rileggere `~/.claude.json` per confermare la modifica. La modifica potrebbe essere o non essere su disco. Il testo tra parentesi è l'errore di quella lettura.

3193 3216 

3194```text theme={null}3217```text theme={null}

3195MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3218MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3196```3219```

3197 3220 

3198Dopo una rimozione, il messaggio legge `may not have been removed` e termina con `then remove the server again if it is still listed`.3221Dopo una rimozione, il messaggio riporta `may not have been removed` e termina con `then remove the server again if it is still listed`.

3199 3222 

3200Prima della v2.1.283, i comandi segnalano il successo anche quando la modifica non poteva essere confermata.3223Prima della v2.1.283, i comandi riportavano un successo anche quando non era possibile confermare la modifica.

3201 3224 

3202**Cosa fare:**3225**Cosa fare:**

3203 3226 

3204* Eseguite `claude mcp get <name>` per controllare se la modifica è su disco. Per un server `local`-scope, eseguitelo dalla directory del progetto a cui appartiene il server, poiché l'ambito locale è per progetto.3227* Esegui `claude mcp get <name>` per verificare se la modifica è su disco. Per un server con ambito `local`, eseguilo dalla directory del progetto a cui appartiene il server, poiché l'ambito locale è per progetto.

3205* Se il server manca dopo un'aggiunta, o è ancora elencato dopo una rimozione, eseguite di nuovo lo stesso comando di aggiunta o rimozione.3228* Se il server manca dopo un'aggiunta, o è ancora elencato dopo una rimozione, esegui di nuovo lo stesso comando di aggiunta o rimozione.

3206 3229 

3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3230<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3208 Il server è ospitato da Anthropic e non supporta OAuth locale3231 Il server è ospitato da Anthropic e non supporta OAuth locale

3209</h3>3232</h3>

3210 3233 

3211Avete avviato un accesso per un server MCP il cui URL punta a un host di connettore ospitato da Anthropic che si autentica attraverso un provider di identità di terze parti. Questi host includono `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` e `gcal.mcp.claude.com`. Claude Code rifiuta di avviare il suo flusso OAuth locale per questi host sia dal pannello `/mcp` che da `claude mcp login`, perché [il loro accesso funziona solo attraverso claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai).3234Hai avviato un accesso per un server MCP il cui URL punta a un host di connettori ospitato da Anthropic che esegue l'autenticazione tramite un provider di identità di terze parti. Questi host includono `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` e `gcal.mcp.claude.com`. Claude Code si rifiuta di avviare il proprio flusso OAuth locale per questi host sia dal pannello `/mcp` sia da `claude mcp login`, perché [il loro accesso funziona solo tramite claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai).

3212 3235 

3213```text theme={null}3236```text theme={null}

3214"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3237"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.


3216 3239 

3217**Cosa fare:**3240**Cosa fare:**

3218 3241 

3219* Rimuovete la vostra voce con `claude mcp remove <name>`, in modo che non possa nascondere il connettore claude.ai allo stesso URL3242* Rimuovi la tua voce con `claude mcp remove <name>`, in modo che non possa nascondere il connettore di claude.ai allo stesso URL

3220* Dopo averlo rimosso, collegate il servizio su [claude.ai/customize/connectors](https://claude.ai/customize/connectors), mentre siete connessi all'account che utilizzate in Claude Code. Una volta collegato, [il connettore appare in Claude Code automaticamente](/docs/it/mcp#use-mcp-servers-from-claude-ai) se il vostro metodo di autenticazione attivo è un accesso di sottoscrizione a claude.ai3243* Dopo averla rimossa, connetti il servizio su [claude.ai/customize/connectors](https://claude.ai/customize/connectors), avendo effettuato l'accesso con l'account che usi in Claude Code. Una volta connesso, [il connettore appare automaticamente in Claude Code](/docs/it/mcp#use-mcp-servers-from-claude-ai) se il tuo metodo di autenticazione attivo è un accesso con abbonamento claude.ai

3221 3244 

3222<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3245<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

3223 Il server ha rifiutato l'intestazione Authorization creata dal headersHelper configurato3246 Il server ha rifiutato l'header Authorization generato dal headersHelper configurato

3224</h3>3247</h3>

3225 3248 

3226Un server MCP il cui [`headersHelper`](/docs/it/mcp#use-dynamic-headers-for-custom-authentication) fornisce l'intestazione `Authorization` ha risposto alla connessione con HTTP 401 o 403, quindi Claude Code segnala la connessione come fallita. Poiché l'helper fornisce l'intestazione `Authorization`, Claude Code [non ricade su OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers) per il server:3249Un server MCP il cui [`headersHelper`](/docs/it/mcp#use-dynamic-headers-for-custom-authentication) fornisce l'header `Authorization` ha risposto alla connessione con HTTP 401 o 403, quindi Claude Code segnala la connessione come non riuscita. Poiché l'helper fornisce l'header `Authorization`, Claude Code [non ripiega su OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers) per il server:

3227 3250 

3228```text theme={null}3251```text theme={null}

3229Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3252Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

3230```3253```

3231 3254 

3232Claude Code riesegue l'helper ad ogni tentativo di connessione, quindi un nuovo tentativo dopo un rifiuto transitorio, come una gara di rotazione del token, può avere successo con una credenziale nuova.3255Claude Code riesegue l'helper a ogni tentativo di connessione, quindi un nuovo tentativo dopo un rifiuto temporaneo, come una race condition nella rotazione del token, può riuscire con una credenziale nuova.

3233 3256 

3234**Cosa fare:**3257**Cosa fare:**

3235 3258 

3236* Eseguite il comando `headersHelper` voi stessi nel modo in cui Claude Code lo esegue: dalla [directory in cui Claude Code lo esegue](/docs/it/mcp#where-the-helper-runs), con le [variabili di ambiente che Claude Code imposta per esso](/docs/it/mcp#use-dynamic-headers-for-custom-authentication), e senza le [variabili di credenziale che Claude Code rimuove](/docs/it/mcp#which-variables-a-helper-can-read) per un server da un `.mcp.json` di progetto, un plugin o un file di agente di progetto. Controllate che stampi un valore `Authorization` che l'endpoint del server accetta3259* Esegui tu stesso il comando `headersHelper` nel modo in cui lo esegue Claude Code: dalla [directory in cui Claude Code lo esegue](/docs/it/mcp#where-the-helper-runs), con le [variabili d'ambiente che Claude Code imposta per esso](/docs/it/mcp#use-dynamic-headers-for-custom-authentication), e senza le [variabili di credenziali che Claude Code rimuove](/docs/it/mcp#which-variables-a-helper-can-read) per un server proveniente da un `.mcp.json` di progetto, da un plugin o da un file di agente di progetto. Verifica che stampi un valore `Authorization` accettato dall'endpoint del server

3237* Dopo aver corretto l'helper o la sua fonte di credenziale, selezionate il server in `/mcp` e scegliete **Reconnect**3260* Dopo aver corretto l'helper o la sua fonte di credenziali, seleziona il server in `/mcp` e scegli **Reconnect**

3238 3261 

3239Prima della v2.1.248, Claude Code eseguiva la scoperta OAuth per un server il cui helper forniva l'intestazione `Authorization`. Quella scoperta potrebbe fallire con `Incompatible auth server: does not support dynamic client registration` invece di segnalare la credenziale rifiutata.3262Prima della v2.1.248, Claude Code eseguiva il discovery OAuth per un server il cui helper forniva l'header `Authorization`. Quel discovery poteva fallire con `Incompatible auth server: does not support dynamic client registration` invece di segnalare la credenziale rifiutata.

3240 3263 

3241<h3 id="mcp-permission-prompt-tool-not-found">3264<h3 id="mcp-permission-prompt-tool-not-found">

3242 Strumento di prompt di permesso MCP non trovato3265 Strumento di richiesta dei permessi MCP non trovato

3243</h3>3266</h3>

3244 3267 

3245Lo strumento che avete passato a [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) non era tra gli strumenti MCP connessi quando l'esecuzione ha avuto bisogno per la prima volta di una decisione di permesso, perché il suo server non si è mai connesso o perché nessun server connesso espone uno strumento con quel nome. Claude Code invia comunque il vostro prompt: l'esecuzione [non interattiva](/docs/it/headless) esce con questo errore, e codice di uscita 1, alla prima chiamata dello strumento, quindi non produce alcuna risposta anche se la richiesta è stata fatta. Prima del primo prompt, Claude Code aspetta fino al timeout di connessione per server di 30 secondi impostato da [`MCP_TIMEOUT`](/docs/it/env-vars) affinché quel server si connetta. Prima della v2.1.206, l'avvio non aspettava che il server finisse di connettersi, quindi un server che si avvia lentamente ma sano produceva questo errore anche.3268Lo strumento che hai passato a [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) non era tra gli strumenti MCP connessi quando l'esecuzione ha avuto bisogno per la prima volta di una decisione sui permessi, o perché il suo server non si è mai connesso o perché nessun server connesso espone uno strumento con quel nome. Claude Code invia comunque il tuo prompt: l'esecuzione [non interattiva](/docs/it/headless) termina con questo errore, e codice di uscita 1, alla prima chiamata a uno strumento, quindi non produce alcuna risposta anche se la richiesta è stata effettuata. Prima del primo prompt, Claude Code attende che quel server si connetta fino al timeout di connessione per server di 30 secondi impostato da [`MCP_TIMEOUT`](/docs/it/env-vars). Prima della v2.1.206, l'avvio non attendeva che il server finisse di connettersi, quindi anche un server sano ma lento ad avviarsi produceva questo errore.

3246 3269 

3247```text theme={null}3270```text theme={null}

3248Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3271Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3249```3272```

3250 3273 

3251L'elenco dopo `Available MCP tools:` nomina gli strumenti MCP che erano connessi.3274L'elenco dopo `Available MCP tools:` indica gli strumenti MCP che erano connessi.

3252 3275 

3253**Cosa fare:**3276**Cosa fare:**

3254 3277 

3255* Controllate che il server si avvii e rimanga connesso: eseguite `claude mcp list` nella stessa directory e confermate che il server è elencato come connesso3278* Verifica che il server si avvii e rimanga connesso: esegui `claude mcp list` nella stessa directory e conferma che il server sia elencato come connesso

3256* Confermate che il nome dello strumento corrisponda al nome `mcp__<server>__<tool>` che il server espone3279* Conferma che il nome dello strumento corrisponda al nome `mcp__<server>__<tool>` esposto dal server

3257* Se il server ha bisogno di più di 30 secondi per avviarsi, aumentate [`MCP_TIMEOUT`](/docs/it/env-vars)3280* Se il server ha bisogno di più di 30 secondi per avviarsi, aumenta [`MCP_TIMEOUT`](/docs/it/env-vars)

3258 3281 

3259<h3 id="oauth-callback-port-is-already-in-use">3282<h3 id="oauth-callback-port-is-already-in-use">

3260 La porta di callback OAuth è già in uso3283 La porta di callback OAuth è già in uso

3261</h3>3284</h3>

3262 3285 

3263Quando vi accedete a un server MCP remoto con OAuth, Claude Code avvia un listener locale per ricevere il callback di accesso. Se la porta di cui quel listener ha bisogno è tenuta da un altro processo, l'accesso fallisce con questo messaggio. Questo accade principalmente con una [porta di callback fissa](/docs/it/mcp#use-a-fixed-oauth-callback-port) impostata attraverso la variabile [`MCP_OAUTH_CALLBACK_PORT`](/docs/it/env-vars) o `--callback-port`, poiché senza una Claude Code sceglie una porta disponibile.3286Quando accedi a un server MCP remoto con OAuth, Claude Code avvia un listener locale per ricevere la callback di accesso. Se la porta di cui ha bisogno quel listener è occupata da un altro processo, l'accesso fallisce con questo messaggio. Questo accade soprattutto con una [porta di callback fissa](/docs/it/mcp#use-a-fixed-oauth-callback-port) impostata tramite la variabile [`MCP_OAUTH_CALLBACK_PORT`](/docs/it/env-vars) o `--callback-port`, poiché senza di essa Claude Code sceglie una porta disponibile.

3264 3287 

3265```text theme={null}3288```text theme={null}

3266OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3289OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3267```3290```

3268 3291 

3269Su Windows, il comando suggerito è `netstat -ano | findstr :<port>` invece.3292Su Windows, il comando suggerito è invece `netstat -ano | findstr :<port>`.

3270 3293 

3271**Cosa fare:**3294**Cosa fare:**

3272 3295 

3273* Eseguite il comando dal messaggio per trovare il processo che tiene la porta, e fermatelo o aspettate che finisca3296* Esegui il comando indicato nel messaggio per trovare il processo che occupa la porta, e arrestalo o attendi che termini

3274* Se un altro programma ha bisogno di quella porta in modo permanente, registrate un URI di reindirizzamento diverso con il server e impostate la sua porta con `MCP_OAUTH_CALLBACK_PORT` o `--callback-port`, a seconda di quale utilizzate3297* Se un altro programma ha bisogno di quella porta in modo permanente, registra un URI di reindirizzamento diverso presso il server e imposta la sua porta con `MCP_OAUTH_CALLBACK_PORT` o `--callback-port`, a seconda di quale usi

3275* Quindi avviate di nuovo l'accesso, ad esempio selezionando il server in `/mcp`3298* Quindi avvia di nuovo l'accesso, ad esempio selezionando il server in `/mcp`

3276 3299 

3277<h3 id="no-available-ports-for-oauth-redirect">3300<h3 id="no-available-ports-for-oauth-redirect">

3278 Nessuna porta disponibile per il reindirizzamento OAuth3301 Nessuna porta disponibile per il reindirizzamento OAuth

3279</h3>3302</h3>

3280 3303 

3281Quando vi accedete a un server MCP remoto con [OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers), Claude Code avvia un listener locale per ricevere il callback di accesso. L'accesso fallisce con questo messaggio quando Claude Code non riesce a legare una porta locale per esso. Qualcosa sulla macchina sta impedendo di ascoltare su `127.0.0.1`, ad esempio software di sicurezza o una politica sandbox che nega i listener locali.3304Quando accedi a un server MCP remoto con [OAuth](/docs/it/mcp#authenticate-with-remote-mcp-servers), Claude Code avvia un listener locale per ricevere la callback di accesso. L'accesso fallisce con questo messaggio quando Claude Code non riesce a effettuare il binding di una porta locale per esso. Qualcosa sulla macchina gli impedisce di mettersi in ascolto su `127.0.0.1`, ad esempio un software di sicurezza o una policy di sandbox che nega i listener locali.

3282 3305 

3283```text theme={null}3306```text theme={null}

3284No available ports for OAuth redirect3307No available ports for OAuth redirect

3285```3308```

3286 3309 

3287Prima della v2.1.268, Claude Code non ricadeva su una porta assegnata dal sistema operativo, quindi il messaggio appariva anche quando solo le porte auto-scelte non potevano essere legate. Questo può accadere su host Windows dove Hyper-V riserva intervalli di porte che coprono le porte che Claude Code sceglie.3310Prima della v2.1.268, Claude Code non ripiegava su una porta assegnata dal sistema operativo, quindi il messaggio appariva anche quando solo le porte scelte autonomamente non potevano essere associate. Questo può accadere su host Windows in cui Hyper-V riserva intervalli di porte che coprono quelle da cui Claude Code sceglie.

3288 3311 

3289**Cosa fare:**3312**Cosa fare:**

3290 3313 

3291* Controllate se il software di sicurezza o una politica sandbox blocca i processi dall'ascolto su `127.0.0.1`, e consentite a Claude Code di legare una porta locale3314* Verifica se un software di sicurezza o una policy di sandbox impedisce ai processi di mettersi in ascolto su `127.0.0.1`, e consenti a Claude Code di effettuare il binding di una porta locale

3292* Quindi avviate di nuovo l'accesso, ad esempio selezionando il server in `/mcp`3315* Quindi avvia di nuovo l'accesso, ad esempio selezionando il server in `/mcp`

3293 3316 

3294<h3 id="security-review-fails-without-origin-head">3317<h3 id="security-review-fails-without-origin-head">

3295 /security-review fallisce senza origin/HEAD3318 /security-review fallisce senza origin/HEAD

3296</h3>3319</h3>

3297 3320 

3298[`/security-review`](/docs/it/commands#all-commands) costruisce il suo contesto di revisione facendo il diff del vostro ramo rispetto a `origin/HEAD`, il ref locale che registra quale ramo è il predefinito sul vostro remote `origin`. Quando quel ref non esiste, i comandi git che raccolgono il diff falliscono e la revisione si ferma prima di iniziare.3321[`/security-review`](/docs/it/commands#all-commands) costruisce il proprio contesto di revisione calcolando il diff del tuo branch rispetto a `origin/HEAD`, il ref locale che registra quale branch è quello predefinito sul tuo remote `origin`. Quando quel ref non esiste, i comandi git che raccolgono il diff falliscono e la revisione si interrompe prima di iniziare.

3299 3322 

3300```text theme={null}3323```text theme={null}

3301Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3324Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3304'git <command> [<revision>...] -- [<file>...]'3327'git <command> [<revision>...] -- [<file>...]'

3305```3328```

3306 3329 

3307Il messaggio potrebbe citare `git log` o un diverso `git diff` invece. Git crea `origin/HEAD` solo quando il remote pubblicizza un ramo predefinito e il vostro refspec di fetch lo copre, cosa che un `git clone` completo di un remote con commit fa. Il ref manca in queste configurazioni:3330Il messaggio potrebbe citare invece `git log` o un `git diff` diverso. Git crea `origin/HEAD` solo quando il remote dichiara un branch predefinito e il tuo refspec di fetch lo include, cosa che avviene con un `git clone` completo di un remote con commit. Il ref manca in queste configurazioni:

3308 3331 

3309* Un checkout single-branch o CI, che recupera un refspec troppo stretto3332* Un checkout a branch singolo o di CI, che esegue il fetch di un refspec troppo ristretto

3310* Un remote il cui server-side HEAD punta a un ramo che nessuno ha spinto3333* Un remote il cui HEAD lato server punta a un branch di cui nessuno ha fatto il push

3311* Un repository senza remote `origin`, o uno da cui non avete mai recuperato3334* Un repository senza remote `origin`, o di cui non hai mai eseguito il fetch

3312 3335 

3313Claude Code mostra lo stesso errore per qualsiasi skill che [inietta contesto dinamico](/docs/it/skills#when-an-injected-command-fails), e un comando iniettato fallito interrompe l'invocazione di quella skill. Due stringhe sibling si attivano prima che il comando venga eseguito:3336Claude Code mostra lo stesso errore per qualsiasi skill che [inietta contesto dinamico](/docs/it/skills#when-an-injected-command-fails), e un comando iniettato non riuscito interrompe l'invocazione di quella skill. Due stringhe affini vengono emesse prima ancora che il comando venga eseguito:

3314 3337 

3315* `Shell command permission check failed for pattern "..."`: il controllo di permesso del comando non lo ha consentito. [Permission checks on injected commands](/docs/it/skills#permission-checks-on-injected-commands) copre quali risultati interrompono in ogni modalità di permesso e come pre-approvare un comando con `allowed-tools`3338* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non lo ha consentito. [Controlli dei permessi sui comandi iniettati](/docs/it/skills#permission-checks-on-injected-commands) spiega quali risultati causano l'interruzione in ciascuna modalità di permesso e come pre-approvare un comando con `allowed-tools`

3316* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina senza di esso. Installate Git per Windows o cambiate il frontmatter a `shell: powershell`. Vedete [How injected commands run](/docs/it/skills#how-injected-commands-run)3339* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina che ne è priva. Installa Git for Windows oppure modifica il frontmatter in `shell: powershell`. Consulta [Come vengono eseguiti i comandi iniettati](/docs/it/skills#how-injected-commands-run)

3317 3340 

3318**Cosa fare:**3341**Cosa fare:**

3319 3342 

3320* Create il ref nominando il ramo predefinito del vostro remote: `git remote set-head origin <default-branch>`. Questo funziona ogni volta che il ref di tracciamento locale `origin/<default-branch>` esiste. Se non esiste, come nei cloni single-branch, recuperate prima il ramo: eseguite `git remote set-branches --add origin <branch>`, quindi `git fetch origin`, quindi rieseguite il comando set-head. Rieseguite `/security-review`.3343* Crea il ref indicando il branch predefinito del tuo remote: `git remote set-head origin <default-branch>`. Questo funziona ogni volta che esiste il ref di tracciamento locale `origin/<default-branch>`. Se non esiste, come nei clone a branch singolo, esegui prima il fetch del branch: esegui `git remote set-branches --add origin <branch>`, poi `git fetch origin`, quindi esegui di nuovo il comando set-head. Esegui di nuovo `/security-review`.

3321* Se preferite non nominare il ramo, eseguite `git fetch origin` e quindi `git remote set-head origin --auto`, che chiede al remote quale ramo è il suo predefinito. Fallisce con `error: Cannot determine remote HEAD` quando il remote non pubblicizza alcun ramo predefinito, perché è vuoto o il suo HEAD punta a un ramo che nessuno ha spinto; nominate il ramo esplicitamente invece. Fallisce con `error: Not a valid ref` quando il vostro clone non recupera quel ramo; allargare il refspec come sopra prima.3344* Se preferisci non indicare il branch, esegui `git fetch origin` e poi `git remote set-head origin --auto`, che chiede al remote quale branch è il suo predefinito. Fallisce con `error: Cannot determine remote HEAD` quando il remote non dichiara alcun branch predefinito, perché è vuoto o il suo HEAD punta a un branch di cui nessuno ha fatto il push; in tal caso indica il branch esplicitamente. Fallisce con `error: Not a valid ref` quando il tuo clone non esegue il fetch di quel branch; prima amplia il refspec come descritto sopra.

3322* Se il repository non ha un remote, aggiungete uno con `git remote add origin <url>` e recuperate prima di creare il ref. Se il remote è vuoto, spingete il vostro ramo prima con `git push -u origin HEAD` e nominate quel ramo nel comando set-head; `origin/HEAD` quindi punta al ramo che avete appena spinto, quindi `/security-review` vede un diff vuoto fino a quando il ramo non diverge da esso.3345* Se il repository non ha un remote, aggiungine uno con `git remote add origin <url>` ed esegui il fetch prima di creare il ref. Se il remote è vuoto, esegui prima il push del tuo branch con `git push -u origin HEAD` e indica quel branch nel comando set-head; `origin/HEAD` punterà quindi al branch di cui hai appena fatto il push, quindi `/security-review` vede un diff vuoto finché il branch non diverge da esso.

3323 3346 

3324<h3 id="input-must-be-provided-when-using-print">3347<h3 id="input-must-be-provided-when-using-print">

3325 L'input deve essere fornito quando si utilizza `--print`3348 L'input deve essere fornito quando si usa `--print`

3326</h3>3349</h3>

3327 3350 

3328`claude` nudo ha bisogno che stdout sia un terminale per avviare l'interfaccia utente interattiva. Quando stdout è reindirizzato, o la console non è un vero terminale, come PowerShell ISE e alcuni riquadri di output IDE, `claude` esegue [in modo non interattivo](/docs/it/headless) invece. Questa è la stessa modalità di `claude -p`, che richiede un prompt, quindi il messaggio nomina `--print` anche se non avete passato il flag. Passare `-p`/`--print` senza prompt e nulla pipato su stdin produce lo stesso errore ovunque.3351Il semplice `claude` richiede che stdout sia un terminale per avviare l'interfaccia interattiva. Quando stdout è reindirizzato, o la console non è un vero terminale, come PowerShell ISE e alcuni pannelli di output degli IDE, `claude` viene invece eseguito in [modalità non interattiva](/docs/it/headless). È la stessa modalità di `claude -p`, che richiede un prompt, quindi il messaggio menziona `--print` anche se non hai passato il flag. Passare `-p`/`--print` senza prompt e senza nulla inviato tramite pipe su stdin produce lo stesso errore ovunque.

3329 3352 

3330```text theme={null}3353```text theme={null}

3331Error: Input must be provided either through stdin or as a prompt argument when using --print3354Error: Input must be provided either through stdin or as a prompt argument when using --print


3333 3356 

3334**Cosa fare:**3357**Cosa fare:**

3335 3358 

3336* Per l'uso interattivo, eseguite `claude` in un vero terminale: Windows Terminal o la console PowerShell piuttosto che ISE, e il terminale integrato del vostro IDE piuttosto che un riquadro di output3359* Per l'uso interattivo, esegui `claude` in un vero terminale: Windows Terminal o la console di PowerShell anziché ISE, e il terminale integrato del tuo IDE anziché un pannello di output

3337* Per l'uso una tantum, passate il prompt: `claude -p "your question"`, oppure pipate con `echo "your question" | claude -p`3360* Per un uso singolo, passa il prompt: `claude -p "your question"`, oppure invialo tramite pipe con `echo "your question" | claude -p`

3338 3361 

3339<h3 id="input-contained-only-whitespace">3362<h3 id="input-contained-only-whitespace">

3340 L'input conteneva solo spazi bianchi3363 L'input conteneva solo spazi vuoti

3341</h3>3364</h3>

3342 3365 

3343In [modalità non interattiva](/docs/it/headless), Claude Code rifiuta un prompt composto interamente da spazi, tabulazioni o newline invece di inviarlo, perché l'API rifiuta i messaggi senza testo visibile. Quale messaggio vedete dipende da dove è venuto il prompt vuoto:3366In [modalità non interattiva](/docs/it/headless), Claude Code rifiuta un prompt composto interamente da spazi, tabulazioni o a capo invece di inviarlo, perché l'API rifiuta i messaggi privi di testo visibile. Il messaggio che vedi dipende da dove proviene il prompt vuoto:

3344 3367 

3345* **Argomento prompt o stdin pipato per `claude -p`**: `claude` esce con `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`3368* **Argomento prompt o stdin tramite pipe per `claude -p`**: `claude` termina con `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`

3346* **Messaggio inviato a una sessione `--input-format stream-json` o [Agent SDK](/docs/it/agent-sdk/overview) in esecuzione**: Claude Code termina il turno senza chiamare il modello e la sessione rimane utilizzabile. Il rifiuto arriva come messaggio informativo e come testo del risultato del turno: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3369* **Messaggio inviato a una sessione `--input-format stream-json` o [Agent SDK](/docs/it/agent-sdk/overview) in esecuzione**: Claude Code termina il turno senza chiamare il modello e la sessione rimane utilizzabile. Il rifiuto arriva come messaggio informativo e come testo del risultato del turno: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3347 3370 

3348Prima della v2.1.229, Claude Code inviava il messaggio solo spazi bianchi all'API, che rifiutava la richiesta con un errore 400.3371Prima della v2.1.229, Claude Code inviava il messaggio composto solo da spazi vuoti all'API, che rifiutava la richiesta con un errore 400.

3349 3372 

3350**Cosa fare:**3373**Cosa fare:**

3351 3374 

3352* Includete testo visibile nel prompt. Se uno script costruisce il prompt da una variabile o file, controllate che la fonte non sia vuota prima di chiamare Claude Code.3375* Includi testo visibile nel prompt. Se uno script costruisce il prompt da una variabile o da un file, verifica che la fonte non sia vuota prima di chiamare Claude Code.

3353 3376 

3354<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3377<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3355 L'input stream-json ha superato 256M caratteri senza newline3378 L'input stream-json conteneva oltre 256M caratteri senza a capo

3356</h3>3379</h3>

3357 3380 

3358Il vostro programma ha inviato più di 268.435.456 caratteri su stdin senza newline a un'esecuzione `claude -p --input-format stream-json`, quindi Claude Code stampa questo errore su stderr ed esce con codice 1 invece di bufferizzare più input. Il messaggio dichiara quel budget come `256M`. Prima della v2.1.257, Claude Code bufferizzava tale input senza limiti, facendo crescere la memoria fino a quando il processo si bloccava o veniva ucciso.3381Il tuo programma ha inviato più di 268.435.456 caratteri su stdin senza un a capo a un'esecuzione `claude -p --input-format stream-json`, quindi Claude Code stampa questo errore su stderr e termina con codice di uscita 1 invece di bufferizzare altro input. Il messaggio indica quel limite come `256M`. Prima della v2.1.257, Claude Code bufferizzava tale input senza limiti, facendo crescere la memoria finché il processo non si arrestava in modo anomalo o veniva terminato.

3359 3382 

3360```text theme={null}3383```text theme={null}

3361Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3384Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

3362```3385```

3363 3386 

3364L'input così lungo senza newline di solito significa che il produttore non è affatto un produttore stream-json, come un file binario o output di log semplice pipato per errore. Un singolo messaggio oltre il budget fallisce lo stesso controllo.3387Un input così lungo senza a capo di solito significa che il produttore non è affatto un produttore stream-json, ad esempio un file binario o un normale output di log inviato tramite pipe per errore. Un singolo messaggio che supera il limite non supera lo stesso controllo.

3365 3388 

3366**Cosa fare:**3389**Cosa fare:**

3367 3390 

3368* Controllate cosa è pipato su stdin. Con [`--input-format stream-json`](/docs/it/cli-reference#cli-flags), ogni messaggio deve essere una riga JSON terminata da newline3391* Controlla cosa viene inviato tramite pipe a stdin. Con [`--input-format stream-json`](/docs/it/cli-reference#cli-flags), ogni messaggio deve essere una singola riga JSON terminata da un a capo

3369* Per inviare testo semplice invece, eliminate `--input-format stream-json`; `claude -p` legge un prompt di testo semplice da stdin per impostazione predefinita3392* Per inviare invece testo semplice, rimuovi `--input-format stream-json`; `claude -p` legge per impostazione predefinita un prompt di testo semplice da stdin

3370 3393 

3371<h3 id="unknown-command">3394<h3 id="unknown-command">

3372 Comando sconosciuto3395 Comando sconosciuto

3373</h3>3396</h3>

3374 3397 

3375In una sessione terminale interattiva, avete inviato un nome `/` che non corrisponde a nessun comando in questa sessione, quindi Claude Code segnala il nome invece di eseguire qualsiasi cosa:3398In una sessione interattiva del terminale, hai inviato un nome con `/` che non corrisponde ad alcun comando in questa sessione, quindi Claude Code riporta il nome invece di eseguire qualcosa:

3376 3399 

3377```text theme={null}3400```text theme={null}

3378Unknown command: /hepl. Did you mean /help?3401Unknown command: /hepl. Did you mean /help?

3379```3402```

3380 3403 

3381Claude Code suggerisce il nome di comando o alias più vicino che il menu elenca in questa sessione. Quando nulla è vicino, il messaggio termina dopo il nome. La causa è di solito una delle seguenti:3404Claude Code suggerisce il nome di comando o l'alias più vicino tra quelli elencati nel menu in questa sessione. Quando nulla è simile, il messaggio termina dopo il nome. La causa è di solito una delle seguenti:

3382 3405 

3383* Un errore di battitura, come `/hepl` per `/help`. [How the command menu matches what you type](/docs/it/commands#how-the-command-menu-matches-what-you-type) copre la scelta di una corrispondenza vicina prima di inviare3406* Un errore di battitura, come `/hepl` al posto di `/help`. [Come il menu dei comandi trova corrispondenze con ciò che digiti](/docs/it/commands#how-the-command-menu-matches-what-you-type) spiega come scegliere una corrispondenza simile prima dell'invio

3384* Un comando che esiste ma non è disponibile in questa sessione perché un requisito non è soddisfatto, come la vostra piattaforma, piano o metodo di autenticazione. Le voci di risoluzione dei problemi per [`/web-setup`](/docs/it/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) e [`/schedule`](/docs/it/routines#schedule-returns-unknown-command) illustrano due casi comuni. Alcuni comandi rispondono con il loro messaggio quando la politica della vostra organizzazione li disabilita, come [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3407* Un comando che esiste ma non è disponibile in questa sessione perché un requisito non è soddisfatto, come la tua piattaforma, il tuo piano o il tuo metodo di autenticazione. Le voci di risoluzione dei problemi per [`/web-setup`](/docs/it/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) e [`/schedule`](/docs/it/routines#schedule-returns-unknown-command) illustrano due casi comuni. Alcuni comandi rispondono con un proprio messaggio quando la policy della tua organizzazione li disabilita, come [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3385* Un comando da un [plugin](/docs/it/plugins/overview) o [server MCP](/docs/it/mcp#use-mcp-prompts-as-commands) che non è installato o connesso in questa sessione3408* Un comando di un [plugin](/docs/it/plugins/overview) o di un [server MCP](/docs/it/mcp#use-mcp-prompts-as-commands) che non è installato o connesso in questa sessione

3386 3409 

3387Claude Code risponde a un nome `/` non corrispondente in questo modo solo in una sessione terminale interattiva. In ogni altra sessione, invia il prompt a Claude come messaggio normale invece, con una nota che il comando non è stato eseguito e un elenco di comandi che Claude può eseguire nella sessione. Quelle sessioni includono:3410Claude Code risponde in questo modo a un nome con `/` senza corrispondenza solo in una sessione interattiva del terminale. In tutte le altre sessioni, invia invece il prompt a Claude come un normale messaggio, con una nota che indica che il comando non è stato eseguito e un elenco di comandi che Claude può eseguire nella sessione. Queste sessioni includono:

3388 3411 

3389* Esecuzioni `-p`3412* Esecuzioni con `-p`

3390* Applicazioni [Agent SDK](/docs/it/agent-sdk/overview)3413* Applicazioni [Agent SDK](/docs/it/agent-sdk/overview)

3391* La scheda Code dell'[app Desktop](/docs/it/desktop)3414* La scheda Code dell'[app Desktop](/docs/it/desktop)

3392* Il pannello chat dell'[estensione VS Code](/docs/it/vs-code)3415* Il pannello della chat dell'[estensione VS Code](/docs/it/vs-code)

3393* [Sessioni cloud](/docs/it/claude-code-on-the-web) e [routine](/docs/it/routines)3416* [Sessioni cloud](/docs/it/claude-code-on-the-web) e [routine](/docs/it/routines)

3394 3417 

3395Per un comando integrato che non può essere eseguito in una di quelle sessioni, Claude Code risponde comunque che il comando non è disponibile invece di inviarlo a Claude. Prima della v2.1.274, solo le sessioni cloud e le routine inviavano un nome non corrispondente a Claude. Prima della v2.1.273, rispondevano anche `Unknown command`.3418Per un comando integrato che non può essere eseguito in una di queste sessioni, Claude Code risponde comunque che il comando non è disponibile invece di inviarlo a Claude. Prima della v2.1.274, solo le sessioni cloud e le routine inviavano a Claude un nome senza corrispondenza. Prima della v2.1.273, anche loro rispondevano `Unknown command`.

3396 3419 

3397Claude Code non tratta ogni prompt che inizia con `/` come un comando. Invia il prompt a Claude come messaggio normale quando la prima parola dopo il `/` inizia con punteggiatura, come il `/-` che apre un commento doc Lean, o è un percorso come `/var/log/syslog`.3420Claude Code non tratta ogni prompt che inizia con `/` come un comando. Invia il prompt a Claude come un normale messaggio quando la prima parola dopo `/` inizia con un segno di punteggiatura, come il `/--` che apre un commento di documentazione Lean, oppure è un percorso come `/var/log/syslog`.

3398 3421 

3399Prima della v2.1.236, se premevate `Invio` mentre il menu dei comandi elencava una corrispondenza vicina per il nome che avete digitato, Claude Code eseguiva quella corrispondenza, quindi un errore di battitura come `/hepl` eseguiva `/help` invece di produrre questo messaggio.3422Prima della v2.1.236, se premevi `Enter` mentre il menu dei comandi elencava una corrispondenza simile al nome digitato, Claude Code eseguiva quella corrispondenza, quindi un errore di battitura come `/hepl` eseguiva `/help` invece di produrre questo messaggio.

3400 3423 

3401**Cosa fare:**3424**Cosa fare:**

3402 3425 

3403* Eseguite il nome suggerito, oppure digitate `/` seguito da parte del nome per vedere cosa è disponibile in questa sessione3426* Esegui il nome suggerito, oppure digita `/` seguito da parte del nome per vedere cosa è disponibile in questa sessione

3404* Se Claude Code segnala un comando documentato come sconosciuto, controllate la sua riga nel [riferimento dei comandi](/docs/it/commands) per il requisito che nomina3427* Se Claude Code segnala come sconosciuto un comando documentato, controlla la sua riga nel [riferimento dei comandi](/docs/it/commands) per il requisito che indica

3405 3428 

3406<h3 id="diff-is-too-large-for-ultrareview">3429<h3 id="diff-is-too-large-for-ultrareview">

3407 Il diff è troppo grande per ultrareview3430 Il diff è troppo grande per ultrareview

3408</h3>3431</h3>

3409 3432 

3410Il diff tra il vostro ramo e il ramo base, incluse le modifiche non committate e staged, supera i limiti di dimensione per un [ultrareview](/docs/it/ultrareview), quindi `/code-review ultra` e il sottocomando `claude ultrareview` rifiutano la revisione prima che la sessione cloud si avvii. Una revisione rifiutata non utilizza un'esecuzione gratuita e non fattura i crediti di utilizzo. Il messaggio nomina i limiti in vigore, la dimensione del vostro diff e i file che contribuiscono il maggior numero di righe modificate. Prima della v2.1.216, il messaggio mostrava solo le statistiche di diff grezze.3433Il diff tra il tuo branch e il branch di base, incluse le modifiche non committate e in staging, supera i limiti di dimensione per una [ultrareview](/docs/it/ultrareview), quindi `/code-review ultra` e il sottocomando `claude ultrareview` rifiutano la revisione prima dell'avvio della sessione cloud. Una revisione rifiutata non consuma un'esecuzione gratuita e non addebita crediti di utilizzo. Il messaggio indica i limiti in vigore, la dimensione del tuo diff e i file che contribuiscono con il maggior numero di righe modificate. Prima della v2.1.216, il messaggio mostrava solo le statistiche grezze del diff.

3411 3434 

3412```text theme={null}3435```text theme={null}

3413Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3436Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

3414```3437```

3415 3438 

3416La revisione di una pull request applica gli stessi limiti; quella forma del messaggio inizia `PR #<N> is too large for ultrareview` e nomina i conteggi di file e righe della PR.3439La revisione di una pull request applica gli stessi limiti; quella forma del messaggio inizia con `PR #<N> is too large for ultrareview` e indica il numero di file e di righe della PR.

3417 3440 

3418**Cosa fare:**3441**Cosa fare:**

3419 3442 

3420* Passate un ramo base più vicino al vostro lavoro, come `/code-review ultra develop`, in modo che la revisione copra solo il diff rispetto a quel ramo3443* Passa un branch di base più vicino al tuo lavoro, come `/code-review ultra develop`, in modo che la revisione copra solo il diff rispetto a quel branch

3421* Dividete la modifica in rami più piccoli e revisionate ognuno. I file che il messaggio nomina contribuiscono il maggior numero di righe modificate, quindi iniziate spostando quelli nel loro ramo.3444* Suddividi la modifica in branch più piccoli e rivedi ciascuno di essi. I file indicati dal messaggio contribuiscono con il maggior numero di righe modificate, quindi inizia spostandoli in un branch dedicato.

3422 3445 

3423<h3 id="could-not-find-merge-base-with-the-base-branch">3446<h3 id="could-not-find-merge-base-with-the-base-branch">

3424 Non è stato possibile trovare merge-base con il ramo base3447 Impossibile trovare il merge-base con il branch di base

3425</h3>3448</h3>

3426 3449 

3427`/code-review ultra` e il sottocomando `claude ultrareview` revisione il diff tra il vostro ramo e un ramo base, che ha bisogno di un commit che i due condividono. Quando `git merge-base` non ne trova nessuno, Claude Code rifiuta la revisione prima che la sessione cloud si avvii. Su un clone che Claude Code può verificare è completo, con almeno un ramo, ricade a [revisione di ogni file tracciato](/docs/it/ultrareview#diff-limits-and-fallbacks) invece di rifiutare. Vedete questo rifiuto quando il ramo base non può essere trovato affatto, quando Claude Code non può verificare che il vostro clone è completo, o nel raro repository dove il diff dell'intero albero non è possibile, come il formato di oggetto SHA-256.3450`/code-review ultra` e il sottocomando `claude ultrareview` rivedono il diff tra il tuo branch e un branch di base, il che richiede un commit condiviso tra i due. Quando `git merge-base` non ne trova nessuno, Claude Code rifiuta la revisione prima dell'avvio della sessione cloud. Su un clone che Claude Code può verificare come completo, con almeno un branch, ripiega sulla [revisione di tutti i file tracciati](/docs/it/ultrareview#diff-limits-and-fallbacks) invece di rifiutare. Vedi questo rifiuto quando il branch di base non può essere trovato affatto, quando Claude Code non può verificare che il tuo clone sia completo, o nel raro repository in cui il diff dell'intero albero non è possibile, come con il formato oggetti SHA-256.

3428 3451 

3429```text theme={null}3452```text theme={null}

3430Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3453Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

3431```3454```

3432 3455 

3433Il suggerimento dopo la prima frase dipende da cosa Claude Code ha osservato:3456Il suggerimento dopo la prima frase dipende da ciò che Claude Code ha osservato:

3434 3457 

3435* **Non avete passato un ramo base**: Claude Code ha confrontato rispetto al ramo predefinito del repository e suggerisce di passare il vostro base esplicitamente, come nell'esempio sopra3458* **Non hai passato un branch di base**: Claude Code ha eseguito il confronto con il branch predefinito del repository e suggerisce di passare esplicitamente la tua base, come nell'esempio precedente

3436* **Avete passato un ramo base che era già nel vostro clone**: il suggerimento legge ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3459* **Hai passato un branch di base che era già nel tuo clone**: il suggerimento riporta ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3437* **Avete passato un ramo base che non era nel vostro clone**: Claude Code lo ha recuperato da origin prima di confrontare. Il suggerimento legge ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non può dire se il vostro clone è superficiale, suggerisce `git fetch --unshallow origin` invece. Prima della v2.1.221, il suggerimento suggeriva `git fetch --unshallow origin` per ogni ramo base recuperato, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.3460* **Hai passato un branch di base che non era nel tuo clone**: Claude Code ne ha eseguito il fetch da origin prima del confronto. Il suggerimento riporta ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non riesce a stabilire se il tuo clone è shallow, suggerisce invece `git fetch --unshallow origin`. Prima della v2.1.221, il suggerimento proponeva `git fetch --unshallow origin` per ogni branch di base recuperato con fetch, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.

3438 3461 

3439**Cosa fare:**3462**Cosa fare:**

3440 3463 

3441* Se un altro ramo è il vostro vero base, passatelo esplicitamente: `/code-review ultra <branch>`3464* Se un altro branch è la tua vera base, passalo esplicitamente: `/code-review ultra <branch>`

3442* Se il vostro clone potrebbe non avere la cronologia completa, eseguite `git fetch --unshallow origin` e rieseguite la revisione3465* Se il tuo clone potrebbe non avere la cronologia completa, esegui `git fetch --unshallow origin` ed esegui di nuovo la revisione

3443 3466 

3444<h3 id="your-checkout-has-no-branches">3467<h3 id="your-checkout-has-no-branches">

3445 Il vostro checkout non ha rami3468 Il tuo checkout non ha branch

3446</h3>3469</h3>

3447 3470 

3448Un checkout può avere commit ma nessun ramo: se eseguite `git init` seguito da `git fetch <url>` e `git checkout FETCH_HEAD`, ottenete un HEAD staccato senza ref. Claude Code pacchetto il vostro repository come un bundle git per caricarlo per un [ultrareview](/docs/it/ultrareview), e non può pacchetto un repository che non ha rami o altri ref, quindi `/code-review ultra` e il sottocomando `claude ultrareview` rifiutano la revisione prima che la sessione cloud si avvii.3471Un checkout può avere commit ma nessun branch: se esegui `git init` seguito da `git fetch <url>` e `git checkout FETCH_HEAD`, ottieni un HEAD scollegato senza ref. Claude Code impacchetta il tuo repository come bundle git per caricarlo per una [ultrareview](/docs/it/ultrareview), e non può creare il bundle di un repository che non ha branch né altri ref, quindi `/code-review ultra` e il sottocomando `claude ultrareview` rifiutano la revisione prima dell'avvio della sessione cloud.

3449 3472 

3450```text theme={null}3473```text theme={null}

3451Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3474Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

3452```3475```

3453 3476 

3454Prima della v2.1.221, Claude Code tentava di revisione ogni file tracciato in questo checkout, e il caricamento falliva.3477Prima della v2.1.221, Claude Code tentava di rivedere ogni file tracciato in questo checkout, e il caricamento falliva.

3455 3478 

3456**Cosa fare:**3479**Cosa fare:**

3457 3480 

3458* Create un ramo al vostro commit corrente con `git checkout -b <name>`, quindi rieseguite la revisione3481* Crea un branch al tuo commit corrente con `git checkout -b <name>`, quindi esegui di nuovo la revisione

3459 3482 

3460<h3 id="no-github-account-is-connected-to-your-claude-account">3483<h3 id="no-github-account-is-connected-to-your-claude-account">

3461 Nessun account GitHub è connesso al vostro account Claude3484 Nessun account GitHub è connesso al tuo account Claude

3462</h3>3485</h3>

3463 3486 

3464Avete eseguito `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, e prima di creare la sessione cloud Claude Code chiede al server se [l'account GitHub connesso al vostro account Claude](/docs/it/ultrareview#review-a-pull-request) può raggiungere il repository della PR. Nessun account è connesso, o la connessione è scaduta, quindi il clone cloud fallirebbe e Claude Code rifiuta il lancio. Claude Code non spende un'esecuzione gratuita o fattura i crediti di utilizzo per un lancio rifiutato.3487Hai eseguito `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, e prima di creare la sessione cloud Claude Code chiede al server se [l'account GitHub connesso al tuo account Claude](/docs/it/ultrareview#review-a-pull-request) può raggiungere il repository della PR. Nessun account è connesso, oppure la connessione è scaduta, quindi il clone nel cloud fallirebbe e Claude Code rifiuta l'avvio. Claude Code non consuma un'esecuzione gratuita né addebita crediti di utilizzo per un avvio rifiutato.

3465 3488 

3466```text theme={null}3489```text theme={null}

3467Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3490Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).

3468```3491```

3469 3492 

3470Quando [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) non è disponibile nella vostra sessione, il messaggio nomina solo il link claude.ai.3493Quando [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) non è disponibile nella tua sessione, il messaggio indica solo il link di claude.ai.

3471 3494 

3472**Cosa fare:**3495**Cosa fare:**

3473 3496 

3474* Eseguite `/web-setup` per connettere il vostro login GitHub CLI al vostro account Claude, oppure connettete un account su [claude.ai/connect-github](https://claude.ai/connect-github)3497* Esegui `/web-setup` per connettere il tuo accesso alla GitHub CLI al tuo account Claude, oppure connetti un account su [claude.ai/connect-github](https://claude.ai/connect-github)

3475* Rieseguite la revisione un minuto dopo la connessione3498* Esegui di nuovo la revisione un minuto dopo la connessione

3476 3499 

3477Prima della v2.1.248, Claude Code non controllava questo prima del lancio.3500Prima della v2.1.248, Claude Code non eseguiva questo controllo prima dell'avvio.

3478 3501 

3479<h3 id="your-connected-github-account-cant-see-the-repository">3502<h3 id="your-connected-github-account-cant-see-the-repository">

3480 Il vostro account GitHub connesso non riesce a vedere il repository3503 Il tuo account GitHub connesso non può vedere il repository

3481</h3>3504</h3>

3482 3505 

3483Avete eseguito `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, e [l'account GitHub connesso al vostro account Claude](/docs/it/ultrareview#review-a-pull-request) non riesce a leggere il repository della PR, quindi il clone cloud fallirebbe e Claude Code rifiuta il lancio. Claude Code non spende un'esecuzione gratuita o fattura i crediti di utilizzo per un lancio rifiutato.3506Hai eseguito `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, e [l'account GitHub connesso al tuo account Claude](/docs/it/ultrareview#review-a-pull-request) non può leggere il repository della PR, quindi il clone nel cloud fallirebbe e Claude Code rifiuta l'avvio. Claude Code non consuma un'esecuzione gratuita né addebita crediti di utilizzo per un avvio rifiutato.

3484 3507 

3485```text theme={null}3508```text theme={null}

3486Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3509Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.

3487```3510```

3488 3511 

3489Quando [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) non è disponibile nella vostra sessione, il messaggio nomina solo l'installazione dell'app.3512Quando [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) non è disponibile nella tua sessione, il messaggio indica solo l'installazione dell'app.

3490 3513 

3491**Cosa fare:**3514**Cosa fare:**

3492 3515 

3493* Se il vostro CLI `gh` locale riesce a leggere il repository, eseguite `/web-setup` per connettere quel login al vostro account Claude3516* Se la tua CLI `gh` locale può leggere il repository, esegui `/web-setup` per connettere quell'accesso al tuo account Claude

3494* Rieseguite la revisione dopo la modifica3517* Esegui di nuovo la revisione dopo la modifica

3495 3518 

3496Prima della v2.1.248, Claude Code non controllava questo prima del lancio.3519Prima della v2.1.248, Claude Code non eseguiva questo controllo prima dell'avvio.

3497 3520 

3498<h3 id="the-github-app-preflight-failed-transiently">3521<h3 id="the-github-app-preflight-failed-transiently">

3499 Il preflight dell'app GitHub ha fallito transientemente3522 Il controllo preliminare della GitHub App è fallito temporaneamente

3500</h3>3523</h3>

3501 3524 

3502Avete avviato una [sessione cloud](/docs/it/claude-code-on-the-web) da un repository locale, e due passaggi hanno fallito insieme. Claude Code non ha potuto costruire o caricare il bundle del vostro repository. Prima del caricamento, ha controllato se il servizio cloud può clonare il repository da GitHub, e piuttosto che una risposta definitiva, quel controllo è terminato in un errore che un nuovo tentativo potrebbe cancellare, come un errore di rete, un timeout o un errore di server temporaneo. Il messaggio completo inizia con cosa ha fermato il bundle, ad esempio `Could not upload repo bundle (<error>)`, e termina con la frase di preflight:3525Hai avviato una [sessione cloud](/docs/it/claude-code-on-the-web) da un repository locale, e due passaggi sono falliti insieme. Claude Code non è riuscito a creare o caricare il bundle del tuo repository. Prima del caricamento, ha verificato se il servizio cloud può clonare il repository da GitHub, e invece di una risposta definitiva, quel controllo si è concluso con un errore che un nuovo tentativo potrebbe risolvere, come un errore di rete, un timeout o un errore temporaneo del server. Il messaggio completo inizia con ciò che ha bloccato il bundle, ad esempio `Could not upload repo bundle (<error>)`, e termina con la frase sul controllo preliminare:

3503 3526 

3504```text theme={null}3527```text theme={null}

3505Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3528Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3507 3530 

3508**Cosa fare:**3531**Cosa fare:**

3509 3532 

3510* Rieseguite il comando dopo un momento. Quando il controllo GitHub passa, Claude Code può avviare la sessione da un clone GitHub, quindi il caricamento fallito non blocca più il lancio3533* Esegui di nuovo il comando dopo un momento. Quando il controllo di GitHub ha esito positivo, Claude Code può avviare la sessione da un clone di GitHub, quindi il caricamento non riuscito non blocca più l'avvio

3511* Se i nuovi tentativi continuano a fallire, l'inizio del messaggio nomina cosa ha fermato il caricamento. Quando quella causa è qualcosa che potete correggere, correggete in modo che la sessione possa avviarsi dal vostro repository locale invece3534* Se i nuovi tentativi continuano a fallire, l'inizio del messaggio indica cosa ha bloccato il caricamento. Quando quella causa è qualcosa che puoi correggere, correggila in modo che la sessione possa invece avviarsi dal tuo repository locale

3512 3535 

3513Prima della v2.1.251, Claude Code terminava il messaggio con `Please set up GitHub on https://claude.ai/code` anche quando il controllo GitHub falliva solo transientemente, e il consiglio di configurazione non può cancellare un fallimento transitorio.3536Prima della v2.1.251, Claude Code terminava il messaggio con `Please set up GitHub on https://claude.ai/code` anche quando il controllo di GitHub falliva solo temporaneamente, e un consiglio di configurazione non può risolvere un errore temporaneo.

3514 3537 

3515<h3 id="the-repository-upload-cant-follow-a-git-setting">3538<h3 id="the-repository-upload-cant-follow-a-git-setting">

3516 Il caricamento del repository non può seguire un'impostazione git3539 Il caricamento del repository non può seguire un'impostazione git

3517</h3>3540</h3>

3518 3541 

3519Avete avviato una [sessione cloud che carica il vostro repository locale](/docs/it/claude-code-on-the-web#send-local-repositories-without-github), o un [ultrareview](/docs/it/ultrareview) di un ramo, e il caricamento non può seguire una delle impostazioni git che decidono quali regole di attributo si applicano ai vostri file. Se il caricamento fosse andato avanti e avesse perso una regola, un file che git trasforma prima di memorizzarlo, come uno che un filtro pulito crittografa, potrebbe raggiungere il cloud come è su disco. Claude Code rifiuta il caricamento invece, e nulla viene caricato:3542Hai avviato una [sessione cloud che carica il tuo repository locale](/docs/it/claude-code-on-the-web#send-local-repositories-without-github), oppure una [ultrareview](/docs/it/ultrareview) di un branch, e il caricamento non può seguire una delle impostazioni git che determinano quali regole di attributi si applicano ai tuoi file. Se il caricamento procedesse e trascurasse una regola, un file che git trasforma prima di memorizzarlo, come uno che un filtro clean cifra, potrebbe arrivare nel cloud così com'è su disco. Claude Code rifiuta invece il caricamento, e nulla viene caricato:

3520 3543 

3521```text theme={null}3544```text theme={null}

3522Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.3545Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

3523```3546```

3524 3547 

3525Il messaggio nomina l'impostazione e dove è impostata, e termina con la correzione per il caso che avete colpito. Lo stesso rifiuto appare per `core.attributesFile` e `attr.tree`, ognuno con la sua correzione.3548Il messaggio indica l'impostazione e dove è impostata, e termina con la soluzione per il caso in cui ti trovi. Lo stesso rifiuto appare per `core.attributesFile` e `attr.tree`, ciascuno con la propria soluzione.

3526 3549 

3527Il messaggio può nominare un file di configurazione che la vostra configurazione git tira in attraverso una direttiva `include` o `includeIf`, anche quando la condizione di quella direttiva non si applica a questo repository.3550Il messaggio può indicare un file di configurazione che la tua configurazione git include tramite una direttiva `include` o `includeIf`, anche quando la condizione di quella direttiva non si applica a questo repository.

3528 3551 

3529**Cosa fare:**3552**Cosa fare:**

3530 3553 

3531* Applicate la correzione nella frase finale del messaggio3554* Applica la soluzione indicata nell'ultima frase del messaggio

3532 3555 

3533<h3 id="github-isnt-connected-to-your-claude-account">3556<h3 id="github-isnt-connected-to-your-claude-account">

3534 GitHub non è connesso al vostro account Claude3557 GitHub non è connesso al tuo account Claude

3535</h3>3558</h3>

3536 3559 

3537Avete avviato una [sessione cloud](/docs/it/claude-code-on-the-web) dal vostro repository locale, ad esempio con `/autofix-pr`. Nessun account GitHub è connesso al vostro account Claude, o la connessione è scaduta, quindi Claude Code rifiuta il lancio:3560Hai avviato una [sessione cloud](/docs/it/claude-code-on-the-web) dal tuo repository locale, ad esempio con `/autofix-pr`. Nessun account GitHub è connesso al tuo account Claude, oppure la connessione è scaduta, quindi Claude Code rifiuta l'avvio:

3538 3561 

3539```text theme={null}3562```text theme={null}

3540GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3563GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3541```3564```

3542 3565 

3543Quando create una routine con [`/schedule`](/docs/it/routines), lo stesso messaggio appare come una nota di configurazione che nomina il repository; la nota non blocca la creazione della routine.3566Quando crei una routine con [`/schedule`](/docs/it/routines), lo stesso messaggio appare come nota di configurazione che indica il repository; la nota non impedisce la creazione della routine.

3544 3567 

3545**Cosa fare:**3568**Cosa fare:**

3546 3569 

3547* Eseguite `/web-setup` per connettere il vostro login GitHub CLI al vostro account Claude, oppure connettete un account su [claude.ai/connect-github](https://claude.ai/connect-github). Vedete [GitHub authentication options](/docs/it/claude-code-on-the-web#github-authentication-options) per come i due differiscono.3570* Esegui `/web-setup` per connettere il tuo accesso alla GitHub CLI al tuo account Claude, oppure connetti un account su [claude.ai/connect-github](https://claude.ai/connect-github). Consulta [Opzioni di autenticazione GitHub](/docs/it/claude-code-on-the-web#github-authentication-options) per le differenze tra le due opzioni.

3548* Rieseguite il comando un minuto dopo la connessione3571* Esegui di nuovo il comando un minuto dopo la connessione

3549 3572 

3550Prima della v2.1.268, Claude Code segnalava questo come un fallimento temporaneo del controllo dell'app GitHub di Claude e suggeriva di riprovare o installare l'app; nessuno dei due connette un account GitHub.3573Prima della v2.1.268, Claude Code segnalava questa situazione come un errore temporaneo del controllo della Claude GitHub App e suggeriva di riprovare o di installare l'app; nessuna delle due azioni connette un account GitHub.

3551 3574 

3552<h3 id="single-sign-on-authorization-needed">3575<h3 id="single-sign-on-authorization-needed">

3553 Autorizzazione single sign-on necessaria3576 Autorizzazione single sign-on necessaria

3554</h3>3577</h3>

3555 3578 

3556Avete eseguito [`/install-github-app`](/docs/it/github-actions#quick-setup) e scelto un repository la cui organizzazione applica il single sign-on SAML. Prima della configurazione, Claude Code controlla il vostro accesso al repository con la CLI GitHub, e GitHub ha rifiutato quel controllo perché il vostro token `gh` non è ancora autorizzato per l'organizzazione. La procedura guidata mostra l'avviso con i passaggi per autorizzare:3579Hai eseguito [`/install-github-app`](/docs/it/github-actions#quick-setup) e scelto un repository la cui organizzazione impone il single sign-on SAML. Prima della configurazione, Claude Code verifica il tuo accesso al repository con la GitHub CLI, e GitHub ha rifiutato quel controllo perché il tuo token `gh` non è ancora autorizzato per l'organizzazione. La procedura guidata mostra l'avviso con i passaggi per l'autorizzazione:

3557 3580 

3558```text theme={null}3581```text theme={null}

3559Single sign-on authorization needed3582Single sign-on authorization needed


3562 3585 

3563**Cosa fare:**3586**Cosa fare:**

3564 3587 

3565* Riautorizzate il vostro login GitHub CLI con gli ambiti `repo` e `workflow` eseguendo `gh auth refresh -h github.com -s repo,workflow`, e autorizzate l'organizzazione quando GitHub chiede il single sign-on3588* Autorizza di nuovo il tuo accesso alla GitHub CLI con gli scope `repo` e `workflow` eseguendo `gh auth refresh -h github.com -s repo,workflow`, e autorizza l'organizzazione quando GitHub richiede il single sign-on

3566* Se vi autenticate con un token di accesso personale in `GH_TOKEN`, aprite [github.com/settings/tokens](https://github.com/settings/tokens), selezionate **Configure SSO** sul token, e autorizzate l'organizzazione3589* Se esegui l'autenticazione con un personal access token in `GH_TOKEN`, apri [github.com/settings/tokens](https://github.com/settings/tokens), seleziona **Configure SSO** sul token e autorizza l'organizzazione

3567* Eseguite di nuovo `/install-github-app`3590* Esegui di nuovo `/install-github-app`

3568 3591 

3569Prima della v2.1.273, Claude Code mostrava l'avviso `Admin permissions required` per questa condizione invece.3592Prima della v2.1.273, Claude Code mostrava invece l'avviso `Admin permissions required` per questa condizione.

3570 3593 

3571<h3 id="failed-to-resume-the-conversation">3594<h3 id="failed-to-resume-the-conversation">

3572 Impossibile riprendere la conversazione3595 Impossibile riprendere la conversazione

3573</h3>3596</h3>

3574 3597 

3575Claude Code non ha potuto leggere o elaborare la trascrizione salvata per la sessione che avete selezionato dal [picker `claude --resume`](/docs/it/sessions#use-the-session-picker), quindi termina il processo piuttosto che continuare in uno stato parzialmente caricato. Il messaggio include il comando per riprovare:3598Claude Code non è riuscito a leggere o elaborare la trascrizione salvata per la sessione che hai selezionato dal [selettore di `claude --resume`](/docs/it/sessions#use-the-session-picker), quindi termina il processo invece di continuare in uno stato caricato parzialmente. Il messaggio include il comando per riprovare:

3576 3599 

3577```text theme={null}3600```text theme={null}

3578Failed to resume the conversation.3601Failed to resume the conversation.

3579Run claude --resume <session-id> to retry, or claude to start a new session.3602Run claude --resume <session-id> to retry, or claude to start a new session.

3580```3603```

3581 3604 

3582Claude Code esce con codice 1 dopo aver mostrato il messaggio. Il picker `/resume` dentro una sessione in esecuzione segnala `Failed to resume conversation` nella conversazione invece, e la vostra sessione corrente continua a funzionare. Prima della v2.1.216, una ripresa fallita dal picker `claude --resume` rimaneva sullo spinner `Resuming conversation…` indefinitamente invece di mostrare questo messaggio.3605Claude Code termina con codice di uscita 1 dopo aver mostrato il messaggio. Il selettore `/resume` all'interno di una sessione in esecuzione riporta invece `Failed to resume conversation` nella conversazione, e la tua sessione corrente continua a essere eseguita. Prima della v2.1.216, una ripresa non riuscita dal selettore di `claude --resume` rimaneva indefinitamente sullo spinner `Resuming conversation…` invece di mostrare questo messaggio.

3583 3606 

3584**Cosa fare:**3607**Cosa fare:**

3585 3608 

3586* Eseguite `claude --resume <session-id>` con l'ID della sessione dal messaggio per riprovare3609* Esegui `claude --resume <session-id>` con l'ID di sessione indicato nel messaggio per riprovare

3587* Se ogni nuovo tentativo fallisce allo stesso modo, eseguite `claude update` e riprendete di nuovo. Le versioni prima della v2.1.275 falliscono la ripresa quando la trascrizione salvata contiene una voce che non riescono a leggere.3610* Se ogni nuovo tentativo fallisce allo stesso modo, esegui `claude update` e riprendi di nuovo. Le versioni precedenti alla v2.1.275 fanno fallire la ripresa quando la trascrizione salvata contiene una voce che non riescono a leggere.

3588* Se il nuovo tentativo fallisce di nuovo, eseguite `claude` per avviare una nuova sessione3611* Se il nuovo tentativo fallisce di nuovo, esegui `claude` per avviare una nuova sessione

3589 3612 

3590<h3 id="no-conversation-found-with-the-session-id">3613<h3 id="no-conversation-found-with-the-session-id">

3591 Nessuna conversazione trovata con l'ID della sessione3614 Nessuna conversazione trovata con l'ID di sessione

3592</h3>3615</h3>

3593 3616 

3594Avete passato un ID della sessione a `claude --resume <session-id>` e nessuna trascrizione salvata lo ha abbinato:3617Hai passato un ID di sessione a `claude --resume <session-id>` e nessuna trascrizione salvata corrisponde a esso:

3595 3618 

3596```text theme={null}3619```text theme={null}

3597No conversation found with session ID: <session-id>3620No conversation found with session ID: <session-id>

3598```3621```

3599 3622 

3600Claude Code esce con codice 1 dopo aver mostrato il messaggio. Claude Code [cerca prima il progetto corrente, quindi ogni altro progetto su questa macchina](/docs/it/sessions#resume-a-session) per l'ID. Prima della v2.1.223, la ricerca si fermava alla directory del progetto corrente e ai suoi git worktrees, quindi riprendete dalla directory in cui la sessione ha lavorato l'ultima volta.3623Claude Code termina con codice di uscita 1 dopo aver mostrato il messaggio. Claude Code [cerca l'ID prima nel progetto corrente, poi in ogni altro progetto su questa macchina](/docs/it/sessions#resume-a-session). Prima della v2.1.223, la ricerca si fermava alla directory del progetto corrente e ai suoi worktree git, quindi riprendi dalla directory in cui la sessione ha lavorato per l'ultima volta.

3601 3624 

3602Cause comuni:3625Cause comuni:

3603 3626 

3604* **ID digitato male**: per un'esecuzione non interattiva, l'ID è il campo `session_id` dell'output [`--output-format json`](/docs/it/headless#get-structured-output)3627* **ID digitato in modo errato**: per un'esecuzione non interattiva, l'ID è il campo `session_id` dell'[output di `--output-format json`](/docs/it/headless#get-structured-output)

3605* **Trascrizione eliminata**: Claude Code rimuove le trascrizioni dopo il [periodo di conservazione](/docs/it/sessions#where-transcripts-are-stored), 30 giorni per impostazione predefinita, seguendo le [regole di pulizia della conservazione](/docs/it/claude-directory#cleaned-up-automatically)3628* **Trascrizione eliminata**: Claude Code rimuove le trascrizioni dopo il [periodo di conservazione](/docs/it/sessions#where-transcripts-are-stored), 30 giorni per impostazione predefinita, secondo le [regole di pulizia della conservazione](/docs/it/claude-directory#cleaned-up-automatically)

3606* **Macchina diversa**: Claude Code memorizza le trascrizioni localmente, quindi riprendete la sessione sulla macchina dove è stata eseguita3629* **Macchina diversa**: Claude Code memorizza le trascrizioni localmente, quindi riprendi la sessione sulla macchina in cui è stata eseguita

3607* **Copie duplicate**: se avete copiato una directory di progetto sotto `~/.claude/projects` in modo che due trascrizioni portino lo stesso ID, Claude Code segnala questo messaggio piuttosto che riprendere una copia arbitrariamente3630* **Copie duplicate**: se hai copiato una directory di progetto in `~/.claude/projects` in modo che due trascrizioni abbiano lo stesso ID, Claude Code riporta questo messaggio invece di riprendere arbitrariamente una delle copie

3608 3631 

3609**Cosa fare:**3632**Cosa fare:**

3610 3633 

3611* Per una sessione interattiva, aprite il [picker della sessione](/docs/it/sessions#use-the-session-picker) con `claude --resume` e premete `Ctrl+A` per allargarlo a ogni progetto su questa macchina, quindi selezionate la sessione3634* Per una sessione interattiva, apri il [selettore delle sessioni](/docs/it/sessions#use-the-session-picker) con `claude --resume` e premi `Ctrl+A` per estenderlo a ogni progetto su questa macchina, quindi seleziona la sessione

3612* Le sessioni create con `claude -p` o l'[Agent SDK](/docs/it/agent-sdk/overview) non appaiono nel picker, quindi controllate di nuovo l'ID rispetto al `session_id` che la vostra esecuzione originale ha stampato3635* Le sessioni create con `claude -p` o con l'[Agent SDK](/docs/it/agent-sdk/overview) non appaiono nel selettore, quindi ricontrolla l'ID rispetto al `session_id` stampato dalla tua esecuzione originale

3613 3636 

3614<h3 id="windows-reported-an-error-ebadf">3637<h3 id="windows-reported-an-error-ebadf">

3615 Windows ha segnalato un errore (EBADF) quando Claude Code ha letto il file di trascrizione di questa sessione3638 Windows ha segnalato un errore (EBADF) quando Claude Code ha letto il file di trascrizione di questa sessione

3616</h3>3639</h3>

3617 3640 

3618Avete ripreso una sessione su Windows, il suo file di [trascrizione](/docs/it/sessions#where-transcripts-are-stored) salvato si è aperto normalmente, e la lettura ha quindi fallito con l'errore di sistema EBADF. L'errore di sistema non dice perché la lettura ha fallito, quindi il messaggio suggerisce cause probabili e cosa provare:3641Hai ripreso una sessione su Windows, il suo [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored) salvato si è aperto normalmente e la lettura è poi fallita con l'errore di sistema EBADF. L'errore di sistema non indica perché la lettura è fallita, quindi il messaggio suggerisce le cause probabili e cosa provare:

3619 3642 

3620```text theme={null}3643```text theme={null}

3621Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.3644Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3622```3645```

3623 3646 

3624Il messaggio segue la riga di fallimento del comando stesso, come `Failed to resume session <session-id>`. Un comando `claude --resume` o [`claude -p`](/docs/it/headless) esce con codice 1 dopo averlo mostrato. Dopo `/resume` dentro una sessione, la vostra sessione corrente continua a funzionare.3647Il messaggio segue la riga di errore del comando stesso, come `Failed to resume session <session-id>`. Un comando `claude --resume` o [`claude -p`](/docs/it/headless) termina con codice 1 dopo averlo mostrato. Dopo `/resume` all'interno di una sessione, la tua sessione corrente continua a funzionare.

3625 3648 

3626**Cosa fare:**3649**Cosa fare:**

3627 3650 

3628* Escludete la cartella che contiene le vostre trascrizioni di sessione dal software che scansiona o intercetta le letture di file, come strumenti di sicurezza, crittografia o gestione degli endpoint. Le trascrizioni vivono sotto `%USERPROFILE%\.claude\projects` per impostazione predefinita, o sotto la directory che [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars) nomina3651* Escludi la cartella che contiene le trascrizioni delle tue sessioni dai software che analizzano o intercettano le letture dei file, come gli strumenti di sicurezza, crittografia o gestione degli endpoint. Le trascrizioni si trovano in `%USERPROFILE%\.claude\projects` per impostazione predefinita, oppure nella directory indicata da [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars)

3629* Se non potete aggiungere un'esclusione, aggiungete Claude Code alle applicazioni consentite di quel software invece3652* Se non puoi aggiungere un'esclusione, aggiungi invece Claude Code alle applicazioni consentite di quel software

3630* Riprendete la sessione di nuovo3653* Riprendi di nuovo la sessione

3631 3654 

3632Prima della v2.1.282, il fallimento veniva senza spiegazione: `claude --resume <session-id>` terminava a `Failed to resume session <session-id>`, e un'esecuzione `-p` stampava solo il testo dell'errore di sistema, come `Failed to resume session: EBADF: bad file descriptor, read`.3655Prima della v2.1.282, l'errore si presentava senza spiegazione: `claude --resume <session-id>` terminava con `Failed to resume session <session-id>` e un'esecuzione con `-p` stampava solo il testo dell'errore di sistema, come `Failed to resume session: EBADF: bad file descriptor, read`.

3633 3656 

3634<h3 id="cannot-switch-renderers-in-this-session">3657<h3 id="cannot-switch-renderers-in-this-session">

3635 Impossibile cambiare renderer in questa sessione3658 Impossibile cambiare renderer in questa sessione

3636</h3>3659</h3>

3637 3660 

3638Quando cambiate renderer, Claude Code riavvia il suo processo. Avete eseguito [`/tui`](/docs/it/fullscreen#enable-fullscreen-rendering) in una sessione che Claude Code rifiuta di riavviare, quindi non cambia e non salva nulla. Quale messaggio vedete vi dice la causa:3661Quando cambi renderer, Claude Code riavvia il suo processo. Hai eseguito [`/tui`](/docs/it/fullscreen#enable-fullscreen-rendering) in una sessione che Claude Code si rifiuta di riavviare, quindi non effettua il cambio e non salva nulla. Il messaggio che vedi ti indica la causa:

3639 3662 

3640* `Cannot switch renderers while work is running in the background`: avete lavoro in background in esecuzione che un riavvio abbandonarebbe, come una shell in background o un subagente. Aspettate che il lavoro finisca o fermatelo con [`/tasks`](/docs/it/commands), quindi eseguite di nuovo `/tui fullscreen` o `/tui default`3663* `Cannot switch renderers while work is running in the background`: hai del lavoro in esecuzione in background che un riavvio abbandonerebbe, come una shell in background o un subagent. Attendi che il lavoro termini oppure interrompilo con [`/tasks`](/docs/it/commands), quindi esegui di nuovo `/tui fullscreen` o `/tui default`

3641* `Cannot switch renderers in this session`: la sessione ha restrizioni che Claude Code non può passare al processo riavviato. Prima della v2.1.234, Claude Code riavviava comunque e la sessione riavviata veniva eseguita senza di esse3664* `Cannot switch renderers in this session`: la sessione ha delle restrizioni che Claude Code non può trasferire al processo riavviato. Prima della v2.1.234, Claude Code effettuava comunque il riavvio e la sessione rilanciata veniva eseguita senza di esse

3642 3665 

3643Nel messaggio delle restrizioni, la parte tra parentesi nomina le restrizioni che Claude Code ha trovato:3666Nel messaggio sulle restrizioni, la parte tra parentesi indica le restrizioni trovate da Claude Code:

3644 3667 

3645```text theme={null}3668```text theme={null}

3646Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3669Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.

3647```3670```

3648 3671 

3649Ogni motivo che il messaggio può mostrare tra parentesi:3672Ciascun motivo che il messaggio può mostrare tra parentesi:

3650 3673 

3651* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: avete avviato la sessione con un flag che Claude Code non passa di nuovo al processo riavviato. Questi flag includono [`--system-prompt`](/docs/it/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, un allowlist [`--tools`](/docs/it/cli-reference#cli-flags), [`--setting-sources`](/docs/it/cli-reference#cli-flags) e [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags)3674* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: hai avviato la sessione con un flag che Claude Code non ritrasmette al processo riavviato. Questi flag includono [`--system-prompt`](/docs/it/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, un'allowlist [`--tools`](/docs/it/cli-reference#cli-flags), [`--setting-sources`](/docs/it/cli-reference#cli-flags) e [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags)

3652* `permission rules set for this session only`: un [aggiornamento di permesso](/docs/it/hooks#permission-update-entries) da un hook o da un chiamante SDK ha aggiunto regole di negazione o richiesta con la destinazione `session`. Le regole di permesso di sessione con ambito di sessione non attivano il rifiuto. Un riavvio le elimina, e Claude Code chiede di nuovo invece3675* `permission rules set for this session only`: un [aggiornamento dei permessi](/docs/it/hooks#permission-update-entries) proveniente da un hook o da un chiamante SDK ha aggiunto regole deny o ask con destinazione `session`. Le regole allow limitate alla sessione non provocano il rifiuto. Un riavvio le elimina e Claude Code chiede di nuovo

3653* `ask-before-running rules with no command-line form`: un aggiornamento di permesso da un hook o da un chiamante SDK ha aggiunto regole di richiesta insieme alle regole che Claude Code passa di nuovo come `--allowed-tools` e `--disallowed-tools`. Nessun flag esiste per le regole di richiesta3676* `ask-before-running rules with no command-line form`: un aggiornamento dei permessi proveniente da un hook o da un chiamante SDK ha aggiunto regole ask insieme alle regole che Claude Code ritrasmette come `--allowed-tools` e `--disallowed-tools`. Non esiste alcun flag per le regole ask

3654* `permission rules a command line cannot carry intact` e `added directories a command line cannot carry intact`: un aggiornamento di permesso ha aggiunto una regola o un percorso di directory a metà sessione. La riga di comando del processo riavviato non può portare il suo testo come lo stesso valore3677* `permission rules a command line cannot carry intact` e `added directories a command line cannot carry intact`: un aggiornamento dei permessi ha aggiunto una regola o un percorso di directory a sessione in corso. La riga di comando del processo riavviato non può trasportarne il testo come lo stesso valore

3655 3678 

3656**Cosa fare:**3679**Cosa fare:**

3657 3680 

3658* In una sessione avviata senza quelle restrizioni, eseguite `/tui fullscreen`, o `/tui default` per cambiare di nuovo. Claude Code salva l'impostazione [`tui`](/docs/it/settings-reference#tui) lì3681* In una sessione avviata senza quelle restrizioni, esegui `/tui fullscreen`, oppure `/tui default` per tornare indietro. Claude Code salva lì l'[impostazione `tui`](/docs/it/settings-reference#tui)

3659 3682 

3660<h3 id="couldnt-open-claude-desktop">3683<h3 id="couldnt-open-claude-desktop">

3661 Non è stato possibile aprire Claude Desktop3684 Impossibile aprire Claude Desktop

3662</h3>3685</h3>

3663 3686 

3664Avete eseguito [`/desktop`](/docs/it/desktop#coming-from-the-cli) o il suo alias `/app` in una sessione, o [`claude --desktop`](/docs/it/cli-reference#cli-flags) nella vostra shell, e il comando di sistema che Claude Code utilizza per aprire Claude Desktop ha fallito. Dopo `/desktop`, la sessione rimane nel terminale; `claude --desktop` stampa il messaggio senza il prefisso `Error:` ed esce con stato 1.3687Hai eseguito [`/desktop`](/docs/it/desktop#coming-from-the-cli) o il suo alias `/app` in una sessione, oppure [`claude --desktop`](/docs/it/cli-reference#cli-flags) nella tua shell, e il comando di sistema che Claude Code usa per aprire Claude Desktop non è riuscito. Dopo `/desktop`, la sessione rimane nel terminale; `claude --desktop` stampa il messaggio senza il prefisso `Error:` e termina con stato 1.

3665 3688 

3666Il testo tra parentesi nomina il comando che ha fallito, con il suo stato di uscita e la prima riga del suo output di errore quando lo ha prodotto. Su macOS quel comando è `open`, come in questo esempio; su Windows è `rundll32`:3689Il testo tra parentesi indica il comando che non è riuscito, con il suo stato di uscita e la prima riga del suo output di errore, quando li ha prodotti. Su macOS quel comando è `open`, come in questo esempio; su Windows è `rundll32`:

3667 3690 

3668```text theme={null}3691```text theme={null}

3669Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3692Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.


3671 3694 

3672**Cosa fare:**3695**Cosa fare:**

3673 3696 

3674* Aprite Claude Desktop voi stessi, quindi eseguite di nuovo `/desktop` o `claude --desktop`3697* Apri tu stesso Claude Desktop, quindi esegui di nuovo `/desktop` o `claude --desktop`

3675* Per leggere l'output di errore completo del comando fallito, attivate la registrazione di debug con `/debug` ed eseguite di nuovo `/desktop`, oppure eseguite `claude --desktop --debug-file <path>`, quindi controllate il log di debug3698* Per leggere l'output di errore completo del comando non riuscito, attiva il log di debug con `/debug` ed esegui di nuovo `/desktop`, oppure esegui `claude --desktop --debug-file <path>`, quindi controlla il log di debug

3676 3699 

3677Prima della v2.1.285, il messaggio terminava `Open Claude Desktop and run /desktop again.` Prima della v2.1.275, era `Failed to open Claude Desktop. Please try opening it manually.` e non diceva cosa ha fallito.3700Prima della v2.1.285, il messaggio terminava con `Open Claude Desktop and run /desktop again.` Prima della v2.1.275, era `Failed to open Claude Desktop. Please try opening it manually.` e non indicava cosa non fosse riuscito.

3678 3701 

3679<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3702<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3680 /terminal-setup ha lasciato la vostra mappa di tasti Zed invariata3703 /terminal-setup ha lasciato invariata la tua keymap di Zed

3681</h3>3704</h3>

3682 3705 

3683Avete eseguito [`/terminal-setup`](/docs/it/terminal-config#enter-multiline-prompts) in Zed, e Claude Code non ha potuto completare l'aggiornamento al vostro Zed `keymap.json`, quindi ha lasciato il file come era.3706Hai eseguito [`/terminal-setup`](/docs/it/terminal-config#enter-multiline-prompts) in Zed e Claude Code non è riuscito a completare l'aggiornamento del tuo `keymap.json` di Zed, quindi ha lasciato il file com'era.

3684 3707 

3685Ogni messaggio nomina il percorso della vostra mappa di tasti e termina con il blocco di scorciatoie da tastiera da aggiungere voi stessi:3708Ogni messaggio indica il percorso della tua keymap e termina con il blocco della scorciatoia da tastiera da aggiungere manualmente:

3686 3709 

3687```text theme={null}3710```text theme={null}

3688Couldn't update your Zed keymap, so it was left unchanged.3711Couldn't update your Zed keymap, so it was left unchanged.


3690{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3713{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3691```3714```

3692 3715 

3693La prima riga del messaggio nomina la causa:3716La prima riga del messaggio indica la causa:

3694 3717 

3695* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code non ha potuto leggere il file, ad esempio a causa di permessi di file3718* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code non è riuscito a leggere il file, ad esempio a causa dei permessi del file

3696* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: il file è stato letto bene ma non viene analizzato come un array di blocchi di scorciatoie da tastiera, anche con commenti `//` e virgole finali consentite3719* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: il file è stato letto correttamente ma non viene interpretato come un array di blocchi di scorciatoie da tastiera, anche consentendo commenti `//` e virgole finali

3697* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code non ha potuto copiare il file in un backup `.bak` accanto ad esso, quindi non ha cambiato nulla3720* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code non è riuscito a copiare il file in un backup `.bak` accanto ad esso, quindi non ha modificato nulla

3698* `Couldn't update your Zed keymap, so it was left unchanged.`: il risultato unito non ha verificato come una mappa di tasti valida che porta la scorciatoia da tastiera, quindi Claude Code lo ha scartato invece di scrivere. Un blocco di scorciatoia da tastiera con una chiave duplicata può causare questo3721* `Couldn't update your Zed keymap, so it was left unchanged.`: il risultato unito non è stato verificato come una keymap valida contenente la scorciatoia, quindi Claude Code lo ha scartato invece di scriverlo. Un blocco di scorciatoie da tastiera con una chiave duplicata può causare questo problema

3699 3722 

3700**Cosa fare:**3723**Cosa fare:**

3701 3724 

3702* Copiate il blocco dal messaggio nell'array di livello superiore nel vostro `keymap.json` al percorso che il messaggio nomina3725* Copia il blocco dal messaggio nell'array di primo livello del tuo `keymap.json` nel percorso indicato dal messaggio

3703* Per `isn't a readable list of keybindings`, correggete l'errore di sintassi, o rendete il valore di livello superiore del file un array, quindi eseguite di nuovo `/terminal-setup`3726* Per `isn't a readable list of keybindings`, correggi l'errore di sintassi oppure rendi un array il valore di primo livello del file, quindi esegui di nuovo `/terminal-setup`

3704 3727 

3705Prima della v2.1.247, `/terminal-setup` non poteva analizzare una mappa di tasti Zed che utilizzava commenti `//` o virgole finali, e sostituiva l'intero file con solo la sua scorciatoia da tastiera mentre segnalava la scorciatoia da tastiera come installata. Per ripristinare una mappa di tasti che una versione precedente ha sostituito, utilizzate il file di backup `.bak` descritto sotto [Enter multiline prompts](/docs/it/terminal-config#enter-multiline-prompts).3728Prima della v2.1.247, `/terminal-setup` non riusciva a interpretare una keymap di Zed che usava commenti `//` o virgole finali e sostituiva l'intero file con la sola propria scorciatoia, segnalando la scorciatoia come installata. Per ripristinare una keymap sostituita da una versione precedente, usa il file di backup `.bak` descritto in [Inserire prompt su più righe](/docs/it/terminal-config#enter-multiline-prompts).

3706 3729 

3707<h3 id="skill-usage-reports-are-not-available-on-this-connection">3730<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3708 I rapporti di utilizzo delle skill non sono disponibili su questa connessione3731 I report sull'utilizzo delle skill non sono disponibili su questa connessione

3709</h3>3732</h3>

3710 3733 

3711Avete eseguito [`/skill-doctor`](/docs/it/skills#find-unused-skills) su [Remote Control](/docs/it/remote-control), dal vostro telefono o browser. Claude Code non invia il rapporto di utilizzo delle skill su Remote Control e risponde con questo messaggio invece:3734Hai eseguito [`/skill-doctor`](/docs/it/skills#find-unused-skills) tramite [Remote Control](/docs/it/remote-control), dal telefono o dal browser. Claude Code non invia il report sull'utilizzo delle skill tramite Remote Control e risponde invece con questo messaggio:

3712 3735 

3713```text theme={null}3736```text theme={null}

3714Skill usage reports are not available on this connection.3737Skill usage reports are not available on this connection.


3716 3739 

3717**Cosa fare:**3740**Cosa fare:**

3718 3741 

3719* Eseguite `/skill-doctor` nel terminale sulla macchina dove la sessione è in esecuzione, oppure eseguite `claude -p "/skill-doctor"` lì3742* Esegui `/skill-doctor` nel terminale della macchina su cui è in esecuzione la sessione, oppure esegui lì `claude -p "/skill-doctor"`

3720 3743 

3721<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3744<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3722 Gli stili di output personalizzati non possono essere selezionati su Remote Control3745 Gli stili di output personalizzati non possono essere selezionati tramite Remote Control

3723</h3>3746</h3>

3724 3747 

3725Avete eseguito [`/output-style`](/docs/it/output-styles#change-your-output-style) dall'app mobile o web tramite [Remote Control](/docs/it/remote-control), o il comando è arrivato in un messaggio inoltrato nella sessione. Poiché tale turno potrebbe non provenire dal proprietario dell'account, Claude Code elenca e seleziona solo [stili integrati](/docs/it/output-styles#built-in-output-styles) su di esso, e aggiunge questo avviso ogni volta che il comando elenca gli stili o non riconosce il nome che avete dato. Un nome di [stile personalizzato](/docs/it/output-styles#create-a-custom-output-style) riceve la stessa risposta di un nome che non esiste:3748Hai eseguito [`/output-style`](/docs/it/output-styles#change-your-output-style) dall'app mobile o dal web tramite [Remote Control](/docs/it/remote-control), oppure il comando è arrivato in un messaggio inoltrato nella sessione. Poiché un turno di questo tipo potrebbe non provenire dal proprietario dell'account, Claude Code elenca e seleziona in esso solo gli [stili integrati](/docs/it/output-styles#built-in-output-styles) e aggiunge questo avviso ogni volta che il comando elenca gli stili o non riconosce il nome che hai fornito. Il nome di uno [stile personalizzato](/docs/it/output-styles#create-a-custom-output-style) riceve la stessa risposta di un nome inesistente:

3726 3749 

3727```text theme={null}3750```text theme={null}

3728Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.3751Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.


3730 3753 

3731**Cosa fare:**3754**Cosa fare:**

3732 3755 

3733* Scegliete uno stile integrato, ad esempio `/output-style concise`3756* Scegli uno stile integrato, ad esempio `/output-style concise`

3734* Per utilizzare uno stile personalizzato, impostate [`outputStyle`](/docs/it/settings-reference#outputstyle) nel `.claude/settings.local.json` del progetto, oppure eseguite `/output-style <style>` nel terminale della sessione stessa se ne ha uno3757* Per usare uno stile personalizzato, imposta [`outputStyle`](/docs/it/settings-reference#outputstyle) nel file `.claude/settings.local.json` del progetto, oppure esegui `/output-style <style>` nel terminale della sessione stessa, se ne ha uno

3735 3758 

3736<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3759<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3737 Gli stili di output vengono salvati nelle impostazioni locali che questa sessione non carica3760 Gli stili di output vengono salvati nelle impostazioni locali, che questa sessione non carica

3738</h3>3761</h3>

3739 3762 

3740Avete provato a cambiare [stili di output](/docs/it/output-styles) con `/output-style <style>` o `/config outputStyle=<style>` in una sessione le cui fonti di impostazione escludono `local`. Gli esempi sono una sessione [Agent SDK](/docs/it/agent-sdk/typescript) il cui [`settingSources`](/docs/it/agent-sdk/typescript#options) lascia fuori `"local"` e una sessione CLI avviata con un valore [`--setting-sources`](/docs/it/cli-reference#cli-flags) che lascia fuori `local`. Entrambi i comandi salvano lo stile a `.claude/settings.local.json`, un file che tale sessione non legge mai di nuovo, quindi Claude Code rifiuta invece di scrivere un'impostazione che non avrebbe alcun effetto:3763Hai provato a cambiare [stile di output](/docs/it/output-styles) con `/output-style <style>` o `/config outputStyle=<style>` in una sessione le cui fonti di impostazioni escludono `local`. Ne sono esempi una sessione dell'[Agent SDK](/docs/it/agent-sdk/typescript) il cui [`settingSources`](/docs/it/agent-sdk/typescript#options) non include `"local"` e una sessione CLI avviata con un valore di [`--setting-sources`](/docs/it/cli-reference#cli-flags) che non include `local`. Entrambi i comandi salvano lo stile in `.claude/settings.local.json`, un file che una sessione di questo tipo non rilegge mai, quindi Claude Code rifiuta invece di scrivere un'impostazione che non avrebbe alcun effetto:

3741 3764 

3742```text theme={null}3765```text theme={null}

3743Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3766Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3745 3768 

3746**Cosa fare:**3769**Cosa fare:**

3747 3770 

3748* Aggiungete `local` alle fonti di impostazione della sessione e cambiate di nuovo3771* Aggiungi `local` alle fonti di impostazioni della sessione e cambia di nuovo stile

3749* Impostate la chiave [`outputStyle`](/docs/it/settings-reference#outputstyle) in un file di impostazioni che la sessione carica, come `.claude/settings.json` nel progetto o `~/.claude/settings.json`. Nell'SDK TypeScript, impostate `outputStyle` dentro l'oggetto `settings` inline invece; vedete [Activate an output style](/docs/it/agent-sdk/modifying-system-prompts#activate-an-output-style)3772* Imposta la chiave [`outputStyle`](/docs/it/settings-reference#outputstyle) in un file di impostazioni che la sessione carica, come `.claude/settings.json` nel progetto o `~/.claude/settings.json`. Nell'SDK TypeScript, imposta invece `outputStyle` all'interno dell'oggetto `settings` inline; consulta [Attivare uno stile di output](/docs/it/agent-sdk/modifying-system-prompts#activate-an-output-style)

3750 3773 

3751<h2 id="plugin-errors">3774<h2 id="plugin-errors">

3752 Errori dei plugin3775 Errori dei plugin


4482 4505 

4483I comandi che aprono una finestra di dialogo interattiva non possono farlo mentre nessun terminale è collegato a una sessione in background. `/install-github-app`, l'elenco delle impostazioni `/mcp` e le azioni di autenticazione nel menu del server MCP rispondono con un messaggio. Per `/install-github-app` e l'elenco delle impostazioni `/mcp`, la sessione appare anche sotto **Needs input** nella [vista agente](/docs/it/agent-view) in modo che tu possa trovarla, collegarti ed eseguire di nuovo il comando. Mentre un terminale è collegato, questi comandi funzionano normalmente.4506I comandi che aprono una finestra di dialogo interattiva non possono farlo mentre nessun terminale è collegato a una sessione in background. `/install-github-app`, l'elenco delle impostazioni `/mcp` e le azioni di autenticazione nel menu del server MCP rispondono con un messaggio. Per `/install-github-app` e l'elenco delle impostazioni `/mcp`, la sessione appare anche sotto **Needs input** nella [vista agente](/docs/it/agent-view) in modo che tu possa trovarla, collegarti ed eseguire di nuovo il comando. Mentre un terminale è collegato, questi comandi funzionano normalmente.

4484 4507 

4485Prima della v2.1.216, la sessione non appariva sotto **Needs input** dopo uno di questi rifiuti. Nella v2.1.213 attraverso v2.1.215, i comandi funzionavano ancora mentre un terminale era collegato, e il messaggio di rifiuto ti diceva di collegarti ed eseguire di nuovo il comando. Dalla v2.1.208 attraverso v2.1.212, Claude Code li rifiutava anche mentre un terminale era collegato, con un messaggio come `Can't open MCP settings in a background session`; su quelle versioni, esegui il comando da una sessione `claude` regolare invece, o esegui l'upgrade. Prima della v2.1.208, aprivano la loro finestra di dialogo all'interno della sessione in background. Solo nella v2.1.208, Claude Code ha anche rifiutato il selettore `/model` in una sessione in background, e `/upgrade` ha stampato l'URL di upgrade invece di aprire un browser.4508Prima della v2.1.216, la sessione non appariva sotto **Needs input** dopo il rifiuto di `/install-github-app` o dell'elenco delle impostazioni `/mcp`. Nella v2.1.213 attraverso v2.1.215, i comandi funzionavano ancora mentre un terminale era collegato, e il messaggio di rifiuto ti diceva di collegarti ed eseguire di nuovo il comando. Dalla v2.1.208 attraverso v2.1.212, Claude Code li rifiutava anche mentre un terminale era collegato, con un messaggio come `Can't open MCP settings in a background session`; su quelle versioni, esegui il comando da una sessione `claude` regolare invece, o esegui l'upgrade. Prima della v2.1.208, aprivano la loro finestra di dialogo all'interno della sessione in background. Solo nella v2.1.208, Claude Code ha anche rifiutato il selettore `/model` in una sessione in background, e `/upgrade` ha stampato l'URL di upgrade invece di aprire un browser.

4486 4509 

4487La formulazione nomina il comando. L'elenco delle impostazioni `/mcp` riporta:4510La formulazione nomina il comando. L'elenco delle impostazioni `/mcp` riporta:

4488 4511 


4499 Scrittura o comando bloccato perché il percorso non può essere risolto in modo sicuro4522 Scrittura o comando bloccato perché il percorso non può essere risolto in modo sicuro

4500</h3>4523</h3>

4501 4524 

4502Claude ha indirizzato un file o una directory di lavoro attraverso un'ortografia che la [guardia di isolamento worktree](/docs/it/agent-view#how-file-edits-are-isolated) non può risolvere in un'unica posizione verificabile. La guardia controlla le scritture e le directory di lavoro dei comandi in [qualsiasi sessione isolata in un worktree](/docs/it/worktrees#how-claude-code-enforces-isolation), interattiva o in background, e in [subagent isolati da worktree](/docs/it/worktrees#isolate-subagents-with-worktrees). Risolve i symlink prima di controllare che l'operazione non raggiunga il checkout condiviso, e quando la risoluzione fallisce, blocca l'operazione piuttosto che lasciarla atterrare lì. Il messaggio nomina le forme di percorso che rifiuta e come riprovare:4525Claude ha indirizzato un file o una directory di lavoro attraverso un'ortografia che la [guardia di isolamento worktree](/docs/it/agent-view#how-file-edits-are-isolated) non può risolvere in un'unica posizione verificabile. La guardia controlla le scritture e le directory di lavoro dei comandi in [qualsiasi sessione isolata in un worktree](/docs/it/worktrees#how-claude-code-enforces-isolation), interattiva o in background, e in [subagent isolati da worktree](/docs/it/worktrees#isolate-subagents-with-worktrees). Risolve i collegamenti simbolici prima di controllare che l'operazione non raggiunga il checkout condiviso, e quando la risoluzione fallisce, blocca l'operazione piuttosto che lasciarla atterrare lì. Il messaggio nomina le forme di percorso che rifiuta e come riprovare:

4503 4526 

4504```text theme={null}4527```text theme={null}

4505This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.4528This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.

4506```4529```

4507 4530 

4508Un comando bloccato riporta la stessa causa per la sua directory di lavoro e termina con `re-run the command from its direct symlink-free path`. Prima della v2.1.217, la guardia confrontava le ortografie dei percorsi senza risolvere i symlink, quindi queste ortografie non erano bloccate e una scrittura instradata attraverso un symlink poteva atterrare nel checkout condiviso.4531Un comando bloccato riporta la stessa causa per la sua directory di lavoro e termina con `re-run the command from its direct symlink-free path`. Prima della v2.1.217, la guardia confrontava le ortografie dei percorsi senza risolvere i collegamenti simbolici, quindi queste ortografie non erano bloccate e una scrittura instradata attraverso un collegamento simbolico poteva atterrare nel checkout condiviso.

4509 4532 

4510**Cosa fare:**4533**Cosa fare:**

4511 4534 

4512* Di solito nulla: il messaggio completo va a Claude come errore dello strumento, e Claude riprova con il percorso diretto che nomina. Per una modifica di file bloccata, la vista della conversazione mostra solo una breve riga `Error editing file`; il messaggio completo appare nella vista della trascrizione, che apri con `Ctrl+O`. Un comando bloccato lo stampa nel suo output di comando.4535* Di solito nulla: il messaggio completo va a Claude come errore dello strumento, e Claude riprova con il percorso diretto che nomina. Per una modifica di file bloccata, la vista della conversazione mostra solo una breve riga `Error editing file`; il messaggio completo appare nella vista della trascrizione, che apri con `Ctrl+O`. Un comando bloccato lo stampa nel suo output di comando.

4513* Se il blocco si ripete sullo stesso file, il percorso probabilmente passa attraverso un symlink committato il cui target contiene `..`, come `docs/current -> ../README.md`; chiedi a Claude di modificare il file target dal suo percorso reale invece che attraverso il link4536* Se il blocco si ripete sullo stesso file, il percorso probabilmente passa attraverso un collegamento simbolico sottoposto a commit il cui target contiene `..`, come `docs/current -> ../README.md`; chiedi a Claude di modificare il file target dal suo percorso reale invece che attraverso il link

4514 4537 

4515<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4538<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">

4516 Scrittura o comando bloccato perché il percorso nomina una posizione di rete4539 Scrittura o comando bloccato perché il percorso nomina una posizione di rete


4612 Worktree ha commit che non sono spinti da nessuna parte4635 Worktree ha commit che non sono spinti da nessuna parte

4613</h3>4636</h3>

4614 4637 

4615Hai provato a eliminare una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) il cui worktree contiene commit che Claude Code non può confermare siano salvati altrove. Claude Code mantiene il worktree e la riga della sessione piuttosto che distruggere i commit senza vederli. `claude rm` nomina il ramo e i commit non spinti, e dice come procedere:4638Hai provato a eliminare una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) il cui worktree contiene commit che Claude Code non può confermare siano salvati altrove. Claude Code mantiene il worktree e la riga della sessione piuttosto che distruggere i commit senza vederli. `claude rm` nomina il branch e i commit non spinti, e dice come procedere:

4616 4639 

4617```text theme={null}4640```text theme={null}

4618kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4641kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”

4619 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.4642 2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.

4620 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef4643 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

4621```4644```

4622 4645 

4623Quando Claude Code non può riassumere i commit, la riga di dettaglio legge `The worktree has unpushed commits` invece. Nella [vista agente](/docs/it/agent-view), la riga della sessione mostra `not deleted` con lo stesso motivo.4646Quando Claude Code non può riassumere i commit, la riga di dettaglio legge `The worktree has unpushed commits` invece. Nella [vista agente](/docs/it/agent-view), la riga della sessione mostra `not deleted` con lo stesso motivo.

4624 4647 

4625I commit su un remote non bloccano l'eliminazione. Nemmeno i commit sulla copia locale del ramo predefinito del tuo remote `origin`, purché quel ramo sia estratto nel tuo checkout principale, la directory del repository stesso piuttosto che un worktree.4648I commit su un remote non bloccano l'eliminazione. Nemmeno i commit sulla copia locale del branch predefinito del tuo remote `origin`, purché quel branch sia estratto nel tuo checkout principale, la directory del repository stesso piuttosto che un worktree.

4626 4649 

4627**Cosa fare:**4650**Cosa fare:**

4628 4651 

4629* Per mantenere i commit, spingi il ramo del worktree, o uniscilo al ramo predefinito estratto nel tuo checkout principale, quindi elimina di nuovo la sessione4652* Per mantenere i commit, esegui il push del branch del worktree, o esegui il merge nel branch predefinito estratto nel tuo checkout principale, quindi elimina di nuovo la sessione

4630* Per scartare i commit, esegui il comando `claude rm <id> --discard-unpushed` che il messaggio ha stampato, o premi `Ctrl+X` due volte sulla riga della sessione nella vista agente di nuovo. Questo rimuove la sessione e il worktree insieme al suo ramo, ai commit non spinti e a qualsiasi modifica non committata. Se il worktree ha guadagnato un commit dal rifiuto, Claude Code lo mantiene di nuovo e mostra lo stato aggiornato4653* Per scartare i commit, esegui il comando `claude rm <id> --discard-unpushed` che il messaggio ha stampato, o premi `Ctrl+X` due volte sulla riga della sessione nella vista agente di nuovo. Questo rimuove la sessione e il worktree insieme al suo branch, ai commit non spinti e a qualsiasi modifica non sottoposta a commit. Se il worktree ha guadagnato un commit dal rifiuto, Claude Code lo mantiene di nuovo e mostra lo stato aggiornato

4631* Quando il messaggio dice che il worktree è anche registrato da un'altra sessione terminata, eliminare di nuovo non lo scarta: spingi i commit, quindi elimina di nuovo la sessione4654* Quando il messaggio dice che il worktree è anche registrato da un'altra sessione terminata, eliminare di nuovo non lo scarta: esegui il push dei commit, quindi elimina di nuovo la sessione

4632 4655 

4633Prima della v2.1.268, `claude rm` metteva il riassunto del commit sulla riga `kept` stessa. Quando `claude rm` non poteva riassumere i commit, la riga `kept` leggeva `worktree has commits that are not pushed anywhere` al posto del riassunto.4656Prima della v2.1.268, `claude rm` metteva il riassunto del commit sulla riga `kept` stessa. Quando `claude rm` non poteva riassumere i commit, la riga `kept` leggeva `worktree has commits that are not pushed anywhere` al posto del riassunto.

4634 4657 

4635Prima della v2.1.260, il messaggio non nominava il ramo o i commit, e eliminare di nuovo era rifiutato allo stesso modo: eliminare la sessione senza spingere significava rimuovere il worktree tu stesso con `git worktree remove --force <path>`, quindi eseguire di nuovo `claude rm <id>`.4658Prima della v2.1.260, il messaggio non nominava il branch o i commit, e eliminare di nuovo era rifiutato allo stesso modo: eliminare la sessione senza eseguire il push significava rimuovere il worktree tu stesso con `git worktree remove --force <path>`, quindi eseguire di nuovo `claude rm <id>`.

4636 4659 

4637Prima della v2.1.248, il ramo predefinito estratto nel tuo checkout principale non contava: un ramo che avevi già unito lì attivava ancora questo rifiuto fino a quando i suoi commit non raggiungevano un remote.4660Prima della v2.1.248, il branch predefinito estratto nel tuo checkout principale non contava: un branch di cui avevi già eseguito il merge lì attivava ancora questo rifiuto fino a quando i suoi commit non raggiungevano un remote.

4638 4661 

4639<h3 id="terminal-host-process-died">4662<h3 id="terminal-host-process-died">

4640 Il processo host del terminale è morto4663 Il processo host del terminale è morto


4713 Agente della sessione non più disponibile4736 Agente della sessione non più disponibile

4714</h3>4737</h3>

4715 4738 

4716Hai ripreso una sessione che stava eseguendo un [agente personalizzato](/docs/it/sub-agents#invoke-subagents-explicitly), avviato con `--agent` o l'impostazione `agent`, e Claude Code non ha trovato un agente con quel nome. Cerca prima nella directory originale della sessione, quando hai [fiducia in quell'area di lavoro](/docs/it/permissions#project-allow-rules-and-workspace-trust), quindi nella directory da cui riprendi. La sessione riprende comunque, ma con gli strumenti predefiniti, quindi le restrizioni dello strumento dell'agente non si applicano più:4739Hai ripreso una sessione che stava eseguendo un [agente personalizzato](/docs/it/sub-agents#invoke-subagents-explicitly), avviato con `--agent` o l'impostazione `agent`, e Claude Code non ha trovato un agente con quel nome. Cerca prima nella directory originale della sessione, quando hai [fiducia in quel workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), quindi nella directory da cui riprendi. La sessione riprende comunque, ma con gli strumenti predefiniti, quindi le restrizioni dello strumento dell'agente non si applicano più:

4717 4740 

4718```text theme={null}4741```text theme={null}

4719This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.4742This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.


4721 4744 

4722L'avviso nomina solo le directory che Claude Code ha cercato, e appare nella conversazione ripresa sia che tu svegli una [sessione in background](/docs/it/agent-view), esegua `/resume` o `claude --resume`, o riprenda in [modalità non interattiva](/docs/it/headless), dove va anche a stderr. Le sessioni che usano `--input-format stream-json` non lo mostrano, perché l'Agent SDK fornisce agenti dopo l'avvio.4745L'avviso nomina solo le directory che Claude Code ha cercato, e appare nella conversazione ripresa sia che tu svegli una [sessione in background](/docs/it/agent-view), esegua `/resume` o `claude --resume`, o riprenda in [modalità non interattiva](/docs/it/headless), dove va anche a stderr. Le sessioni che usano `--input-format stream-json` non lo mostrano, perché l'Agent SDK fornisce agenti dopo l'avvio.

4723 4746 

4724Claude Code non salva il fallback nella sessione, quindi l'avviso si ripete ad ogni ripresa fino a quando non agisci. L'agente `claude` integrato non attiva l'avviso, poiché il fallback al set di strumenti predefinito non cambia nulla per esso. Prima della v2.1.216, Claude Code continuava silenziosamente come l'agente predefinito, e la ricerca copriva solo la directory da cui riprendevi, quindi un agente con ambito di progetto era perso ad ogni ripresa da un'altra directory.4747Claude Code non salva il fallback nella sessione, quindi l'avviso si ripete ad ogni ripresa fino a quando non agisci. L'agente `claude` integrato non attiva l'avviso, poiché ripiegare sul set di strumenti predefinito non cambia nulla per esso. Prima della v2.1.216, Claude Code continuava silenziosamente come l'agente predefinito, e la ricerca copriva solo la directory da cui riprendevi, quindi un agente con ambito di progetto era perso ad ogni ripresa da un'altra directory.

4725 4748 

4726**Cosa fare:**4749**Cosa fare:**

4727 4750 


4769 4792 

4770* Se il messaggio legge `Couldn't start the session`, aggiorna alla v2.1.212 o successiva. Su versioni precedenti puoi anche eseguire `claude daemon run` in un terminale separato per primo, quindi avviare di nuovo la sessione in background. Quel comando esegue il servizio in background in primo piano del terminale, quindi il servizio dura solo finché quel terminale rimane aperto.4793* Se il messaggio legge `Couldn't start the session`, aggiorna alla v2.1.212 o successiva. Su versioni precedenti puoi anche eseguire `claude daemon run` in un terminale separato per primo, quindi avviare di nuovo la sessione in background. Quel comando esegue il servizio in background in primo piano del terminale, quindi il servizio dura solo finché quel terminale rimane aperto.

4771* Se un npm install stava sostituendo il binario, aspetta che finisca, quindi avvia di nuovo la sessione in background4794* Se un npm install stava sostituendo il binario, aspetta che finisca, quindi avvia di nuovo la sessione in background

4772* Se l'errore appare su v2.1.212 o successiva mentre nessun npm install è in esecuzione, chiedi al tuo amministratore Windows di consentire l'eseguibile Claude Code nella politica di restrizione4795* Se l'errore appare su v2.1.212 o successiva mentre nessun npm install è in esecuzione, verifica con il tuo amministratore Windows se una politica di restrizione blocca l'eseguibile Claude Code

4773* Se il servizio in background si interrompe quando chiudi il terminale, Claude Code l'ha avviato senza PowerShell. Installa PowerShell 7, o chiedi al tuo amministratore di sbloccare PowerShell, in modo che il servizio possa sopravvivere al terminale.4796* Se il servizio in background si interrompe quando chiudi il terminale, Claude Code l'ha avviato senza PowerShell. Installa PowerShell 7, o chiedi al tuo amministratore di sbloccare PowerShell, in modo che il servizio possa sopravvivere al terminale.

4774 4797 

4775<h3 id="eacces-when-starting-a-background-session">4798<h3 id="eacces-when-starting-a-background-session">


4782Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'4805Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'

4783```4806```

4784 4807 

4785Quando avvii una sessione con `/background` o `claude --bg`, lo stesso motivo appare all'interno di `Couldn't reach the background service (...)`. Durante la stessa finestra di reinstallazione l'errore può nominare un altro codice invece, come `ENOENT` o `ENOEXEC`, o `EUNKNOWN` o `EPERM` su Windows; un `EUNKNOWN` che persiste attraverso i tentativi ha una [causa diversa](#eunknown-when-starting-a-background-session).4808Quando avvii una sessione con `/background` o `claude --bg`, lo stesso motivo appare all'interno di `Couldn't reach the background service (...)`. Durante la stessa finestra di reinstallazione l'errore può nominare un altro codice invece, come `ENOENT` o `ENOEXEC`, o `EUNKNOWN` o `EPERM` su Windows; un `EUNKNOWN` che persiste attraverso i nuovi tentativi ha una [causa diversa](#eunknown-when-starting-a-background-session).

4786 4809 

4787Su un'installazione npm, Claude Code aspetta che la reinstallazione finisca e riprova da solo: fino a dieci secondi, e fino a due minuti mentre un npm install di Claude Code è visibilmente ancora in esecuzione sulla macchina, che copre un altro processo Claude Code che scarica un aggiornamento. Quando l'installazione dura più di quella attesa, l'errore nomina l'aggiornamento invece del codice di errore nudo:4810Su un'installazione npm, Claude Code aspetta che la reinstallazione finisca e riprova da solo: fino a dieci secondi, e fino a due minuti mentre un npm install di Claude Code è visibilmente ancora in esecuzione sulla macchina, che copre un altro processo Claude Code che scarica un aggiornamento. Quando l'installazione dura più di quella attesa, l'errore nomina l'aggiornamento invece del codice di errore nudo:

4788 4811 


4825 La directory di lavoro non esiste più quando si avvia una sessione in background4848 La directory di lavoro non esiste più quando si avvia una sessione in background

4826</h3>4849</h3>

4827 4850 

4828La directory in cui hai provato ad avviare una [sessione in background](/docs/it/agent-view) è stata rimossa mentre la sessione era in avvio. Claude Code non avvia la sessione, e il messaggio nomina la directory mancante:4851La directory in cui hai avviato una [sessione in background](/docs/it/agent-view) è stata rimossa mentre la sessione era in avvio. Claude Code non avvia la sessione, e il messaggio nomina la directory mancante:

4829 4852 

4830```text theme={null}4853```text theme={null}

4831Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4854Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)


4840* Ricrea la directory che il messaggio nomina, o invia da una directory che esiste, quindi riprova4863* Ricrea la directory che il messaggio nomina, o invia da una directory che esiste, quindi riprova

4841 4864 

4842<h3 id="workspace-not-trusted-when-dispatching-a-background-session">4865<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4843 Workspace non trusted quando si invia una sessione in background4866 Workspace non attendibile quando si invia una sessione in background

4844</h3>4867</h3>

4845 4868 

4846Hai avviato o riavviato una [sessione in background](/docs/it/agent-view) in una directory che non hai [trusted](/docs/it/permissions#project-allow-rules-and-workspace-trust), e la finestra di dialogo di fiducia dell'area di lavoro non poteva apparire per chiedertelo. Claude Code non avvia la sessione:4869Hai avviato o riavviato una [sessione in background](/docs/it/agent-view) in una directory a cui non hai [concesso la fiducia](/docs/it/permissions#project-allow-rules-and-workspace-trust), e la finestra di dialogo di fiducia del workspace non poteva apparire per chiedertelo. Claude Code non avvia la sessione:

4847 4870 

4848```text theme={null}4871```text theme={null}

4849Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.4872Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.


4856* **`The home directory is trusted one session at a time`**: la directory della sessione è la tua directory home. Claude Code non salva mai la fiducia per la directory home, quindi accettare la finestra di dialogo lì in una sessione precedente non conta.4879* **`The home directory is trusted one session at a time`**: la directory della sessione è la tua directory home. Claude Code non salva mai la fiducia per la directory home, quindi accettare la finestra di dialogo lì in una sessione precedente non conta.

4857* **`<path> could not be resolved on disk`**: Claude Code non poteva trovare la directory della sessione su disco.4880* **`<path> could not be resolved on disk`**: Claude Code non poteva trovare la directory della sessione su disco.

4858 4881 

4882Prima della v2.1.286, su Windows, questo messaggio poteva apparire anche in una directory a cui avevi già concesso la fiducia, se il suo record di fiducia era stato salvato con il percorso in maiuscole/minuscole diverse. Aggiorna alla v2.1.286 o successiva.

4883 

4859**Cosa fare:**4884**Cosa fare:**

4860 4885 

4861* Esegui `claude` nella directory che il messaggio nomina e accetta la finestra di dialogo di fiducia, quindi esegui di nuovo il comando4886* Esegui `claude` nella directory che il messaggio nomina e accetta la finestra di dialogo di fiducia, quindi esegui di nuovo il comando

hooks.md +4 −10

Details

731 Il menu `/hooks`731 Il menu `/hooks`

732</h3>732</h3>

733 733 

734Digita `/hooks` in Claude Code per aprire un browser di sola lettura per i tuoi hook configurati. Il menu mostra ogni evento hook con un conteggio degli hook configurati, ti permette di approfondire i matcher, e mostra i dettagli completi di ogni handler hook. Usalo per verificare la configurazione, controllare da quale file di impostazioni proviene un hook, o ispezionare il comando, il prompt, o l'URL di un hook.734Digita `/hooks` in Claude Code per aprire un browser di sola lettura per i tuoi hook configurati. L'elenco etichetta ogni hook con la sua provenienza, come le impostazioni utente, le impostazioni di progetto, le impostazioni locali, un plugin o la sessione corrente.

735 735 

736Il menu visualizza tutti e cinque i tipi di hook: `command`, `prompt`, `agent`, `http`, e `mcp_tool`. Ogni hook è etichettato con un prefisso `[type]` e una fonte che indica dove è stato definito:736Seleziona un hook per vedere il testo completo di ciò che esegue e dove è definito, come il percorso del suo file di impostazioni o il nome del suo plugin.

737 737 

738* `User Settings`: da `~/.claude/settings.json`738Per sfogliare tutti gli eventi hook, compresi quelli senza hook configurati, seleziona `All events` alla fine dell'elenco.

739* `Project Settings`: da `.claude/settings.json`

740* `Local Settings`: da `.claude/settings.local.json`

741* `Plugin Hooks`: da `hooks/hooks.json` di un plugin

742* `Session Hooks`: registrato in memoria per la sessione corrente

743 

744Selezionando un hook si apre una vista dettagliata che mostra il suo evento, matcher, tipo, file di origine, e il comando, prompt, o URL completo. Il menu è di sola lettura: per aggiungere, modificare, o rimuovere gli hook, modifica il JSON di impostazioni direttamente o chiedi a Claude di fare il cambiamento.

745 739 

746<h3 id="disable-or-remove-hooks">740<h3 id="disable-or-remove-hooks">

747 Disabilita o rimuovi gli hook741 Disabilita o rimuovi gli hook

748</h3>742</h3>

749 743 

750Per rimuovere un hook, elimina la sua voce dal file JSON di impostazioni.744Per rimuovere un hook definito in un file di impostazioni, elimina la sua voce da quel file.

751 745 

752Per disabilitare temporaneamente tutti gli hook senza rimuoverli, imposta `"disableAllHooks": true` nel tuo file di impostazioni. Claude Code legge il valore rimasto dopo che la [precedenza delle impostazioni](/docs/it/settings#settings-precedence) si applica, quindi un `"disableAllHooks": false` nel `.claude/settings.json` di un progetto sostituisce un `true` nelle tue impostazioni utente. Per disattivare gli hook per un'esecuzione qualunque siano le impostazioni del progetto, passa `--settings '{"disableAllHooks": true}'`, che ha la precedenza sulle impostazioni di progetto e locale. Non c'è modo di disabilitare un singolo hook mantenendolo nella configurazione.746Per disabilitare temporaneamente tutti gli hook senza rimuoverli, imposta `"disableAllHooks": true` nel tuo file di impostazioni. Claude Code legge il valore rimasto dopo che la [precedenza delle impostazioni](/docs/it/settings#settings-precedence) si applica, quindi un `"disableAllHooks": false` nel `.claude/settings.json` di un progetto sostituisce un `true` nelle tue impostazioni utente. Per disattivare gli hook per un'esecuzione qualunque siano le impostazioni del progetto, passa `--settings '{"disableAllHooks": true}'`, che ha la precedenza sulle impostazioni di progetto e locale. Non c'è modo di disabilitare un singolo hook mantenendolo nella configurazione.

753 747 

hooks-guide.md +18 −15

Details

65 }65 }

66 ```66 ```

67 67 

68 Potete anche chiedere a Claude di scrivere l'hook per voi descrivendo quello che volete nella CLI.68 Puoi anche chiedere a Claude di scrivere l'hook per te descrivendo quello che vuoi nella CLI.

69 </Step>69 </Step>

70 70 

71 <Step title="Verificare la configurazione">71 <Step title="Verifica la configurazione">

72 Digitate `/hooks` per aprire il browser degli hooks. Vedrete un elenco di tutti gli eventi hook disponibili, con un conteggio accanto a ogni evento che ha hook configurati. Selezionate `Notification` per confermare che il vostro nuovo hook appare nell'elenco. Selezionando l'hook vengono mostrati i suoi dettagli: l'evento, il matcher, il tipo, il file di origine e il comando.72 Digita `/hooks` nel prompt di Claude Code per aprire il browser degli hook. Il tuo nuovo hook appare nell'elenco sotto `Notification`.

73 </Step>73 </Step>

74 74 

75 <Step title="Testare l'hook">75 <Step title="Testa l'hook">

76 Premete `Esc` per tornare alla CLI. Premete `Shift+Tab` finché la barra di stato non mostra `⏸ manual mode on`, chiedete a Claude di fare qualcosa che richieda autorizzazione, quindi passate a un'altra finestra dal terminale. Dovreste ricevere una notifica desktop.76 Premi `Esc` per tornare alla CLI. Premi `Shift+Tab` finché la barra di stato non mostra `⏸ manual mode on`, chiedi a Claude di fare qualcosa che richieda un permesso, quindi passa a un'altra finestra lasciando il terminale. Dovresti ricevere una notifica desktop.

77 </Step>77 </Step>

78</Steps>78</Steps>

79 79 

80<Tip>

81 Il menu `/hooks` è di sola lettura. Per aggiungere, modificare o rimuovere hooks, modificate il vostro JSON di impostazioni direttamente o chiedete a Claude di fare il cambiamento.

82</Tip>

83 

84<h2 id="what-you-can-automate">80<h2 id="what-you-can-automate">

85 Cosa potete automatizzare81 Cosa potete automatizzare

86</h2>82</h2>


97 93 

98Ricevete una notifica desktop ogni volta che Claude finisce di lavorare e ha bisogno del vostro input, in modo da poter passare ad altri compiti senza controllare il terminale.94Ricevete una notifica desktop ogni volta che Claude finisce di lavorare e ha bisogno del vostro input, in modo da poter passare ad altri compiti senza controllare il terminale.

99 95 

100Questo hook utilizza l'evento `Notification`, che Claude Code attiva quando Claude sta aspettando input o autorizzazione. Consultate [quando ogni tipo di notifica si attiva](/docs/it/hooks#notification) per il timing esatto. Ogni scheda sottostante utilizza il comando di notifica nativo della piattaforma. Aggiungete questo a `~/.claude/settings.json`:96Questo hook utilizza l'evento `Notification`, che Claude Code attiva quando Claude è in attesa di input o di un permesso. Consulta [quando si attiva ogni tipo di notifica](/docs/it/hooks#notification) per le tempistiche esatte.

97 

98Ogni scheda qui sotto utilizza il comando di notifica nativo della piattaforma. Aggiungi questo a `~/.claude/settings.json`:

101 99 

102<Tabs>100<Tabs>

103 <Tab title="macOS">101 <Tab title="macOS">


119 }117 }

120 ```118 ```

121 119 

122 <Accordion title="Se nessuna notifica appare">120 <Accordion title="Se non appare nessuna notifica">

123 `osascript` instrada le notifiche attraverso l'app Script Editor integrata. Se Script Editor non ha il permesso di notifica, il comando fallisce silenziosamente e macOS non vi chiederà di concederlo. Eseguite questo in Terminal una volta per far apparire Script Editor nelle vostre impostazioni di notifica:121 `osascript` instrada le notifiche attraverso l'app Script Editor integrata. Se Script Editor non ha il permesso di inviare notifiche, il comando fallisce silenziosamente e macOS non ti chiederà di concederlo.

122 

123 Esegui questo comando una volta in Terminal per far apparire Script Editor nelle impostazioni delle notifiche:

124 124 

125 ```bash theme={null}125 ```bash theme={null}

126 osascript -e 'display notification "test"'126 osascript -e 'display notification "test"'


179 }179 }

180 ```180 ```

181 181 

182 <Accordion title="Se nessuna finestra di dialogo appare">182 <Accordion title="Se non appare nessuna finestra di dialogo">

183 Questo comando apre una finestra di dialogo piuttosto che una notifica nell'angolo dello schermo, quindi la finestra di dialogo può aprirsi dietro la vostra finestra del terminale. Testate il comando direttamente in PowerShell per primo. Se eseguite Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel vostro `PATH` attraverso l'interoperabilità di Windows.183 Questo comando apre una finestra di dialogo anziché una notifica nell'angolo dello schermo, quindi la finestra di dialogo può aprirsi dietro la finestra del terminale. Prova prima il comando direttamente in PowerShell.

184 

185 Se esegui Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel tuo `PATH` tramite l'interoperabilità di Windows.

184 </Accordion>186 </Accordion>

185 </Tab>187 </Tab>

186</Tabs>188</Tabs>


212 214 

213`agent_needs_input` per una domanda di configurazione del terminale di un compagno di squadra richiede Claude Code v2.1.248 o successivo.215`agent_needs_input` per una domanda di configurazione del terminale di un compagno di squadra richiede Claude Code v2.1.248 o successivo.

214 216 

215Digitate `/hooks` e selezionate `Notification` per confermare che l'hook è registrato. Per lo schema completo dell'evento, consultate il [riferimento Notification](/docs/it/hooks#notification).217Digita `/hooks` nel prompt di Claude Code e verifica che l'hook compaia sotto `Notification`.

216 218 

217<h3 id="auto-format-code-after-edits">219<h3 id="auto-format-code-after-edits">

218 Formattare automaticamente il codice dopo le modifiche220 Formattare automaticamente il codice dopo le modifiche


1055* Le modifiche ai file vengono normalmente raccolte automaticamente. Se non sono apparse dopo alcuni secondi, il file watcher potrebbe aver perso il cambiamento: riavviate la vostra sessione per forzare un ricaricamento.1057* Le modifiche ai file vengono normalmente raccolte automaticamente. Se non sono apparse dopo alcuni secondi, il file watcher potrebbe aver perso il cambiamento: riavviate la vostra sessione per forzare un ricaricamento.

1056* Verificate che il vostro JSON sia valido: le virgole finali e i commenti non sono consentiti1058* Verificate che il vostro JSON sia valido: le virgole finali e i commenti non sono consentiti

1057* Confermate che il file di impostazioni è nella posizione corretta: `.claude/settings.json` per gli hook del progetto, `~/.claude/settings.json` per gli hook globali1059* Confermate che il file di impostazioni è nella posizione corretta: `.claude/settings.json` per gli hook del progetto, `~/.claude/settings.json` per gli hook globali

1060* Se il menu mostra `Only hooks from managed settings run here`, la tua organizzazione ha impostato [`allowManagedHooksOnly`](/docs/it/settings-reference#allowmanagedhooksonly). Gli hook nei tuoi file di impostazioni utente, di progetto e locali non vengono eseguiti e non sono elencati

1058 1061 

1059<h3 id="stop-hook-hits-the-block-cap">1062<h3 id="stop-hook-hits-the-block-cap">

1060 L'hook Stop colpisce il limite di blocco1063 L'hook Stop colpisce il limite di blocco

Details

73 73 

74Trasmettete in streaming le risposte di inferenza. Claude Code legge il flusso mentre arriva, quindi se il vostro gateway memorizza nel buffer le risposte complete prima di inoltrarle, Claude Code si blocca.74Trasmettete in streaming le risposte di inferenza. Claude Code legge il flusso mentre arriva, quindi se il vostro gateway memorizza nel buffer le risposte complete prima di inoltrarle, Claude Code si blocca.

75 75 

76Consegnate la sequenza di eventi completa di ogni risposta senza eliminare, duplicare o riordinare gli eventi. Quando un evento fa riferimento a un blocco di contenuto il cui `content_block_start` non è mai arrivato, o a un blocco il cui `content_block_stop` è già arrivato, Claude Code smette di leggere il flusso a quell'evento invece di applicarlo, quindi un `content_block_stop` duplicato non può eseguire la stessa chiamata di strumento due volte. [La risposta sopra potrebbe essere incompleta](/docs/it/errors#the-response-above-may-be-incomplete) descrive ciò che l'utente vede, secondo le varianti `Parte della risposta non è mai arrivata` e `Il flusso di risposta era malformato`.76Consegna la sequenza di eventi completa di ogni risposta senza eliminare, duplicare o riordinare gli eventi. Quando un guardrail di Amazon Bedrock blocca una risposta, inoltra invariati gli eventi che invia, anche quando fanno riferimento a un blocco di contenuto il cui `content_block_stop` è già arrivato. [AWS Guardrails](/docs/it/amazon-bedrock#aws-guardrails) descrive come termina quella risposta. Quando qualsiasi altro evento fa riferimento a un blocco di contenuto il cui `content_block_start` non è mai arrivato, o a un blocco il cui `content_block_stop` è già arrivato, Claude Code smette di leggere il flusso a quell'evento invece di applicarlo, quindi un `content_block_stop` duplicato non può eseguire la stessa chiamata a uno strumento due volte. [La risposta sopra potrebbe essere incompleta](/docs/it/errors#the-response-above-may-be-incomplete) descrive ciò che l'utente vede, sotto le varianti `Part of the response never arrived` e `The response stream was malformed`.

77 77 

78Inoltrate ogni risposta attraverso i suoi eventi finali `message_delta` e `message_stop` prima di terminare il corpo. Un corpo che termina dopo un `message_delta` che trasporta un `stop_reason`, senza blocco di contenuto ancora aperto e nessun evento di blocco di contenuto dopo quel frame, conta come completo anche quando `message_stop` è mancante. Un corpo che il vostro gateway termina in modo pulito prima, una volta che un blocco di contenuto ha iniziato, viene trattato come una connessione interrotta: [Tentativi automatici](/docs/it/errors#automatic-retries) dice quando Claude Code ri-emette la richiesta, e [La risposta sopra potrebbe essere incompleta](/docs/it/errors#the-response-above-may-be-incomplete) copre ciò che mantiene una volta che il contenuto visibile è arrivato. Claude Code mantiene il `stop_reason` che un `message_delta` consegna, quindi un successivo `message_delta` solo per l'utilizzo il cui `delta` ha `stop_reason: null` o nessuna chiave `stop_reason` non lo cancella.78Inoltrate ogni risposta attraverso i suoi eventi finali `message_delta` e `message_stop` prima di terminare il corpo. Un corpo che termina dopo un `message_delta` che trasporta un `stop_reason`, senza blocco di contenuto ancora aperto e nessun evento di blocco di contenuto dopo quel frame, conta come completo anche quando `message_stop` è mancante. Un corpo che il vostro gateway termina in modo pulito prima, una volta che un blocco di contenuto ha iniziato, viene trattato come una connessione interrotta: [Tentativi automatici](/docs/it/errors#automatic-retries) dice quando Claude Code ri-emette la richiesta, e [La risposta sopra potrebbe essere incompleta](/docs/it/errors#the-response-above-may-be-incomplete) copre ciò che mantiene una volta che il contenuto visibile è arrivato. Claude Code mantiene il `stop_reason` che un `message_delta` consegna, quindi un successivo `message_delta` solo per l'utilizzo il cui `delta` ha `stop_reason: null` o nessuna chiave `stop_reason` non lo cancella.

79 79 

memory.md +99 −97

Details

41 File CLAUDE.md41 File CLAUDE.md

42</h2>42</h2>

43 43 

44I file CLAUDE.md sono file markdown che forniscono a Claude istruzioni persistenti per un progetto, il vostro flusso di lavoro personale o l'intera organizzazione. Scrivete questi file in testo semplice; Claude li legge all'inizio di ogni sessione. Se il vostro repository utilizza `AGENTS.md` invece, consultate [AGENTS.md](#agents-md).44I file CLAUDE.md sono file markdown che forniscono a Claude istruzioni persistenti per un progetto, il tuo workflow personale o l'intera organizzazione. Scrivi questi file in testo semplice; Claude li legge all'inizio di ogni sessione. Se il tuo repository utilizza `AGENTS.md` invece, consulta [AGENTS.md](#agents-md).

45 45 

46<h3 id="when-to-add-to-claude-md">46<h3 id="when-to-add-to-claude-md">

47 Quando aggiungere a CLAUDE.md47 Quando aggiungere a CLAUDE.md

48</h3>48</h3>

49 49 

50Trattate CLAUDE.md come il luogo in cui scrivete ciò che altrimenti dovreste rispiegare. Aggiungete a esso quando:50Tratta CLAUDE.md come il luogo in cui scrivi ciò che altrimenti dovresti rispiegare. Aggiungi qualcosa quando:

51 51 

52* Claude commette lo stesso errore una seconda volta52* Claude commette lo stesso errore una seconda volta

53* Una revisione del codice rileva qualcosa che Claude avrebbe dovuto sapere su questo codebase53* Una code review rileva qualcosa che Claude avrebbe dovuto sapere su questo codebase

54* Digitate la stessa correzione o chiarimento nella chat che avete digitato nella sessione precedente54* Digiti nella chat la stessa correzione o lo stesso chiarimento che hai digitato nella sessione precedente

55* Un nuovo membro del team avrebbe bisogno dello stesso contesto per essere produttivo55* Un nuovo membro del team avrebbe bisogno dello stesso contesto per essere produttivo

56 56 

57Mantenetelo limitato ai fatti che Claude dovrebbe ricordare in ogni sessione: comandi di build, convenzioni, layout del progetto, regole "fai sempre X". Se una voce è una procedura multi-step o riguarda solo una parte del codebase, spostatela in una [skill](/docs/it/skills) o in una [regola con ambito di percorso](#organize-rules-with-claude/rules/) invece. La [panoramica dell'estensione](/docs/it/features-overview#build-your-setup-over-time) copre quando utilizzare ogni meccanismo.57Limitalo ai fatti che Claude dovrebbe ricordare in ogni sessione: comandi di build, convenzioni, layout del progetto, regole "fai sempre X". Se una voce è una procedura multi-step o riguarda solo una parte del codebase, spostala invece in una [skill](/docs/it/skills) o in una [regola con ambito di percorso](#organize-rules-with-claude/rules/). La [panoramica delle estensioni](/docs/it/features-overview#build-your-setup-over-time) spiega quando utilizzare ogni meccanismo.

58 58 

59<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

60 Scegliete dove posizionare i file CLAUDE.md60 Scegli dove posizionare i file CLAUDE.md

61</h3>61</h3>

62 62 

63I file CLAUDE.md possono trovarsi in diversi percorsi, ognuno con un ambito diverso. La tabella seguente li elenca in ordine di caricamento, dall'ambito più ampio al più specifico, quindi un'istruzione di progetto appare in contesto dopo un'istruzione utente.63I file CLAUDE.md possono trovarsi in diversi percorsi, ognuno con un ambito diverso. La tabella seguente li elenca in ordine di caricamento, dall'ambito più ampio al più specifico, quindi un'istruzione di progetto appare in contesto dopo un'istruzione utente.


65| Ambito | Percorso | Scopo | Esempi di casi d'uso | Condiviso con |65| Ambito | Percorso | Scopo | Esempi di casi d'uso | Condiviso con |

66| - | - | - | - | - |66| - | - | - | - | - |

67| **Politica gestita** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux e WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Istruzioni a livello organizzativo gestite da IT/DevOps | Standard di codifica aziendale, politiche di sicurezza, requisiti di conformità | Tutti gli utenti dell'organizzazione |67| **Politica gestita** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux e WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Istruzioni a livello organizzativo gestite da IT/DevOps | Standard di codifica aziendale, politiche di sicurezza, requisiti di conformità | Tutti gli utenti dell'organizzazione |

68| **Istruzioni utente** | `~/.claude/CLAUDE.md` | Preferenze personali per tutti i progetti | Preferenze di stile del codice, scorciatoie di strumenti personali | Solo voi (tutti i progetti) |68| **Istruzioni utente** | `~/.claude/CLAUDE.md` | Preferenze personali per tutti i progetti | Preferenze di stile del codice, scorciatoie di strumenti personali | Solo tu (tutti i progetti) |

69| **Istruzioni di progetto** | `./CLAUDE.md` o `./.claude/CLAUDE.md`. Consultate [AGENTS.md](#agents-md) per quando `./AGENTS.md` si carica invece o insieme a essi | Istruzioni condivise dal team per il progetto | Architettura del progetto, standard di codifica, flussi di lavoro comuni | Membri del team tramite controllo del codice sorgente |69| **Istruzioni di progetto** | `./CLAUDE.md` o `./.claude/CLAUDE.md`. Consulta [AGENTS.md](#agents-md) per sapere quando `./AGENTS.md` si carica al loro posto o insieme a essi | Istruzioni condivise dal team per il progetto | Architettura del progetto, standard di codifica, workflow comuni | Membri del team tramite controllo del codice sorgente |

70| **Istruzioni locali** | `./CLAUDE.local.md` | Preferenze personali specifiche del progetto; aggiungete a `.gitignore` | I vostri URL sandbox, dati di test preferiti | Solo voi (progetto corrente) |70| **Istruzioni locali** | `./CLAUDE.local.md` | Preferenze personali specifiche del progetto; aggiungilo a `.gitignore` | I tuoi URL sandbox, dati di test preferiti | Solo tu (progetto corrente) |

71 71 

72I file CLAUDE.md e CLAUDE.local.md nella gerarchia di directory sopra la directory di lavoro vengono caricati all'avvio. I file nelle sottodirectory si caricano su richiesta quando Claude legge i file in quelle directory. Consultate [Come si caricano i file CLAUDE.md](#how-claude-md-files-load) per l'ordine di risoluzione completo.72I file CLAUDE.md e CLAUDE.local.md nella gerarchia di directory sopra la directory di lavoro vengono caricati all'avvio. I file nelle sottodirectory si caricano su richiesta quando Claude legge i file in quelle directory. Consulta [Come si caricano i file CLAUDE.md](#how-claude-md-files-load) per l'ordine di risoluzione completo.

73 73 

74Per i progetti di grandi dimensioni, potete suddividere le istruzioni in file specifici per argomento utilizzando [regole di progetto](#organize-rules-with-claude/rules/). Le regole vi permettono di limitare le istruzioni a tipi di file specifici o sottodirectory.74Per i progetti di grandi dimensioni, puoi suddividere le istruzioni in file specifici per argomento utilizzando le [regole di progetto](#organize-rules-with-claude/rules/). Le regole ti permettono di limitare le istruzioni a tipi di file specifici o sottodirectory.

75 75 

76<h3 id="set-up-a-project-claude-md">76<h3 id="set-up-a-project-claude-md">

77 Configurate un CLAUDE.md di progetto77 Configura un CLAUDE.md di progetto

78</h3>78</h3>

79 79 

80Un CLAUDE.md di progetto può essere archiviato in `./CLAUDE.md` o `./.claude/CLAUDE.md`. Create questo file e aggiungete istruzioni che si applicano a chiunque lavori sul progetto: comandi di build e test, standard di codifica, decisioni architettoniche, convenzioni di denominazione e flussi di lavoro comuni. Queste istruzioni sono condivise con il vostro team tramite controllo del codice sorgente, quindi concentratevi su standard a livello di progetto piuttosto che su preferenze personali. Per confermare che il file è stato caricato, eseguite `/context` in una sessione e controllate l'elenco sotto **Memory files**.80Un CLAUDE.md di progetto può essere archiviato in `./CLAUDE.md` o `./.claude/CLAUDE.md`. Crea questo file e aggiungi istruzioni che si applicano a chiunque lavori sul progetto: comandi di build e test, standard di codifica, decisioni architetturali, convenzioni di denominazione e workflow comuni. Queste istruzioni sono condivise con il tuo team tramite controllo di versione, quindi concentrati su standard a livello di progetto piuttosto che su preferenze personali. Per confermare che il file è stato caricato, esegui `/context` in una sessione e controlla l'elenco sotto **Memory files**.

81 81 

82<Tip>82<Tip>

83 Eseguite `/init` per generare automaticamente un CLAUDE.md iniziale. Claude analizza il vostro codebase e crea un file con comandi di build, istruzioni di test e convenzioni di progetto che scopre. Se un CLAUDE.md esiste già, `/init` suggerisce miglioramenti piuttosto che sovrascriverlo. Perfezionate da lì con istruzioni che Claude non scoprirebbe da solo.83 Esegui `/init` per generare automaticamente un CLAUDE.md iniziale. Claude analizza il tuo codebase e crea un file con comandi di build, istruzioni di test e convenzioni di progetto che scopre. Se un CLAUDE.md esiste già, `/init` suggerisce miglioramenti piuttosto che sovrascriverlo. Perfezionalo da lì con istruzioni che Claude non scoprirebbe da solo.

84 84 

85 Per un flusso interattivo multi-fase invece, impostate la variabile di ambiente `CLAUDE_CODE_NEW_INIT` a `1` prima di eseguire `/init`. Impostatela nella vostra shell o nel blocco `env` di un file di impostazioni, come mostrato in [Impostare le variabili di ambiente](/docs/it/env-vars#set-environment-variables). Con essa impostata, `/init` chiede quali artefatti configurare: file CLAUDE.md, skills e hooks. Quindi esplora il vostro codebase con un subagent, colma le lacune tramite domande di follow-up e presenta una proposta revisionabile prima di scrivere qualsiasi file. La variabile cambia solo il modo in cui `/init` viene eseguito, quindi potete lasciarla impostata.85 Per un flusso interattivo multi-fase, imposta invece la variabile d'ambiente `CLAUDE_CODE_NEW_INIT` a `1` prima di eseguire `/init`. Impostala nella tua shell o nel blocco `env` di un file di impostazioni, come mostrato in [Impostare le variabili d'ambiente](/docs/it/env-vars#set-environment-variables). Con essa impostata, `/init` chiede quali artefatti configurare: file CLAUDE.md, skill e hook. Quindi esplora il tuo codebase con un subagent, colma le lacune tramite domande di follow-up e presenta una proposta revisionabile prima di scrivere qualsiasi file. La variabile cambia solo il modo in cui `/init` viene eseguito, quindi puoi lasciarla impostata.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">

89 Scrivete istruzioni efficaci89 Scrivi istruzioni efficaci

90</h3>90</h3>

91 91 

92Claude tratta i file CLAUDE.md come contesto, non come configurazione applicata, quindi il modo in cui scrivete le istruzioni influisce su quanto affidabilmente Claude le segue. Scrivete istruzioni abbastanza concrete da poter verificare:92Claude tratta i file CLAUDE.md come contesto, non come configurazione imposta, quindi il modo in cui scrivi le istruzioni influisce su quanto affidabilmente Claude le segue. Scrivi istruzioni abbastanza concrete da poter essere verificate:

93 93 

94* "Utilizzate l'indentazione a 2 spazi" invece di "Formattate il codice correttamente"94* "Usa l'indentazione a 2 spazi" invece di "Formatta il codice correttamente"

95* "Eseguite `npm test` prima di eseguire il commit" invece di "Testate i vostri cambiamenti"95* "Esegui `npm test` prima di fare il commit" invece di "Testa le tue modifiche"

96* "I gestori API si trovano in `src/api/handlers/`" invece di "Mantenete i file organizzati"96* "I gestori API si trovano in `src/api/handlers/`" invece di "Mantieni i file organizzati"

97 97 

98Mantenete i vostri file brevi, organizzati e coerenti:98Mantieni i tuoi file brevi, organizzati e coerenti:

99 99 

100* **Dimensione**: mirate a meno di 200 righe per file CLAUDE.md. I file più lunghi consumano più contesto e riducono l'aderenza. Spostate le istruzioni che riguardano solo una parte del codebase in [regole con ambito di percorso](#path-specific-rules), che si caricano solo quando Claude lavora con file corrispondenti. [Le importazioni](#import-additional-files) vi aiutano a organizzare un file lungo ma non riducono il costo del contesto, perché i file importati si caricano comunque all'avvio.100* **Dimensione**: punta a meno di 200 righe per file CLAUDE.md. I file più lunghi consumano più contesto e riducono l'aderenza. Sposta le istruzioni che riguardano solo una parte del codebase in [regole con ambito di percorso](#path-specific-rules), che si caricano solo quando Claude lavora con file corrispondenti. [Le importazioni](#import-additional-files) ti aiutano a organizzare un file lungo ma non riducono il costo del contesto, perché anche i file importati si caricano all'avvio.

101* **Struttura**: raggruppate le istruzioni correlate sotto intestazioni e punti elenco markdown. Le sezioni organizzate sono più facili da seguire per Claude rispetto ai paragrafi densi.101* **Struttura**: raggruppa le istruzioni correlate sotto intestazioni e punti elenco markdown. Le sezioni organizzate sono più facili da seguire per Claude rispetto ai paragrafi densi.

102* **Coerenza**: se due istruzioni si contraddicono a vicenda, Claude potrebbe sceglierne una arbitrariamente. Rivedete periodicamente i vostri file CLAUDE.md, i file CLAUDE.md annidati nelle sottodirectory e [`.claude/rules/`](#organize-rules-with-claude/rules/) per rimuovere istruzioni obsolete o conflittuali. Per fare in modo che Claude le trovi per voi, [eseguite un audit delle istruzioni](#audit-your-instruction-files).102* **Coerenza**: se due istruzioni si contraddicono a vicenda, Claude potrebbe sceglierne una arbitrariamente. Rivedi periodicamente i tuoi file CLAUDE.md, i file CLAUDE.md annidati nelle sottodirectory e [`.claude/rules/`](#organize-rules-with-claude/rules/) per rimuovere istruzioni obsolete o in conflitto. Per fare in modo che Claude le trovi per te, [esegui un audit delle istruzioni](#audit-your-instruction-files).

103 103 

104<h4 id="audit-your-instruction-files">104<h4 id="audit-your-instruction-files">

105 Audit dei vostri file di istruzioni105 Esegui un audit dei tuoi file di istruzioni

106</h4>106</h4>

107 107 

108Per fare in modo che Claude controlli i vostri file di istruzioni per contenuti obsoleti o conflittuali, eseguite `/doctor prompt-audit` in una sessione. Claude cerca problemi come istruzioni scritte per modelli più vecchi, riferimenti a file o comandi che non esistono e file che si contraddicono a vicenda. Ricevete un rapporto dei risultati con modifiche proposte, e nulla nei vostri file cambia finché non chiedete a Claude di applicarle.108Per fare in modo che Claude controlli i tuoi file di istruzioni alla ricerca di contenuti obsoleti o in conflitto, esegui `/doctor prompt-audit` in una sessione. Claude cerca problemi come istruzioni scritte per modelli più vecchi, riferimenti a file o comandi che non esistono e file che si contraddicono a vicenda. Ricevi un rapporto dei risultati con modifiche proposte, e nulla nei tuoi file cambia finché non chiedi a Claude di applicarle.

109 109 

110Per impostazione predefinita, l'audit copre i vostri file CLAUDE.md, CLAUDE.local.md e AGENTS.md, più le regole, skills, comandi, subagent e stili di output sotto `.claude/` e `~/.claude/`. Per controllare un file o una directory invece, passate il suo percorso, ad esempio `/doctor prompt-audit .claude/skills/deploy`.110Per impostazione predefinita, l'audit copre i tuoi file CLAUDE.md, CLAUDE.local.md e AGENTS.md, più le regole, le skill, i comandi, i subagent e gli stili di output sotto `.claude/` e `~/.claude/`. Per controllare invece un singolo file o una singola directory, passa il suo percorso, ad esempio `/doctor prompt-audit .claude/skills/deploy`.

111 111 

112L'audit viene eseguito attraverso la skill `/claude-api` in bundle. Non è disponibile mentre quella skill è disattivata in [`skillOverrides`](/docs/it/skills#override-skill-visibility-from-settings) o con [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills). `/doctor prompt-audit` richiede Claude Code v2.1.283 o successivo.112L'audit viene eseguito attraverso la skill `/claude-api` in bundle. Non è disponibile mentre quella skill è disattivata in [`skillOverrides`](/docs/it/skills#override-skill-visibility-from-settings) o con [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills). `/doctor prompt-audit` richiede Claude Code v2.1.283 o successivo.

113 113 

114<h3 id="import-additional-files">114<h3 id="import-additional-files">

115 Importate file aggiuntivi115 Importa file aggiuntivi

116</h3>116</h3>

117 117 

118I file CLAUDE.md possono importare file aggiuntivi utilizzando la sintassi `@path/to/import`. I file importati vengono espansi e caricati in contesto all'avvio insieme al CLAUDE.md che li riferisce.118I file CLAUDE.md possono importare file aggiuntivi utilizzando la sintassi `@path/to/import`. I file importati vengono espansi e caricati in contesto all'avvio insieme al CLAUDE.md che li referenzia.

119 119 

120Sono consentiti sia i percorsi relativi che assoluti. I percorsi relativi si risolvono rispetto al file che contiene l'importazione, non alla directory di lavoro. I file importati possono importare ricorsivamente altri file, con una profondità massima di quattro hop.120Sono consentiti sia i percorsi relativi che assoluti. I percorsi relativi si risolvono rispetto al file che contiene l'importazione, non alla directory di lavoro. I file importati possono importare ricorsivamente altri file, con una profondità massima di quattro hop.

121 121 

122Per importare un file il cui percorso contiene spazi, mettete una barra rovesciata prima di ogni spazio. Senza le barre rovesciate, il percorso termina al primo spazio, anche quando l'importazione è su una riga a sé stante. Un percorso racchiuso tra virgolette non viene importato affatto, con o senza le barre rovesciate. Questa importazione carica un file da una cartella denominata `Design Docs`:122Per importare un file il cui percorso contiene spazi, metti una barra rovesciata prima di ogni spazio. Senza le barre rovesciate, il percorso termina al primo spazio, anche quando l'importazione è su una riga a sé stante. Un percorso racchiuso tra virgolette non viene importato affatto, con o senza le barre rovesciate. Questa importazione carica un file da una cartella denominata `Design Docs`:

123 123 

124```text theme={null}124```text theme={null}

125- Convenzioni API @Design\ Docs/api-conventions.md125- Convenzioni API @Design\ Docs/api-conventions.md

126```126```

127 127 

128L'analisi dell'importazione salta gli intervalli di codice Markdown e i blocchi di codice recintati. Per menzionare un percorso nel vostro CLAUDE.md senza importarlo, avvolgetelo in backtick: scrivere `` `@README` `` mantiene il testo letterale, mentre `@README` al di fuori dei backtick importa il file.128L'analisi delle importazioni salta gli intervalli di codice Markdown e i blocchi di codice delimitati. Per menzionare un percorso nel tuo CLAUDE.md senza importarlo, racchiudilo tra backtick: scrivere `` `@README` `` mantiene il testo letterale, mentre `@README` al di fuori dei backtick importa il file.

129 129 

130Per includere un README, package.json e una guida al flusso di lavoro, fate riferimento a essi con la sintassi `@` in qualsiasi punto del vostro CLAUDE.md:130Per includere un README, package.json e una guida al workflow, fai riferimento a essi con la sintassi `@` in qualsiasi punto del tuo CLAUDE.md:

131 131 

132```text theme={null}132```text theme={null}

133Consultate @README per la panoramica del progetto e @package.json per i comandi npm disponibili per questo progetto.133Consulta @README per la panoramica del progetto e @package.json per i comandi npm disponibili per questo progetto.

134 134 

135# Istruzioni aggiuntive135# Istruzioni aggiuntive

136- flusso di lavoro git @docs/git-instructions.md136- workflow git @docs/git-instructions.md

137```137```

138 138 

139Per le preferenze personali per progetto privato che non dovrebbero essere archiviate nel controllo del codice sorgente, create un `CLAUDE.local.md` nella radice del progetto. Si carica insieme a `CLAUDE.md` e viene trattato allo stesso modo. Aggiungete `CLAUDE.local.md` al vostro `.gitignore` in modo che non venga eseguito il commit. Con `CLAUDE_CODE_NEW_INIT=1` impostato, l'esecuzione di `/init` e la scelta dell'opzione personale lo fa per voi.139Per le preferenze private per progetto che non dovrebbero essere archiviate nel controllo di versione, crea un `CLAUDE.local.md` nella radice del progetto. Si carica insieme a `CLAUDE.md` e viene trattato allo stesso modo. Aggiungi `CLAUDE.local.md` al tuo `.gitignore` in modo che non venga incluso nei commit. Con `CLAUDE_CODE_NEW_INIT=1` impostato, eseguire `/init` e scegliere l'opzione personale lo fa per te.

140 140 

141Se lavorate su più git worktrees dello stesso repository, un `CLAUDE.local.md` ignorato da git esiste solo nel worktree in cui lo avete creato. Per condividere istruzioni personali tra worktrees, importate invece un file dalla vostra home directory:141Se lavori su più worktree git dello stesso repository, un `CLAUDE.local.md` ignorato da git esiste solo nel worktree in cui lo hai creato. Per condividere istruzioni personali tra i worktree, importa invece un file dalla tua directory home:

142 142 

143```text theme={null}143```text theme={null}

144# Preferenze individuali144# Preferenze individuali


146```146```

147 147 

148<Warning>148<Warning>

149 Un'importazione in un file di memoria a livello di progetto è esterna quando il suo percorso si risolve al di fuori della vostra directory di lavoro, come l'importazione della home directory sopra. La prima volta che Claude Code incontra importazioni esterne in un progetto, mostra una finestra di dialogo di approvazione che elenca i file. Se rifiutate, le importazioni rimangono disabilitate e la finestra di dialogo non appare più.149 Un'importazione in un file di memoria a livello di progetto è esterna quando il suo percorso si risolve al di fuori della tua directory di lavoro, come l'importazione dalla directory home sopra. La prima volta che Claude Code incontra importazioni esterne in un progetto, mostra una finestra di dialogo di approvazione che elenca i file. Se rifiuti, le importazioni rimangono disabilitate e la finestra di dialogo non appare più.

150 150 

151 Claude Code mostra la finestra di dialogo per proteggervi dai file che altre persone eseguono il commit in un progetto condiviso. I file di memoria con ambito utente, come `~/.claude/CLAUDE.md` e `~/.claude/rules/`, sono file che avete scritto voi stessi. Tranne nelle sessioni [Cowork](https://claude.com/product/cowork) sul vostro desktop, Claude Code carica le loro importazioni senza la finestra di dialogo e le considera attendibili come il resto della vostra configurazione personale.151 Claude Code mostra la finestra di dialogo per proteggerti dai file di cui altre persone fanno il commit in un progetto condiviso. I file di memoria con ambito utente, come `~/.claude/CLAUDE.md` e `~/.claude/rules/`, sono file che hai scritto tu stesso. Tranne nelle sessioni [Cowork](https://claude.com/product/cowork) sul tuo desktop, Claude Code carica le loro importazioni senza la finestra di dialogo e le considera attendibili come il resto della tua configurazione personale.

152 152 

153 Nelle sessioni Cowork sul vostro desktop, Claude Code salta qualsiasi importazione in un file con ambito utente che si risolve a un percorso al di fuori della directory di lavoro della sessione e carica il resto del file. In quelle sessioni salta anche un `~/.claude/CLAUDE.md` che è esso stesso un symlink o un hard link, e una directory `~/.claude/rules/` symlinked o un file di regola che punta al di fuori della directory di lavoro.153 Nelle sessioni Cowork sul tuo desktop, Claude Code salta qualsiasi importazione in un file con ambito utente che si risolve in un percorso al di fuori della directory di lavoro della sessione e carica il resto del file. In quelle sessioni salta anche un `~/.claude/CLAUDE.md` che è esso stesso un collegamento simbolico o un hard link, e una directory `~/.claude/rules/` o un file di regola che sia un collegamento simbolico che punta al di fuori della directory di lavoro.

154</Warning>154</Warning>

155 155 

156<h3 id="how-claude-md-files-load">156<h3 id="how-claude-md-files-load">

157 Come si caricano i file CLAUDE.md157 Come si caricano i file CLAUDE.md

158</h3>158</h3>

159 159 

160Claude Code carica `CLAUDE.md` e `CLAUDE.local.md` dalla vostra directory di lavoro corrente e da ogni directory sopra di essa. Eseguite Claude Code in `foo/bar/` e carica le istruzioni da `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` e da qualsiasi file `CLAUDE.local.md` accanto a essi.160Claude Code carica `CLAUDE.md` e `CLAUDE.local.md` dalla tua directory di lavoro corrente e da ogni directory sopra di essa. Se esegui Claude Code in `foo/bar/`, carica le istruzioni da `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` e da qualsiasi file `CLAUDE.local.md` accanto a essi.

161 161 

162Tutti i file scoperti vengono concatenati in contesto piuttosto che sovrascriversi a vicenda. Nell'albero delle directory, il contenuto è ordinato dalla radice del filesystem fino alla vostra directory di lavoro. Per l'esempio `foo/bar/`, `foo/CLAUDE.md` appare in contesto prima di `foo/bar/CLAUDE.md`, quindi le istruzioni più vicine a dove avete lanciato Claude vengono lette per ultime. All'interno di ogni directory, `CLAUDE.local.md` viene aggiunto dopo `CLAUDE.md`, quindi le vostre note personali sono l'ultima cosa che Claude legge a quel livello.162Tutti i file scoperti vengono concatenati in contesto invece di sovrascriversi a vicenda. Nell'albero delle directory, il contenuto è ordinato dalla radice del filesystem fino alla tua directory di lavoro. Per l'esempio `foo/bar/`, `foo/CLAUDE.md` appare in contesto prima di `foo/bar/CLAUDE.md`, quindi le istruzioni più vicine a dove hai avviato Claude vengono lette per ultime. All'interno di ogni directory, `CLAUDE.local.md` viene aggiunto dopo `CLAUDE.md`, quindi le tue note personali sono l'ultima cosa che Claude legge a quel livello.

163 163 

164Claude scopre anche i file `CLAUDE.md` e `CLAUDE.local.md` nelle sottodirectory sotto la vostra directory di lavoro corrente. Invece di caricarli all'avvio, vengono inclusi quando Claude legge i file in quelle sottodirectory.164Claude scopre anche i file `CLAUDE.md` e `CLAUDE.local.md` nelle sottodirectory sotto la tua directory di lavoro corrente. Invece di essere caricati all'avvio, vengono inclusi quando Claude legge i file in quelle sottodirectory. Per i file all'interno di un worktree sotto `.claude/worktrees/`, consulta [Isolare i subagent con i worktree](/docs/it/worktrees#isolate-subagents-with-worktrees).

165 165 

166Se lavorate in un grande monorepo in cui i file CLAUDE.md di altri team vengono raccolti, utilizzate [`claudeMdExcludes`](#exclude-specific-claude-md-files) per saltarli. Per il layout completo dei file CLAUDE.md e delle regole a livello di radice e per directory, consultate [Monorepo e repository di grandi dimensioni](/docs/it/large-codebases).166Se lavori in un grande monorepo in cui vengono raccolti i file CLAUDE.md di altri team, utilizza [`claudeMdExcludes`](#exclude-specific-claude-md-files) per saltarli. Per il layout completo dei file CLAUDE.md e delle regole a livello di radice e per directory, consulta [Monorepo e repository di grandi dimensioni](/docs/it/large-codebases).

167 167 

168I commenti HTML a livello di blocco (`<!-- maintainer notes -->`) nei file CLAUDE.md vengono rimossi prima che il contenuto venga iniettato nel contesto di Claude. Utilizzateli per lasciare note per i manutentori umani senza spendere token di contesto su di essi. I commenti all'interno dei blocchi di codice vengono preservati. Quando aprite un file CLAUDE.md direttamente con lo strumento Read, i commenti rimangono visibili.168I commenti HTML a livello di blocco (`<!-- maintainer notes -->`) nei file CLAUDE.md vengono rimossi prima che il contenuto venga iniettato nel contesto di Claude. Utilizzali per lasciare note per i manutentori umani senza spendere token di contesto. I commenti all'interno dei blocchi di codice vengono preservati. Quando apri un file CLAUDE.md direttamente con lo strumento Read, i commenti rimangono visibili.

169 169 

170<h4 id="load-from-additional-directories">170<h4 id="load-from-additional-directories">

171 Caricamento da directory aggiuntive171 Caricamento da directory aggiuntive

172</h4>172</h4>

173 173 

174Il flag `--add-dir` dà a Claude accesso a directory aggiuntive al di fuori della vostra directory di lavoro principale. Per impostazione predefinita, i file CLAUDE.md da queste directory non vengono caricati.174Il flag `--add-dir` dà a Claude accesso a directory aggiuntive al di fuori della tua directory di lavoro principale. Per impostazione predefinita, i file CLAUDE.md di queste directory non vengono caricati.

175 175 

176Per caricare anche i file di memoria da directory aggiuntive, impostate la variabile di ambiente `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:176Per caricare anche i file di memoria dalle directory aggiuntive, imposta la variabile d'ambiente `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:

177 177 

178```bash theme={null}178```bash theme={null}

179CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config179CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

180```180```

181 181 

182La forma inline imposta la variabile per quel singolo lancio in Bash o Zsh. Per mantenerla attiva per ogni sessione, aggiungetela al blocco `env` in `~/.claude/settings.json` come mostrato in [Impostare le variabili di ambiente](/docs/it/env-vars#set-environment-variables).182La forma inline imposta la variabile per quel singolo avvio in Bash o Zsh. Per mantenerla attiva per ogni sessione, aggiungila al blocco `env` in `~/.claude/settings.json` come mostrato in [Impostare le variabili d'ambiente](/docs/it/env-vars#set-environment-variables).

183 183 

184Questo carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md` dalla directory aggiuntiva. `CLAUDE.local.md` viene saltato se escludete `local` da [`--setting-sources`](/docs/it/cli-reference).184Questo carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md` dalla directory aggiuntiva. `CLAUDE.local.md` viene saltato se escludi `local` da [`--setting-sources`](/docs/it/cli-reference).

185 185 

186<h3 id="organize-rules-with-claude/rules/">186<h3 id="organize-rules-with-claude/rules/">

187 Organizzate le regole con `.claude/rules/`187 Organizza le regole con `.claude/rules/`

188</h3>188</h3>

189 189 

190Per i progetti più grandi, potete organizzare le istruzioni in più file utilizzando la directory `.claude/rules/`. Questo mantiene le istruzioni modulari e più facili da mantenere per i team. Le regole possono anche essere [limitate a percorsi di file specifici](#path-specific-rules), quindi si caricano in contesto solo quando Claude lavora con file corrispondenti, riducendo il rumore e risparmiando spazio di contesto.190Per i progetti più grandi, puoi organizzare le istruzioni in più file utilizzando la directory `.claude/rules/`. Questo mantiene le istruzioni modulari e più facili da mantenere per i team. Le regole possono anche essere [limitate a percorsi di file specifici](#path-specific-rules), quindi si caricano in contesto solo quando Claude lavora con file corrispondenti, riducendo il rumore e risparmiando spazio di contesto.

191 191 

192<Note>192<Note>

193 Le regole si caricano in contesto ogni sessione o quando vengono aperti i file corrispondenti. Per le istruzioni specifiche dell'attività che non devono essere in contesto tutto il tempo, utilizzate [skills](/docs/it/skills) invece, che si caricano solo quando le richiamate o quando Claude determina che sono rilevanti per il vostro prompt.193 Le regole si caricano in contesto in ogni sessione o quando vengono aperti i file corrispondenti. Per le istruzioni specifiche di un'attività che non devono essere sempre in contesto, utilizza invece le [skill](/docs/it/skills), che si caricano solo quando le richiami o quando Claude determina che sono rilevanti per il tuo prompt.

194</Note>194</Note>

195 195 

196<h4 id="set-up-rules">196<h4 id="set-up-rules">

197 Configurate le regole197 Configura le regole

198</h4>198</h4>

199 199 

200Posizionate i file markdown nella directory `.claude/rules/` del vostro progetto. Ogni file dovrebbe coprire un argomento, con un nome di file descrittivo come `testing.md` o `api-design.md`. Tutti i file `.md` vengono scoperti ricorsivamente, quindi potete organizzare le regole in sottodirectory come `frontend/` o `backend/`:200Posiziona i file markdown nella directory `.claude/rules/` del tuo progetto. Ogni file dovrebbe coprire un argomento, con un nome di file descrittivo come `testing.md` o `api-design.md`. Tutti i file `.md` vengono scoperti ricorsivamente, quindi puoi organizzare le regole in sottodirectory come `frontend/` o `backend/`:

201 201 

202```text theme={null}202```text theme={null}

203your-project/203your-project/


211 211 

212Le regole senza [frontmatter `paths`](#path-specific-rules) vengono caricate all'avvio con la stessa priorità di `.claude/CLAUDE.md`.212Le regole senza [frontmatter `paths`](#path-specific-rules) vengono caricate all'avvio con la stessa priorità di `.claude/CLAUDE.md`.

213 213 

214Le regole di progetto vengono saltate se escludete `project` da [`--setting-sources`](/docs/it/cli-reference). Prima della v2.1.211, le regole che si caricano su richiesta, incluse le regole con ambito di percorso e le regole nelle directory `.claude/rules/` annidate, si caricavano anche quando `project` era escluso.214Le regole di progetto vengono saltate se escludi `project` da [`--setting-sources`](/docs/it/cli-reference). Prima della v2.1.211, le regole che si caricano su richiesta, incluse le regole con ambito di percorso e le regole nelle directory `.claude/rules/` annidate, si caricavano anche quando `project` era escluso.

215 215 

216<h4 id="path-specific-rules">216<h4 id="path-specific-rules">

217 Regole specifiche del percorso217 Regole specifiche del percorso


228# Regole di sviluppo API228# Regole di sviluppo API

229 229 

230- Tutti gli endpoint API devono includere la convalida dell'input230- Tutti gli endpoint API devono includere la convalida dell'input

231- Utilizzate il formato di risposta di errore standard231- Usa il formato di risposta di errore standard

232- Includete commenti di documentazione OpenAPI232- Includi commenti di documentazione OpenAPI

233```233```

234 234 

235Le regole senza un campo `paths` vengono caricate incondizionatamente e si applicano a tutti i file. Le regole con ambito di percorso si attivano quando Claude legge file che corrispondono al modello, non ad ogni utilizzo dello strumento. A partire dalla v2.1.198, la corrispondenza funziona anche quando Claude raggiunge un file attraverso un percorso symlinked alla directory del progetto, ad esempio in un checkout symlinked.235Le regole senza un campo `paths` vengono caricate incondizionatamente e si applicano a tutti i file. Le regole con ambito di percorso si attivano quando Claude legge file che corrispondono al modello, non a ogni utilizzo di uno strumento. La corrispondenza funziona anche quando Claude raggiunge un file attraverso un percorso che è un collegamento simbolico alla directory del progetto, ad esempio in un checkout collegato tramite collegamento simbolico.

236 236 

237Utilizzate i modelli glob nel campo `paths` per far corrispondere i file per estensione, directory o qualsiasi combinazione:237Utilizza i modelli glob nel campo `paths` per far corrispondere i file per estensione, directory o qualsiasi combinazione:

238 238 

239| Modello | Corrisponde a |239| Modello | Corrisponde a |

240| - | - |240| - | - |


243| `*.md` | File Markdown nella radice del progetto |243| `*.md` | File Markdown nella radice del progetto |

244| `src/components/*.tsx` | Componenti React in una directory specifica |244| `src/components/*.tsx` | Componenti React in una directory specifica |

245 245 

246Potete specificare più modelli e utilizzare l'espansione tra parentesi graffe per far corrispondere più estensioni in un modello:246Puoi specificare più modelli e utilizzare l'espansione tra parentesi graffe per far corrispondere più estensioni in un unico modello:

247 247 

248```markdown theme={null}248```markdown theme={null}

249---249---


254---254---

255```255```

256 256 

257Ogni gruppo tra parentesi graffe moltiplica il numero di modelli espansi: `src/*.{ts,tsx}` si espande a due modelli, e `{a,b}/{c,d}/*.{ts,tsx}` a otto. Per mantenere l'espansione limitata, l'intero elenco `paths` di una regola condivide un budget di 1.000 modelli espansi e 4 MiB, e i modelli senza parentesi graffe non contano contro di esso.257Ogni gruppo tra parentesi graffe moltiplica il numero di modelli espansi: `src/*.{ts,tsx}` si espande in due modelli, e `{a,b}/{c,d}/*.{ts,tsx}` in otto. Per mantenere l'espansione limitata, l'intero elenco `paths` di una regola condivide un unico budget di 1.000 modelli espansi e 4 MiB, e i modelli senza parentesi graffe non vengono conteggiati.

258 258 

259Claude Code utilizza qualsiasi modello che supererebbe il budget non espanso, e le sue parentesi graffe letterali non corrispondono a nessun file. Prima della v2.1.217, un valore `paths` con molti gruppi tra parentesi graffe bloccava o causava l'arresto anomalo della CLI all'avvio.259Claude Code utilizza non espanso qualsiasi modello che supererebbe il budget, e le sue parentesi graffe letterali non corrispondono a nessun file. Prima della v2.1.217, un valore `paths` con molti gruppi tra parentesi graffe bloccava o causava l'arresto anomalo della CLI all'avvio.

260 260 

261La sintassi Glob tratta `[` come l'inizio di un'espressione tra parentesi quadre come `[abc]`. Un modello con un `[` che non può essere letto come un'espressione tra parentesi quadre, come `photos [2024/**`, non è valido: non corrisponde a nulla, e gli altri modelli della regola continuano a funzionare. Per far corrispondere un `[` letterale in un nome di file, sfuggitelo come `photos \[2024/**`. Prima della v2.1.207, un modello non valido causava il fallimento dello strumento Read per ogni file su cui la regola veniva valutata, invece di non corrispondere a nulla.261La sintassi glob tratta `[` come l'inizio di un'espressione tra parentesi quadre come `[abc]`. Un modello con un `[` che non può essere letto come un'espressione tra parentesi quadre, come `photos [2024/**`, non è valido: non corrisponde a nulla, e gli altri modelli della regola continuano a funzionare. Per far corrispondere un `[` letterale in un nome di file, applica l'escape come in `photos \[2024/**`. Prima della v2.1.207, un modello non valido causava il fallimento dello strumento Read per ogni file su cui la regola veniva valutata, invece di non corrispondere a nulla.

262 262 

263<h4 id="rules-frontmatter-reference">263<h4 id="rules-frontmatter-reference">

264 Riferimento frontmatter delle regole264 Riferimento frontmatter delle regole

265</h4>265</h4>

266 266 

267Configurate una regola con il [frontmatter](/docs/it/glossary#frontmatter) YAML tra i marcatori `---` all'inizio del file. `paths` è l'unico campo che Claude Code legge da una regola; qualsiasi altro campo viene ignorato senza errore. Claude Code rimuove il frontmatter prima di caricare la regola in contesto.267Configura una regola con il [frontmatter](/docs/it/glossary#frontmatter) YAML tra i marcatori `---` all'inizio del file. `paths` è l'unico campo che Claude Code legge da una regola; qualsiasi altro campo viene ignorato senza errore. Claude Code rimuove il frontmatter prima di caricare la regola in contesto.

268 268 

269| Campo | Obbligatorio | Descrizione |269| Campo | Obbligatorio | Descrizione |

270| :- | :- | :- |270| :- | :- | :- |

271| `paths` | No | Modelli glob che [limitano la regola ai file corrispondenti](#path-specific-rules). Accetta un elenco YAML o una stringa separata da virgole |271| `paths` | No | Modelli glob che [limitano la regola ai file corrispondenti](#path-specific-rules). Accetta un elenco YAML o una stringa separata da virgole |

272 272 

273Se lo YAML tra i marcatori non viene analizzato, Claude Code ignora il frontmatter e carica la regola come se non avesse `paths`. Eseguite `claude --debug` per vedere l'errore di analisi.273Se lo YAML tra i marcatori non può essere analizzato, Claude Code ignora il frontmatter e carica la regola come se non avesse `paths`. Esegui `claude --debug` per vedere l'errore di analisi.

274 274 

275<h4 id="share-rules-across-projects-with-symlinks">275<h4 id="share-rules-across-projects-with-symlinks">

276 Condividete le regole tra i progetti con symlink276 Condividi le regole tra i progetti con collegamenti simbolici

277</h4>277</h4>

278 278 

279La directory `.claude/rules/` supporta symlink, quindi potete mantenere un set di regole condivise e collegarle in più progetti. I symlink circolari vengono rilevati e gestiti correttamente.279La directory `.claude/rules/` supporta i collegamenti simbolici, quindi puoi mantenere un set di regole condivise e collegarle in più progetti. I collegamenti simbolici circolari vengono rilevati e gestiti correttamente.

280 280 

281Claude Code tratta un symlink il cui target è al di fuori della vostra directory di lavoro come un'[importazione esterna](#import-additional-files). Le regole collegate non si caricano finché non approvate le importazioni esterne per il progetto, e dopo di che solo quelle senza un [campo `paths`](#path-specific-rules) si caricano. Claude Code chiede quell'approvazione solo quando un file di memoria di progetto importa un file al di fuori della directory di lavoro con `@path`, non per i symlink da soli. Per caricare le regole condivise senza quell'approvazione, mantenetele in [`~/.claude/rules/`](#user-level-rules), dove si applicano a ogni progetto sulla vostra macchina.281Claude Code tratta un collegamento simbolico la cui destinazione è al di fuori della tua directory di lavoro come un'[importazione esterna](#import-additional-files). Le regole collegate non si caricano finché non approvi le importazioni esterne per il progetto, e dopo di che si caricano solo quelle senza un [campo `paths`](#path-specific-rules). Claude Code chiede quell'approvazione solo quando un file di memoria di progetto importa un file al di fuori della directory di lavoro con `@path`, non per i soli collegamenti simbolici. Per caricare le regole condivise senza quell'approvazione, mantienile in [`~/.claude/rules/`](#user-level-rules), dove si applicano a ogni progetto sulla tua macchina.

282 282 

283Questo esempio collega sia una directory condivisa che un file individuale:283Questo esempio collega sia una directory condivisa che un singolo file:

284 284 

285```bash theme={null}285```bash theme={null}

286ln -s ~/shared-claude-rules .claude/rules/shared286ln -s ~/shared-claude-rules .claude/rules/shared

287ln -s ~/company-standards/security.md .claude/rules/security.md287ln -s ~/company-standards/security.md .claude/rules/security.md

288```288```

289 289 

290Se puntate un symlink `.claude/rules/` o `CLAUDE.md` a un percorso di rete come la condivisione UNC `\\server\share` o un percorso sotto `/net` o `/Network`, le istruzioni collegate non si caricano. Claude Code non segue il link, perché cercare un tale percorso può contattare l'host che nomina. I percorsi `\\wsl$` non contano come percorsi di rete.290Se punti un collegamento simbolico `.claude/rules/` o `CLAUDE.md` a un percorso di rete come la condivisione UNC `\\server\share` o un percorso sotto `/net` o `/Network`, le istruzioni collegate non si caricano. Claude Code non segue il link, perché la risoluzione di un tale percorso può contattare l'host che nomina. I percorsi `\\wsl$` non contano come percorsi di rete.

291 291 

292<h4 id="user-level-rules">292<h4 id="user-level-rules">

293 Regole a livello di utente293 Regole a livello di utente

294</h4>294</h4>

295 295 

296Le regole personali in `~/.claude/rules/` si applicano a ogni progetto sulla vostra macchina. Utilizzatele per le preferenze che non sono specifiche del progetto:296Le regole personali in `~/.claude/rules/` si applicano a ogni progetto sulla tua macchina. Utilizzale per le preferenze che non sono specifiche di un progetto:

297 297 

298```text theme={null}298```text theme={null}

299~/.claude/rules/299~/.claude/rules/

300├── preferences.md # Le vostre preferenze di codifica personali300├── preferences.md # Le tue preferenze di codifica personali

301└── workflows.md # I vostri flussi di lavoro preferiti301└── workflows.md # I tuoi workflow preferiti

302```302```

303 303 

304Claude Code carica le regole a livello di utente prima delle regole di progetto, quindi una regola di progetto appare più tardi nel contesto di Claude rispetto a una regola utente. Nessuno dei due set sostituisce l'altro: se una regola utente e una regola di progetto si contraddicono, Claude potrebbe seguire l'una o l'altra, quindi mantenete i due coerenti.304Claude Code carica le regole a livello di utente prima delle regole di progetto, quindi una regola di progetto appare più avanti nel contesto di Claude rispetto a una regola utente. Nessuno dei due set sovrascrive l'altro: se una regola utente e una regola di progetto sono in conflitto, Claude potrebbe seguire l'una o l'altra, quindi mantieni i due coerenti.

305 305 

306<h3 id="manage-claude-md-for-large-teams">306<h3 id="manage-claude-md-for-large-teams">

307 Gestite CLAUDE.md per i team di grandi dimensioni307 Gestisci CLAUDE.md per i team di grandi dimensioni

308</h3>308</h3>

309 309 

310Per le organizzazioni che distribuiscono Claude Code tra i team, potete centralizzare le istruzioni e controllare quali file CLAUDE.md vengono caricati.310Per le organizzazioni che distribuiscono Claude Code tra i team, puoi centralizzare le istruzioni e controllare quali file CLAUDE.md vengono caricati.

311 311 

312<h4 id="deploy-organization-wide-claude-md">312<h4 id="deploy-organization-wide-claude-md">

313 Distribuite CLAUDE.md a livello organizzativo313 Distribuisci un CLAUDE.md a livello organizzativo

314</h4>314</h4>

315 315 

316Le organizzazioni possono distribuire un CLAUDE.md gestito centralmente che si applica a tutti gli utenti su una macchina. Questo file non può essere escluso dalle impostazioni individuali.316Le organizzazioni possono distribuire un CLAUDE.md gestito centralmente che si applica a tutti gli utenti su una macchina. Questo file non può essere escluso dalle impostazioni individuali.

317 317 

318<Steps>318<Steps>

319 <Step title="Create il file nel percorso della politica gestita">319 <Step title="Crea il file nel percorso della politica gestita">

320 * macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`320 * macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`

321 * Linux e WSL: `/etc/claude-code/CLAUDE.md`321 * Linux e WSL: `/etc/claude-code/CLAUDE.md`

322 * Windows: `C:\Program Files\ClaudeCode\CLAUDE.md`322 * Windows: `C:\Program Files\ClaudeCode\CLAUDE.md`

323 </Step>323 </Step>

324 324 

325 <Step title="Distribuite con il vostro sistema di gestione della configurazione">325 <Step title="Distribuisci con il tuo sistema di gestione della configurazione">

326 Utilizzate MDM, Group Policy, Ansible o strumenti simili per distribuire il file tra le macchine degli sviluppatori. Consultate [impostazioni gestite](/docs/it/managed-settings) per altre opzioni di configurazione a livello organizzativo.326 Utilizza MDM, Group Policy, Ansible o strumenti simili per distribuire il file sulle macchine degli sviluppatori. Consulta [impostazioni gestite](/docs/it/managed-settings) per altre opzioni di configurazione a livello organizzativo.

327 </Step>327 </Step>

328</Steps>328</Steps>

329 329 

330La chiave `claudeMd` vi permette di inserire il contenuto CLAUDE.md gestito direttamente all'interno di `managed-settings.json` invece di distribuire un file separato.330La chiave `claudeMd` ti permette di inserire il contenuto CLAUDE.md gestito direttamente all'interno di `managed-settings.json` invece di distribuire un file separato.

331 331 

332**Ambito**: ogni sessione di Claude Code sulla macchina, in ogni repository. Per la guida specifica del repository, eseguite il commit di un CLAUDE.md di progetto invece.332**Ambito**: ogni sessione di Claude Code sulla macchina, in ogni repository. Per indicazioni specifiche di un repository, fai invece il commit di un CLAUDE.md di progetto.

333 333 

334**Precedenza**: uguale a un file CLAUDE.md gestito. Si carica prima di CLAUDE.md utente e progetto.334**Precedenza**: la stessa di un file CLAUDE.md gestito. Si carica prima dei CLAUDE.md utente e di progetto.

335 335 

336**Dove viene rispettato**: solo impostazioni gestite e di politica. L'impostazione di `claudeMd` nelle impostazioni utente, progetto o locali non ha effetto.336**Dove viene rispettato**: solo nelle impostazioni gestite e di politica. Impostare `claudeMd` nelle impostazioni utente, di progetto o locali non ha effetto.

337 337 

338L'esempio seguente aggiunge istruzioni comportamentali direttamente in un file di impostazioni gestite:338L'esempio seguente aggiunge istruzioni comportamentali direttamente in un file di impostazioni gestite:

339 339 

340```json theme={null}340```json theme={null}

341{341{

342 "claudeMd": "Eseguite sempre `make lint` prima di eseguire il commit.\nNon eseguite mai il push direttamente su main."342 "claudeMd": "Esegui sempre `make lint` prima di fare il commit.\nNon fare mai il push direttamente su main."

343}343}

344```344```

345 345 

346Un CLAUDE.md gestito e [impostazioni gestite](/docs/it/managed-settings) servono a scopi diversi. Utilizzate le impostazioni per l'applicazione tecnica e CLAUDE.md per la guida comportamentale:346Un CLAUDE.md gestito e le [impostazioni gestite](/docs/it/managed-settings) servono a scopi diversi. Utilizza le impostazioni per l'applicazione tecnica e CLAUDE.md per la guida comportamentale:

347 347 

348| Preoccupazione | Configurate in |348| Esigenza | Dove configurarla |

349| :- | :- |349| :- | :- |

350| Bloccate strumenti, comandi o percorsi di file specifici | Impostazioni gestite: `permissions.deny` |350| Bloccare strumenti, comandi o percorsi di file specifici | Impostazioni gestite: `permissions.deny` |

351| Applicate l'isolamento sandbox | Impostazioni gestite: `sandbox.enabled` |351| Imporre l'isolamento sandbox | Impostazioni gestite: `sandbox.enabled` |

352| Variabili di ambiente e routing del provider API | Impostazioni gestite: `env` |352| Variabili d'ambiente e routing del provider API | Impostazioni gestite: `env` |

353| Metodo di accesso e restrizioni organizzative | Impostazioni gestite: `forceLoginMethod`, `forceLoginOrgUUID` |353| Metodo di accesso e restrizioni organizzative | Impostazioni gestite: `forceLoginMethod`, `forceLoginOrgUUID` |

354| Linee guida di stile del codice e qualità | CLAUDE.md gestito |354| Linee guida di stile e qualità del codice | CLAUDE.md gestito |

355| Promemoria sulla gestione dei dati e conformità | CLAUDE.md gestito |355| Promemoria sulla gestione dei dati e sulla conformità | CLAUDE.md gestito |

356| Istruzioni comportamentali per Claude | CLAUDE.md gestito |356| Istruzioni comportamentali per Claude | CLAUDE.md gestito |

357 357 

358Le regole delle impostazioni vengono applicate dal client indipendentemente da ciò che Claude decide di fare. Le istruzioni CLAUDE.md modellano il comportamento di Claude ma non sono un livello di applicazione rigido.358Le regole delle impostazioni vengono applicate dal client indipendentemente da ciò che Claude decide di fare. Le istruzioni CLAUDE.md modellano il comportamento di Claude ma non sono un livello di applicazione rigido.

359 359 

360<h4 id="exclude-specific-claude-md-files">360<h4 id="exclude-specific-claude-md-files">

361 Escludete file CLAUDE.md specifici361 Escludi file CLAUDE.md specifici

362</h4>362</h4>

363 363 

364Nei grandi monorepo, i file CLAUDE.md antenati possono contenere istruzioni che non sono rilevanti per il vostro lavoro. L'impostazione `claudeMdExcludes` vi permette di saltare file specifici per percorso o modello glob.364Nei grandi monorepo, i file CLAUDE.md delle directory superiori possono contenere istruzioni che non sono rilevanti per il tuo lavoro. L'impostazione `claudeMdExcludes` ti permette di saltare file specifici per percorso o modello glob.

365 365 

366Questo esempio esclude un CLAUDE.md di livello superiore e una directory di regole da una cartella padre. Aggiungitelo a `.claude/settings.local.json` in modo che l'esclusione rimanga locale alla vostra macchina:366Questo esempio esclude un CLAUDE.md di livello superiore e una directory di regole da una cartella padre. Aggiungilo a `.claude/settings.local.json` in modo che l'esclusione rimanga locale alla tua macchina:

367 367 

368```json theme={null}368```json theme={null}

369{369{


374}374}

375```375```

376 376 

377I modelli vengono confrontati con i percorsi di file assoluti utilizzando la sintassi glob. Potete configurare `claudeMdExcludes` a qualsiasi [livello di impostazioni](/docs/it/settings#where-settings-live): utente, progetto, locale o politica gestita. Gli array si uniscono tra i livelli.377I modelli vengono confrontati con i percorsi di file assoluti utilizzando la sintassi glob. Puoi configurare `claudeMdExcludes` a qualsiasi [livello di impostazioni](/docs/it/settings#where-settings-live): utente, progetto, locale o politica gestita. Degli array viene eseguito il merge tra i livelli.

378 378 

379Per escludere un file di regole che raggiungete attraverso un [symlink](#share-rules-across-projects-with-symlinks), sia che il file o la sua directory sia il link, scrivete il modello rispetto a uno dei due percorsi: il percorso del file sotto `.claude/rules/` o il suo target di link. Un modello che corrisponde a uno dei due percorsi esclude il file. Prima della v2.1.239, solo un modello che corrispondeva al target del link escludeva il file.379Per escludere un file di regole che raggiungi attraverso un [collegamento simbolico](#share-rules-across-projects-with-symlinks), che il link sia il file stesso o la sua directory, scrivi il modello rispetto a uno dei due percorsi: il percorso del file sotto `.claude/rules/` o la destinazione del link. Un modello che corrisponde a uno dei due percorsi esclude il file. Prima della v2.1.239, solo un modello che corrispondeva alla destinazione del link escludeva il file.

380 380 

381I file CLAUDE.md della politica gestita non possono essere esclusi. Questo garantisce che le istruzioni a livello organizzativo si applichino sempre indipendentemente dalle impostazioni individuali.381I file CLAUDE.md della politica gestita non possono essere esclusi. Questo garantisce che le istruzioni a livello organizzativo si applichino sempre indipendentemente dalle impostazioni individuali.

382 382 


538 Abilita o disabilita la memoria automatica538 Abilita o disabilita la memoria automatica

539</h3>539</h3>

540 540 

541La memoria automatica è attivata per impostazione predefinita. Per attivarla/disattivarla, apri `/memory` in una sessione e usa l'interruttore di memoria automatica, che salva `autoMemoryEnabled` nelle impostazioni utente in `~/.claude/settings.json`. Per disattivarla per un singolo progetto, imposta `autoMemoryEnabled` nelle impostazioni di quel progetto:541La memoria automatica è attivata per impostazione predefinita nelle sessioni locali. Al di fuori delle sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview), una sessione in un [ambiente self-hosted](/docs/it/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) viene eseguita con la memoria automatica disattivata per impostazione predefinita.

542 

543Per attivarla/disattivarla, apri `/memory` in una sessione e usa l'interruttore di memoria automatica, che salva `autoMemoryEnabled` nelle impostazioni utente in `~/.claude/settings.json`. Per disattivarla per un singolo progetto, imposta `autoMemoryEnabled` nelle impostazioni di quel progetto:

542 544 

543```json theme={null}545```json theme={null}

544{546{

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# I marketplace di Anthropic

6 

7> I marketplace di plugin ufficiale, della community e demo di Anthropic per Claude Code: i loro nomi, i repository, come aggiungere ciascuno e dove sfogliare i loro plugin.

8 

9Anthropic pubblica tre marketplace di plugin di uso generale per Claude Code: [ufficiale](https://github.com/anthropics/claude-plugins-official), [community](https://github.com/anthropics/claude-plugins-community) e [demo](https://github.com/anthropics/claude-code). Ognuno è un catalogo di plugin nel proprio repository GitHub. Quando installi un plugin da uno di essi in una sessione di Claude Code, digiti il nome del marketplace dopo `@`, come in `/plugin install commit-commands@claude-plugins-official`.

10 

11Usa questa pagina per distinguere i tre marketplace e per scoprire dove verificare se quello ufficiale contiene un determinato plugin.

12 

13<Note>

14 Questi casi sono trattati in altre pagine:

15 

16 * **Come installare un plugin**: consulta [Installare i plugin](/docs/it/plugins/install)

17 * **Un'installazione non riuscita**: consulta [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting)

18</Note>

19 

20Vai alla parte della pagina che ti serve:

21 

22* Per distinguere i tre marketplace in base a repository, nome del marketplace e modo in cui ottenerli, consulta [I marketplace di Anthropic](#anthropic’s-marketplaces).

23* Per trovare un plugin nel marketplace ufficiale, consulta [Trovare plugin nel marketplace ufficiale](#find-plugins-in-the-official-marketplace).

24 

25<h2 id="anthropic’s-marketplaces">

26 I marketplace di Anthropic

27</h2>

28 

29Un marketplace è un catalogo di plugin che un repository definisce nel proprio file `.claude-plugin/marketplace.json`. I marketplace ufficiale, community e demo provengono ciascuno dal proprio repository GitHub. Anthropic pubblica anche marketplace dedicati a temi specifici, come `anthropics/skills` e `anthropics/knowledge-work-plugins`, che puoi aggiungere in una sessione di Claude Code con `/plugin marketplace add <owner>/<repo>`.

30 

31Questa tabella riporta per ogni marketplace il repository e il nome del marketplace, ovvero ciò che digiti dopo `@` quando installi un plugin da quel marketplace. Il nome del marketplace community è `claude-community`, non il nome del suo repository.

32 

33| | Ufficiale | Community | Demo |

34| :- | :- | :- | :- |

35| Repository | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |

36| Nome del marketplace | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |

37| Cosa contiene | Plugin gestiti da Anthropic, oltre a plugin di partner e altri autori | Plugin di terze parti che i loro autori hanno inviato ad Anthropic | Un piccolo insieme di plugin di esempio che mostrano cosa può contenere un plugin |

38| Come ottenerlo | Claude Code lo aggiunge la prima volta che avvii una sessione interattiva nel terminale, a meno che una [policy gestita](/docs/it/plugins/org#allow-the-official-marketplace-and-your-own) o `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` non lo blocchi. Consulta [Marketplace `claude-plugins-official` non trovato](/docs/it/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) se manca | Lo aggiungi in una sessione di Claude Code con `/plugin marketplace add anthropics/claude-plugins-community` | Lo aggiungi in una sessione di Claude Code con `/plugin marketplace add anthropics/claude-code` |

39 

40Se hai scritto un plugin e vuoi che altre persone lo installino, consulta [Pubblicare un plugin](/docs/it/plugins/publish), che tratta il tuo marketplace personale e l'invio alla directory di Anthropic.

41 

42<h3 id="the-demo-marketplace-in-anthropics/claude-code">

43 Il marketplace demo in `anthropics/claude-code`

44</h3>

45 

46Se un tutorial o un insieme di istruzioni meno recente ti dice di eseguire `/plugin marketplace add anthropics/claude-code`, questo aggiunge il marketplace demo, denominato `claude-code-plugins`. Non è il marketplace ufficiale.

47 

48La maggior parte dei plugin del marketplace demo si trova anche nel marketplace ufficiale con gli stessi nomi. Ad esempio, `code-review`, `feature-dev`, `commit-commands` e `security-guidance` sono presenti in entrambi. Installali da `claude-plugins-official` così da non avere due copie installate.

49 

50<h2 id="find-plugins-in-the-official-marketplace">

51 Trovare plugin nel marketplace ufficiale

52</h2>

53 

54Per impostazione predefinita, Claude Code aggiunge per te il marketplace ufficiale, `claude-plugins-official`. La maggior parte di ciò che elenca proviene da partner e altri autori anziché da Anthropic: i fornitori di strumenti pubblicano plugin che collegano Claude Code ai loro servizi, e Anthropic ne gestisce un insieme più ridotto, come `commit-commands`, `code-review`, `feature-dev` e i [plugin per language server](/docs/it/plugins/code-intelligence). Il catalogo cambia spesso, quindi questa pagina non lo elenca.

55 

56Per vedere cosa contiene, usa la scheda **Discover** di `/plugin` in una sessione di Claude Code, in cui puoi effettuare ricerche, oppure sfoglia [Claude Marketplace](https://claude.com/marketplace/plugins) sul web.

57 

58<h2 id="browse-and-install-from-anthropic’s-marketplaces">

59 Sfogliare e installare dai marketplace di Anthropic

60</h2>

61 

62Puoi cercare un plugin nei marketplace di Anthropic in Claude Code, sul web o su GitHub:

63 

64* **In Claude Code, sfogliando**: esegui `/plugin` in una sessione interattiva. La sua scheda **Discover** elenca i plugin dei tuoi marketplace.

65* **In Claude Code, per nome**: esegui `/plugin install <name>` in una sessione, che cerca il nome nei tuoi marketplace. Se il plugin si trova in uno di essi, i suoi dettagli si aprono nel pannello `/plugin` e non viene installato nulla finché non scegli un [ambito di installazione](/docs/it/plugins/install#install-a-plugin) e confermi lì. In caso contrario, vedi `Plugin "<name>" not found in any marketplace`.

66* **Sul web**: cerca nel catalogo completo su [Claude Marketplace](https://claude.com/marketplace/plugins), che mostra il numero di installazioni e contrassegna alcuni plugin come **Anthropic verified**.

67* **Su GitHub**: apri `.claude-plugin/marketplace.json` nel repository del marketplace, come [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official). Quel file è il catalogo stesso.

68 

69La directory di Anthropic è separata da questi marketplace. La directory è il catalogo su claude.ai. Un plugin che aggiungi dalla directory su claude.ai arriva in Claude Code tramite la [sincronizzazione dell'account](/docs/it/plugins/loading#synced-plugins). Per inserire il tuo plugin nell'elenco, consulta [Inviare alla directory di Anthropic](/docs/it/plugins/publish#submit-to-anthropics-directory).

70 

71Per installare dall'app desktop o da uno script, oppure per vedere cosa carica una sessione cloud, consulta [Installare i plugin](/docs/it/plugins/install).

72 

73<h3 id="add-the-community-or-demo-marketplace">

74 Aggiungere il marketplace community o demo

75</h3>

76 

77I marketplace community e demo non sono registrati finché non li aggiungi in una sessione di Claude Code:

78 

79* **Community**: esegui `/plugin marketplace add anthropics/claude-plugins-community`, poi installa con il suffisso `@claude-community`.

80* **Demo**: esegui `/plugin marketplace add anthropics/claude-code`, poi installa con il suffisso `@claude-code-plugins`.

81 

82Se `claude-plugins-official` non compare nella scheda **Marketplaces** di `/plugin`, aggiungilo allo stesso modo con `/plugin marketplace add anthropics/claude-plugins-official`.

83 

84Per gli errori `not found` e i marketplace che non si riescono ad aggiungere, consulta [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#install-a-plugin).

85 

86<h2 id="third-party-marketplaces">

87 Marketplace di terze parti

88</h2>

89 

90Molti plugin popolari non si trovano in nessun marketplace di Anthropic. Si trovano nei marketplace dei loro autori, di solito un repository GitHub con un file `.claude-plugin/marketplace.json` nella radice.

91 

92Anthropic non verifica i marketplace di terze parti, quindi leggi [Sicurezza e attendibilità dei plugin](/docs/it/plugins/security) prima di aggiungerne uno.

93 

94Per usare un marketplace di terze parti, aggiungi il suo repository in una sessione di Claude Code con `/plugin marketplace add <owner>/<repo>`, poi installa con `/plugin install <plugin>@<marketplace-name>`. Il nome del marketplace è il campo `name` di quel `marketplace.json`, e Claude Code lo mostra dopo aver aggiunto il marketplace.

95 

96Per altri modi di aggiungere un marketplace, consulta [Aggiungere un marketplace](/docs/it/plugins/install#add-a-marketplace).

97 

98<h2 id="next-steps">

99 Passaggi successivi

100</h2>

101 

102* [Installare e gestire i plugin](/docs/it/plugins/install): installa un plugin da uno di questi marketplace e scegli un ambito

103* [Sicurezza e attendibilità dei plugin](/docs/it/plugins/security): cosa può fare un plugin sulla tua macchina e come esaminarlo prima di installarlo

104* [Plugin di code intelligence](/docs/it/plugins/code-intelligence): installa uno dei plugin per language server del marketplace ufficiale

105* [Creare un marketplace](/docs/it/plugins/create-marketplace): gestisci il tuo marketplace accanto a quelli di Anthropic

Details

40 40 

41`new` è un alias per `init`.41`new` è un alias per `init`.

42 42 

43Per il flusso di lavoro di creazione, test e modifica che inizia con questo comando, vedi [Crea un plugin](/docs/it/plugins/create).43Per il workflow di creazione, test e modifica che inizia con questo comando, vedi [Crea un plugin](/docs/it/plugins/create).

44 44 

45```bash theme={null}45```bash theme={null}

46claude plugin init <name> [options]46claude plugin init <name> [options]


125 125 

126Altri campi, come `pluginId`, `scope` e `failureCode`, appaiono solo quando si applicano.126Altri campi, come `pluginId`, `scope` e `failureCode`, appaiono solo quando si applicano.

127 127 

128L'opzione `--json` su `plugin uninstall`, `plugin update`, `plugin enable` e `plugin disable` stampa lo stesso oggetto con i campi propri di quel sottocomando.

129 

128Un errore di utilizzo, come uno `--scope` non valido, non stampa alcuna riga di risultato ed esce con `1` con il motivo su stderr.130Un errore di utilizzo, come uno `--scope` non valido, non stampa alcuna riga di risultato ed esce con `1` con il motivo su stderr.

129 131 

130<h4 id="accept-a-displayed-install-command">132<h4 id="accept-a-displayed-install-command">


168Se la riga di errore continua con `"formatter" was not uninstalled:` e nomina un file di impostazioni, Claude Code non ha potuto confermare che le impostazioni dell'ambito non attivano più il plugin, quindi il plugin rimane installato con tutto ciò che ha salvato. Con `--json`, il risultato porta `failureCode: "settings_still_on"`. Questo controllo delle impostazioni richiede Claude Code v2.1.282 o successivo.170Se la riga di errore continua con `"formatter" was not uninstalled:` e nomina un file di impostazioni, Claude Code non ha potuto confermare che le impostazioni dell'ambito non attivano più il plugin, quindi il plugin rimane installato con tutto ciò che ha salvato. Con `--json`, il risultato porta `failureCode: "settings_still_on"`. Questo controllo delle impostazioni richiede Claude Code v2.1.282 o successivo.

169 171 

170<h4 id="what-an-uninstall-deletes-and-keeps">172<h4 id="what-an-uninstall-deletes-and-keeps">

171 Cosa un'disinstallazione elimina e conserva173 Cosa una disinstallazione elimina e conserva

172</h4>174</h4>

173 175 

174Quando disinstalli un plugin dall'ultimo ambito in cui è installato, Claude Code elimina anche le [opzioni e i segreti](/docs/it/plugins/manifest-reference#user-configuration) memorizzati del plugin e la sua directory di dati, `~/.claude/plugins/data/<id>/`. Ci sono tre eccezioni:176Quando disinstalli un plugin dall'ultimo ambito in cui è installato, Claude Code elimina anche le [opzioni e i segreti](/docs/it/plugins/manifest-reference#user-configuration) memorizzati del plugin e la sua directory di dati, `~/.claude/plugins/data/<id>/`. Ci sono tre eccezioni:


368 370 

369Claude Code stampa il nome, la versione, la descrizione e la source del plugin, poi queste sezioni:371Claude Code stampa il nome, la versione, la descrizione e la source del plugin, poi queste sezioni:

370 372 

371* **`Component inventory`**: le skills, gli agents, gli hooks, i server MCP e i server LSP del plugin373* **`Component inventory`**: le skill, gli agenti, gli hook, i server MCP e i server LSP del plugin

372* **`Projected token cost`**: i token sempre attivi che il plugin aggiunge a ogni sessione374* **`Projected token cost`**: i token sempre attivi che il plugin aggiunge a ogni sessione

373* **`Per-component (rounded)`**: stime sempre attive e on-invoke per ogni skill, agent e comando. Omesso quando il plugin non ne ha375* **`Per-component (rounded)`**: stime sempre attive e on-invoke per ogni skill, agente e comando. Omesso quando il plugin non ne ha

374 376 

375Per cosa significano le due figure di costo, vedi [Misura il costo e l'utilizzo del plugin](/docs/it/plugins/measure).377Per cosa significano le due figure di costo, vedi [Misura il costo e l'utilizzo del plugin](/docs/it/plugins/measure).

376 378 


469| Opzione | Descrizione | Predefinito |471| Opzione | Descrizione | Predefinito |

470| :- | :- | :- |472| :- | :- | :- |

471| `--runs <n>` | Esecuzioni per caso in ogni [arm](/docs/it/plugin-evals#compare-against-a-no-plugin-baseline) | Il `runs` di ogni caso, altrimenti 3 |473| `--runs <n>` | Esecuzioni per caso in ogni [arm](/docs/it/plugin-evals#compare-against-a-no-plugin-baseline) | Il `runs` di ogni caso, altrimenti 3 |

472| `-j, --concurrency <n>` | Sessioni di agent da eseguire contemporaneamente, da 1 a 8. Condividono il tuo limite di velocità | `1` |474| `-j, --concurrency <n>` | Sessioni di agente da eseguire contemporaneamente, da 1 a 8. Condividono il tuo rate limit | `1` |

473| `--model <model>` | Modello per l'agent in test | Il `model` di ogni caso, altrimenti `ANTHROPIC_MODEL` se impostato, altrimenti il predefinito di Claude Code |475| `--model <model>` | Modello per l'agente in test | Il `model` di ogni caso, altrimenti `ANTHROPIC_MODEL` se impostato, altrimenti il predefinito di Claude Code |

474| `--judge-model <model>` | Modello per i grader `llm` e `baseline` | Un modello piccolo e veloce |476| `--judge-model <model>` | Modello per i grader `llm` e `baseline` | Un modello piccolo e veloce |

475| `--ablation <mode>` | `none` o `with-without`. Vedi [Confronta con una baseline senza plugin](/docs/it/plugin-evals#compare-against-a-no-plugin-baseline) | Deciso per caso, come quella sezione descrive |477| `--ablation <mode>` | `none` o `with-without`. Vedi [Confronta con una baseline senza plugin](/docs/it/plugin-evals#compare-against-a-no-plugin-baseline) | Deciso per caso, come quella sezione descrive |

476| `--threshold <0..1>` | Esci con 1 se un caso qualsiasi punteggia sotto questo | `1.0` |478| `--threshold <0..1>` | Esci con 1 se un caso qualsiasi punteggia sotto questo | `1.0` |


569* Il tag esiste già571* Il tag esiste già

570* L'albero di lavoro è sporco572* L'albero di lavoro è sporco

571 573 

574<h3 id="plugin-test">

575 plugin test

576</h3>

577 

578Esegui i test per un [mod](/docs/it/plugins/mods/overview), un plugin il cui codice registra gestori di eventi. Il comando non richiede alcuna sessione, accesso o rete. Per come scrivere un test, vedi [Testa un mod](/docs/it/plugins/mods/test).

579 

580```bash theme={null}

581claude plugin test [directory]

582```

583 

584La `[directory]` è la directory del mod, predefinita alla directory corrente. Il comando esegue ogni file al suo interno il cui nome termina con `.test.ts` o `.test.tsx`, ed esce con stato 1 quando un test fallisce.

585 

586Esegui i test per un mod in `./first-mod`:

587 

588```bash theme={null}

589claude plugin test ./first-mod

590```

591 

572<h3 id="plugin-validate">592<h3 id="plugin-validate">

573 plugin validate593 plugin validate

574</h3>594</h3>

575 595 

576Convalida un manifest plugin, un manifest marketplace, o le skills, gli agents e i comandi in una directory, ed esci con un codice su cui un lavoro CI può agire. Per il flusso di lavoro di creazione, test e modifica, vedi [Crea un plugin](/docs/it/plugins/create). Per cosa il validatore controlla in ogni manifest, vedi il [riferimento manifest plugin](/docs/it/plugins/manifest-reference) e il [riferimento marketplace](/docs/it/plugins/marketplace-reference).596Convalida un manifest plugin, un manifest marketplace, o le skill, gli agenti e i comandi in una directory, ed esci con un codice su cui un lavoro CI può agire. Per il workflow di creazione, test e modifica, vedi [Crea un plugin](/docs/it/plugins/create). Per cosa il validatore controlla in ogni manifest, vedi il [riferimento manifest plugin](/docs/it/plugins/manifest-reference) e il [riferimento marketplace](/docs/it/plugins/marketplace-reference).

577 597 

578```bash theme={null}598```bash theme={null}

579claude plugin validate <path> [options]599claude plugin validate <path> [options]


603 * Una directory denominata `.claude`: le directory `skills`, `agents` e `commands` al suo interno623 * Una directory denominata `.claude`: le directory `skills`, `agents` e `commands` al suo interno

604 * Qualsiasi altra directory: quelle tre directory sotto il suo `.claude`624 * Qualsiasi altra directory: quelle tre directory sotto il suo `.claude`

605 625 

606Claude Code non segue i symlink all'interno della directory che nomini. Cosa fa dipende da dove si trova il link:626Claude Code non segue i collegamenti simbolici all'interno della directory che nomini. Cosa fa dipende da dove si trova il collegamento:

607 627 

608* **Una directory `skills`, `agents` o `commands` collegata sotto la root del plugin o `.claude`**: Claude Code avverte che nulla in essa è stato letto.628* **Una directory `skills`, `agents` o `commands` collegata sotto la root del plugin o `.claude`**: Claude Code avverte che nulla in essa è stato letto.

609* **Un'entry collegata all'interno di una directory `skills`, `agents` o `commands`**: Claude Code la salta e avverte, per directory, quante entry ha saltato che una sessione caricherà.629* **Un'entry collegata all'interno di una directory `skills`, `agents` o `commands`**: Claude Code la salta e avverte, per directory, quante entry ha saltato che una sessione caricherebbe.

610* **La directory `skills`, `agents` o `commands` che nomini è essa stessa un symlink, o la sua directory padre `.claude` è**: Claude Code riporta un errore e non controlla nulla in essa. Nomina la directory reale invece.630* **La directory `skills`, `agents` o `commands` che nomini è essa stessa un collegamento simbolico, o lo è la sua directory padre `.claude`**: Claude Code riporta un errore e non controlla nulla in essa. Nomina la directory reale invece.

611 631 

612Alcuni file non vengono letti da un'esecuzione di convalida:632Alcuni file non vengono letti da un'esecuzione di convalida:

613 633 

614* **Un `SKILL.md` alla root del plugin**: quando esegui `claude plugin validate` su una directory plugin, Claude Code non controlla un `SKILL.md` alla root del plugin634* **Un `SKILL.md` alla root del plugin**: quando esegui `claude plugin validate` su una directory plugin, Claude Code non controlla un `SKILL.md` alla root del plugin

615* **Un `CLAUDE.md` alla root del plugin**: in un'esecuzione plugin, Claude Code avverte anche di un `CLAUDE.md` alla root del plugin635* **Un `CLAUDE.md` alla root del plugin**: in un'esecuzione plugin, Claude Code avverte anche di un `CLAUDE.md` alla root del plugin

616* **File plugin in un'esecuzione marketplace**: da una directory marketplace, Claude Code non apre i file skill, agent, command o hook dei plugin. Per trovare errori in quei file, convalida ogni directory plugin636* **File plugin in un'esecuzione marketplace**: da una directory marketplace, Claude Code non apre i file skill, agente, comando o hook dei plugin, né i file dei server MCP che includono. Per trovare errori in quei file, convalida ogni directory plugin

617 637 

618<h4 id="output-and-exit-codes">638<h4 id="output-and-exit-codes">

619 Output e codici di uscita639 Output e codici di uscita


802 822 

803Un `<plugin>` è un plugin `name` o `name@marketplace`.823Un `<plugin>` è un plugin `name` o `name@marketplace`.

804 824 

805La tabella sottostante elenca ogni forma di sessione. I sottocomandi shell `init`, `update`, `details`, `prune`, `eval` e `eval init` non hanno una forma di sessione.825La tabella sottostante elenca ogni forma di sessione. I sottocomandi shell `init`, `update`, `details`, `prune`, `eval`, `eval init` e `test` non hanno una forma di sessione.

806 826 

807| Comando | Alias | Cosa fa |827| Comando | Alias | Cosa fa |

808| :- | :- | :- |828| :- | :- | :- |

plugins/loading.md +20 −14

Details

244 Quando viene eseguita l'installazione della dipendenza244 Quando viene eseguita l'installazione della dipendenza

245</h4>245</h4>

246 246 

247Claude Code esegue l'installazione dentro la directory della versione copiata ogni volta che ne crea una:247Claude Code installa le dipendenze nella directory della versione copiata ogni volta che ne crea una:

248 248 

249* Quando installi un plugin249* Quando installi un plugin

250* Quando Claude Code aggiorna un plugin a una nuova versione250* Quando Claude Code aggiorna un plugin a una nuova versione


252 252 

253Per un plugin con percorso relativo [caricato in-place](#in-place-and-copied-plugins) da un marketplace di directory locale, Claude Code non installa le dipendenze nella directory di origine. Installale lì tu stesso, o da un hook in [`${CLAUDE_PLUGIN_DATA}`](/docs/it/plugins/components#path-variables-and-persistent-data).253Per un plugin con percorso relativo [caricato in-place](#in-place-and-copied-plugins) da un marketplace di directory locale, Claude Code non installa le dipendenze nella directory di origine. Installale lì tu stesso, o da un hook in [`${CLAUDE_PLUGIN_DATA}`](/docs/it/plugins/components#path-variables-and-persistent-data).

254 254 

255L'installazione viene eseguita solo quando la directory radice del plugin contiene sia un `package.json` che un lockfile supportato. Il lockfile decide quale comando Claude Code esegue:255L'installazione viene eseguita solo quando la directory radice del plugin contiene sia un `package.json` che un lockfile supportato.

256 256 

257| Lockfile | Comando |257Il lockfile decide quale gestore di pacchetti Claude Code esegue:

258 

259| Lockfile | Gestore di pacchetti |

258| :- | :- |260| :- | :- |

259| `bun.lock` o `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |261| `bun.lock` | Bun |

260| `npm-shrinkwrap.json` o `package-lock.json` | `npm ci --ignore-scripts` |262| `npm-shrinkwrap.json` o `package-lock.json` | npm |

261 263 

262Se un plugin contiene più di uno di questi lockfile, Claude Code usa la prima corrispondenza, controllando in ordine: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.264Se un plugin contiene più di uno di questi lockfile, Claude Code usa la prima corrispondenza, controllando in ordine: `bun.lock`, `npm-shrinkwrap.json`, `package-lock.json`.

263 265 

264Claude Code salta l'installazione per i lockfile Yarn e pnpm e per un `bunfig.toml` accanto al lockfile Bun:266Claude Code salta l'installazione in questi casi di lockfile:

265 267 

266* Se il tuo plugin ha solo un `yarn.lock` o `pnpm-lock.yaml`, sostituiscilo con un lockfile npm268* **`bun.lockb`**: il lockfile binario di Bun non può essere verificato. Distribuisci invece un `bun.lock` testuale o un lockfile npm

267* Se un `bunfig.toml` è nella stessa directory del lockfile Bun, rimuovi il `bunfig.toml`, o sostituisci il lockfile Bun con un lockfile npm269* **`yarn.lock` o `pnpm-lock.yaml`**: sostituiscilo con un lockfile npm

270* **Un lockfile in un formato che Claude Code non legge**: un lockfile npm richiede un `lockfileVersion` pari a `2` o `3`, che npm 7 o versioni successive scrivono, e un `bun.lock` richiede un `lockfileVersion` non superiore a `2`

268 271 

269Includi un lockfile npm per raggiungere la maggior parte degli utenti. Claude Code esegue il gestore di pacchetti del lockfile corrispondente dal PATH dell'utente e non prova l'altro lockfile se quel gestore di pacchetti manca.272Includi un lockfile npm per raggiungere la maggior parte degli utenti. Claude Code esegue il gestore di pacchetti del lockfile corrispondente dal PATH dell'utente e non prova l'altro lockfile se quel gestore di pacchetti manca.

270 273 


276 279 

277Claude Code vincola questa installazione della dipendenza in modo che nessun codice dal plugin o dai suoi pacchetti venga eseguito durante essa, e limita quanto tempo può durare:280Claude Code vincola questa installazione della dipendenza in modo che nessun codice dal plugin o dai suoi pacchetti venga eseguito durante essa, e limita quanto tempo può durare:

278 281 

279* **Risoluzione congelata**: Bun e npm installano esattamente quello che il lockfile fissa, e falliscono piuttosto che ri-risolvere le versioni quando `package.json` e il lockfile non concordano282* **Solo pacchetti del registry**: ogni dipendenza deve essere un pacchetto del registry fissato nel lockfile a una versione esatta. Un plugin con una dipendenza git, GitHub, di cartella, di workspace o collegata non riceve alcuna installazione.

283* **Download `https`**: un link di download nel lockfile deve usare `https`, a meno che non punti al registry npm predefinito dell'utente che esegue l'installazione.

284* **Una cartella di installazione separata**: il gestore di pacchetti viene eseguito in una propria cartella che contiene solo una copia dell'elenco delle dipendenze verificato, quindi npm e Bun non leggono i file `.npmrc`, `.env` o `bunfig.toml` del plugin. Quando l'installazione riesce, Claude Code sposta il `node_modules` risultante nel plugin.

285* **Risoluzione congelata**: l'installazione usa esattamente le versioni che il lockfile fissa, e Claude Code la salta quando `package.json` e il lockfile non elencano le stesse dipendenze

280* **Nessuno script del ciclo di vita**: `--ignore-scripts` impedisce ai script `preinstall`, `install` e `postinstall` di funzionare, quindi le dipendenze che costruiscono moduli nativi in quegli script scaricano ma non compilano durante questa installazione286* **Nessuno script del ciclo di vita**: `--ignore-scripts` impedisce ai script `preinstall`, `install` e `postinstall` di funzionare, quindi le dipendenze che costruiscono moduli nativi in quegli script scaricano ma non compilano durante questa installazione

287* **Nessun override o patch**: un plugin il cui `package.json` imposta gli `overrides` di npm non riceve alcuna installazione da un lockfile npm, e un plugin che imposta le `patchedDependencies` di Bun non riceve alcuna installazione da `bun.lock`

281* **Timeout di 60 secondi**: Claude Code interrompe un'installazione che dura più a lungo e la tratta come fallita288* **Timeout di 60 secondi**: Claude Code interrompe un'installazione che dura più a lungo e la tratta come fallita

282 289 

283Claude Code recupera un plugin con origine npm prima di questa installazione della dipendenza, e nessuno degli script di installazione del pacchetto viene eseguito durante il recupero. Vedi [origine del plugin npm](/docs/it/plugins/marketplace-reference#npm-plugin-source).290Claude Code recupera un plugin con origine npm prima di questa installazione della dipendenza, e nessuno degli script di installazione del pacchetto viene eseguito durante il recupero. Vedi [origine del plugin npm](/docs/it/plugins/marketplace-reference#npm-plugin-source).


290 Quando l'installazione della dipendenza fallisce o viene saltata297 Quando l'installazione della dipendenza fallisce o viene saltata

291</h4>298</h4>

292 299 

293Un'installazione fallita o saltata non blocca mai il plugin, e ogni caso lascia un segno diverso:300Un'installazione fallita o saltata non blocca mai il plugin, che si carica quindi senza le dipendenze. Ogni caso lascia un segno diverso:

294 301 

295* Un'installazione fallita, o una saltata a causa di un lockfile Yarn o pnpm o un `bunfig.toml`, appare come un avviso nell'output di `claude --debug`302* Un'installazione fallita, o una saltata a causa del suo lockfile o di uno dei [limiti all'installazione](#limits-on-the-dependency-install), appare nell'output di `claude --debug` come una riga `Plugin dependency install warning` che ne indica il motivo

296* Un plugin con un `package.json` e nessun lockfile viene saltato senza una voce di log303* Un plugin con un `package.json` e nessun lockfile viene saltato senza una voce di log

297* Un'installazione scaduta può lasciare un albero `node_modules` parziale nella copia in cache

298 304 

299Quando l'installazione automatica non può fornire una dipendenza, installala da un hook nella [directory dei dati persistenti](/docs/it/plugins/components#path-variables-and-persistent-data). Questo include i pacchetti che hanno bisogno dei loro script del ciclo di vita per costruire, le dipendenze Python, e i plugin bloccati con Yarn o pnpm.305Quando l'installazione automatica non può fornire una dipendenza, installala da un hook nella [directory dei dati persistenti](/docs/it/plugins/components#path-variables-and-persistent-data). Questo include i pacchetti che hanno bisogno dei loro script del ciclo di vita per la build, le dipendenze Python, i plugin bloccati con Yarn o pnpm e le dipendenze che non sono pacchetti del registry, come le dipendenze git.

300 306 

301<h2 id="versions-and-updates">307<h2 id="versions-and-updates">

302 Versioni e aggiornamenti308 Versioni e aggiornamenti

Details

155| `github` | `repo`, `ref`, `sha` | Repository GitHub in forma `owner/repo` |155| `github` | `repo`, `ref`, `sha` | Repository GitHub in forma `owner/repo` |

156| `url` | `url`, `ref`, `sha` | Qualsiasi repository git per URL |156| `url` | `url`, `ref`, `sha` | Qualsiasi repository git per URL |

157| `git-subdir` | `url`, `path`, `ref`, `sha` | Una sottodirectory di un repository git, recuperata con un clone parziale sparse |157| `git-subdir` | `url`, `path`, `ref`, `sha` | Una sottodirectory di un repository git, recuperata con un clone parziale sparse |

158| `npm` | `package`, `version`, `registry` | Pacchetto npm, recuperato con il client npm e decompresso senza eseguire script di installazione |158| `npm` | `package`, `version`, `registry` | Pacchetto del registro npm o collegamento a un tarball, recuperato con il tuo client npm e decompresso senza eseguire script di installazione |

159| `archive` | `url`, `sha256` | Archivio Zip su HTTPS. Richiede Claude Code v2.1.224 o successivo |159| `archive` | `url`, `sha256` | Archivio Zip su HTTPS. Richiede Claude Code v2.1.224 o successivo |

160| `command` | `command`, `timeout`, `mode` | Directory stampata da un comando che Claude Code esegue sulla macchina dell'utente. Richiede Claude Code v2.1.229 o successivo |160| `command` | `command`, `timeout`, `mode` | Directory stampata da un comando che Claude Code esegue sulla macchina dell'utente. Richiede Claude Code v2.1.229 o successivo |

161 161 


258 258 

259Una sorgente `npm` accetta questi campi:259Una sorgente `npm` accetta questi campi:

260 260 

261* `package`: un nome di pacchetto, o un nome con scope come `@your-org/formatter`261* `package`: il nome di un pacchetto del registro come `@your-org/formatter`, un nome con una versione aggiunta come `@your-org/formatter@2.0.0`, oppure un collegamento `https` al file tarball del pacchetto

262* `version`: una versione o un intervallo262* `version`: una versione, un intervallo semver o un dist-tag, usato quando `package` è il nome di un pacchetto senza versione aggiunta. Omettilo per recuperare `latest`

263* `registry`: un URL di registro per un pacchetto che non è nel registro predefinito263* `registry`: un URL di registro per un pacchetto che non è nel registro predefinito

264 264 

265Claude Code recupera il pacchetto con il client npm. Gli script di installazione del pacchetto, come `preinstall` o `postinstall`, non vengono mai eseguiti e le sue dipendenze non vengono installate durante il recupero. Se il pacchetto ha un lockfile supportato accanto al suo `package.json`, Claude Code installa quelle [dipendenze del pacchetto Node.js](/docs/it/plugins/loading#node-js-package-dependencies) in un passaggio separato, anche con script disabilitati.265Claude Code recupera il pacchetto con il client npm. Gli script di installazione del pacchetto, come `preinstall` o `postinstall`, non vengono mai eseguiti e le sue dipendenze non vengono installate durante il recupero. Se il pacchetto ha un lockfile supportato accanto al suo `package.json`, Claude Code installa quelle [dipendenze del pacchetto Node.js](/docs/it/plugins/loading#node-js-package-dependencies) in un passaggio separato, anche con script disabilitati.

266 266 

267Claude Code controlla il valore di `package` prima di recuperare qualsiasi cosa. Un valore rifiutato fa fallire l'installazione con un messaggio che indica il valore e il motivo. I valori rifiutati includono:

268 

269* **Un indirizzo git, una cartella o un percorso `file:`, oppure un alias `npm:`**: usa una [sorgente `github`, `url` o `git-subdir`](#plugin-sources) per un repository git, un percorso relativo per una cartella nel marketplace e il nome effettivo del pacchetto per un alias

270* **Un collegamento a un tarball su github.com, gist.github.com, gitlab.com, bitbucket.org o git.sr.ht**: viene rifiutato anche quando il collegamento è un download di una release GitHub, a meno che non si tratti di un collegamento al registro npm di GitLab sotto `gitlab.com/api/v4/`

271* **Un collegamento a un tarball su `http`**: viene rifiutato a meno che non punti al registro npm predefinito dell'utente che esegue l'installazione

272 

273L'URL di `registry` deve usare `https`, a meno che non sia il registro npm predefinito dell'utente che esegue l'installazione. Con qualsiasi altro registro `http`, l'installazione fallisce prima che npm lo contatti.

274 

267```json theme={null}275```json theme={null}

268{276{

269 "name": "formatter",277 "name": "formatter",

Details

167 167 

168Un utente il cui mod non è stato caricato trova il motivo nel suo log di debug. [Messaggi di rifiuto](/docs/it/plugins/mods/troubleshoot#refusal-messages) elenca le righe per `allowManagedHooksOnly` e `disableAllHooks`, e [Messaggi dalla guardia incorporata](/docs/it/plugins/mods/troubleshoot#messages-from-the-built-in-guard) ha la riga per `allowManagedModsOnly`.168Un utente il cui mod non è stato caricato trova il motivo nel suo log di debug. [Messaggi di rifiuto](/docs/it/plugins/mods/troubleshoot#refusal-messages) elenca le righe per `allowManagedHooksOnly` e `disableAllHooks`, e [Messaggi dalla guardia incorporata](/docs/it/plugins/mods/troubleshoot#messages-from-the-built-in-guard) ha la riga per `allowManagedModsOnly`.

169 169 

170<h3 id="allow-only-your-organization’s-mods">

171 Consentire solo i mod della tua organizzazione

172</h3>

173 

174Per eseguire i mod della tua organizzazione e bloccare quelli che portano gli utenti, distribuisci le impostazioni della riga **Solo i mod della tua organizzazione** della [tabella delle politiche](#choose-how-much-to-allow), più `disableSideloadFlags`. Con questo `managed-settings.json` completo, Claude Code rifiuta i mod propri degli utenti, quindi nessuno dei loro hook viene eseguito, e il tuo mod di politica viene eseguito prima degli altri mod:

175 

176```json managed-settings.json theme={null}

177{

178 "extraKnownMarketplaces": {

179 "acme-tools": {

180 "source": { "source": "directory", "path": "/opt/acme/claude-plugins" }

181 }

182 },

183 "enabledPlugins": { "acme-guard@acme-tools": true },

184 "prependPlugins": ["acme-guard@acme-tools", "sec-default@builtin"],

185 "pluginConfigs": {

186 "cc-plugin-sec-default@builtin": {

187 "options": { "allowManagedModsOnly": true }

188 }

189 },

190 "disableSideloadFlags": true

191}

192```

193 

194Ogni gruppo di chiavi svolge un compito:

195 

196* **`extraKnownMarketplaces`, `enabledPlugins` e `prependPlugins`**: installano il tuo mod in modo che conti come tuo, e lo eseguono per primo con la guardia dopo di esso. [Installare i mod della tua organizzazione e impostare l'ordine](#install-your-organizations-mods) descrive la directory a cui puntano queste chiavi.

197* **`pluginConfigs`**: imposta l'opzione `allowManagedModsOnly` della guardia, così Claude Code rifiuta i mod propri degli utenti. I loro hook di impostazioni, righe di stato e `/goal` continuano a funzionare.

198* **`disableSideloadFlags`**: consulta [`disableSideloadFlags`](/docs/it/settings-reference#disablesideloadflags) per i flag che rifiuta all'avvio

199 

200Per confermare la politica su una macchina di test, nella tua shell avvia una sessione con `claude --debug` e leggi il log di debug:

201 

202* **Il tuo mod**: la sua riga `hooks module` contiene `tier prepend`

203* **Un mod che l'utente ha installato**: una riga riporta `refused by cc-plugin-sec-default: mods are limited to your organization's by policy (allowManagedModsOnly)`. Una riga precedente indica che il modulo degli hook di quel mod è `loaded`, quindi cerca il rifiuto.

204* **Una directory di plugin**: `claude --plugin-dir ./any-mod` termina con un messaggio che inizia con `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

205 

206Per limitare anche quali marketplace gli utenti possono aggiungere, combina questo file con le tue [restrizioni del marketplace](/docs/it/plugins/org#restrict-what-users-can-install).

207 

208<h3 id="apply-your-plugin-controls-to-mods">

209 Applicare i controlli sui plugin ai mod

210</h3>

211 

212Un mod è un plugin, quindi i modi in cui [gestisci i plugin per la tua organizzazione](/docs/it/plugins/org) si applicano anche a un plugin che contiene un mod:

213 

214* **Vedere quali plugin vengono caricati in tutta la tua flotta**: [Verifica e revisione](/docs/it/plugins/org#audit-and-review)

215* **Decidere quando un plugin che hai revisionato può aggiornarsi**: [Impostare la politica di aggiornamento](/docs/it/plugins/org#set-update-policy)

216* **Dare a un gruppo una politica diversa, ad esempio un pilota**: [Pianificare ciò che le impostazioni gestite non possono imporre](/docs/it/plugins/org#plan-for-what-managed-settings-can’t-enforce)

217* **Verificare quali app e tipi di sessione applicano le chiavi dei plugin**: [Quando ogni superficie applica le chiavi dei plugin](/docs/it/plugins/org#when-each-surface-applies-the-plugin-keys)

218* **Configurare CI e container**: [Preparare container e CI](/docs/it/plugins/org#seed-containers-and-ci)

219* **Offrire mod che i tuoi utenti possono installare**: [Ospitare un marketplace](/docs/it/plugins/host-marketplace). Un mod che Claude Code copia da una sorgente GitHub, git, URL o npm conta come mod di un utente, non come [mod della tua organizzazione](#install-your-organizations-mods).

220 

170<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

171 Impostare le opzioni sulla guardia incorporata222 Impostare le opzioni sulla guardia incorporata

172</h3>223</h3>

Details

190 190 

191Mantenete l'attesa all'interno di una chiamata API dei mods come `$.ui.ask`, perché quel tempo non conta rispetto al [limite di tempo di 10 secondi](/docs/it/plugins/mods/reference#limits) dell'hook. Il tempo trascorso in attesa di una promessa propria conta. Claude Code salta un hook che scade, quindi il comando tenuto in sospeso verrebbe eseguito.191Mantenete l'attesa all'interno di una chiamata API dei mods come `$.ui.ask`, perché quel tempo non conta rispetto al [limite di tempo di 10 secondi](/docs/it/plugins/mods/reference#limits) dell'hook. Il tempo trascorso in attesa di una promessa propria conta. Claude Code salta un hook che scade, quindi il comando tenuto in sospeso verrebbe eseguito.

192 192 

193<h4 id="approve-or-refuse-a-tool-call-before-the-user-is-asked">

194 Approvare o rifiutare una chiamata a uno strumento prima che venga chiesto all'utente

195</h4>

196 

197Per decidere se una chiamata a uno strumento può essere eseguita, gestisci [`tool.check`](/docs/it/plugins/mods/reference#tools), l'evento in cui Claude Code prende quella decisione. Si attiva dopo che le regole di permesso e gli hook delle impostazioni hanno deciso, e `next(e)` si risolve nella loro decisione: `allow`, `ask` o `deny`. Il tuo hook restituisce quella decisione o una diversa. `e.input` contiene gli argomenti dello strumento, come `command` per Bash.

198 

199Per un comando o un percorso fisso, usa una [regola di permesso](/docs/it/permissions#permission-rule-syntax) come `Bash(npm test)`, che non richiede codice. Gestisci `tool.check` quando la decisione dipende da ciò che è vero in quel momento, come il branch Git corrente o un valore registrato da un altro hook.

200 

201Questo hook rifiuta `git push` quando il branch corrente è `main`:

202 

203```javascript theme={null}

204on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

205 // Ciò che le regole di permesso e gli hook delle impostazioni hanno deciso: 'allow', 'ask' o 'deny'

206 const decided = await next(e)

207 if (!e.input.command.includes('git push')) return decided

208 const branch = await $.process.run(['git', 'branch', '--show-current'])

209 if (branch.stdout.trim() !== 'main') return decided

210 return { decision: 'deny', reason: 'Push from a branch other than main' }

211})

212```

213 

214Su `main`, l'hook restituisce `deny`, anche quando una regola consente `git push`. Su un altro branch, e per gli altri comandi, la chiamata ottiene la decisione che otterrebbe senza il mod.

215 

216L'hook confronta il testo del comando, quindi consideralo un promemoria per Claude. Per bloccare i push su `main` per tutti, proteggi il branch sul tuo host Git.

217 

218Un hook può restituire una qualsiasi delle tre decisioni, quindi può anche approvare una chiamata che un hook `PreToolUse` esterno alle impostazioni gestite ha bloccato. [Estendere i permessi con gli hook](/docs/it/permissions#extend-permissions-with-hooks) elenca quali decisioni prevalgono su un mod.

219 

193<h3 id="rewrite-or-add-to-a-prompt">220<h3 id="rewrite-or-add-to-a-prompt">

194 Riscrivere o aggiungere a un prompt221 Riscrivere o aggiungere a un prompt

195</h3>222</h3>


301* **Hook `PreToolUse` dalle impostazioni gestite**: vengono eseguiti prima dell'hook `tool.call` del primo mod, e un blocco da uno di essi è definitivo, quindi nessun mod vede la chiamata.328* **Hook `PreToolUse` dalle impostazioni gestite**: vengono eseguiti prima dell'hook `tool.call` del primo mod, e un blocco da uno di essi è definitivo, quindi nessun mod vede la chiamata.

302* **Hook `PreToolUse` da ogni altro file di impostazioni e da `hooks/hooks.json` dei plugin**: vengono eseguiti dopo che l'ultimo mod chiama `next`, come parte del comportamento proprio di Claude Code. Un mod che risponde a `tool.call` senza chiamare `next` li impedisce di eseguire e un mod che chiama `next` vede la loro decisione nel risultato che restituisce.329* **Hook `PreToolUse` da ogni altro file di impostazioni e da `hooks/hooks.json` dei plugin**: vengono eseguiti dopo che l'ultimo mod chiama `next`, come parte del comportamento proprio di Claude Code. Un mod che risponde a `tool.call` senza chiamare `next` li impedisce di eseguire e un mod che chiama `next` vede la loro decisione nel risultato che restituisce.

303 330 

304[`tool.check`](/docs/it/plugins/mods/reference#tools) è l'evento in cui Claude Code decide se una chiamata di strumento può essere eseguita. Si attiva dopo quegli hook e le regole di autorizzazione hanno deciso e `next(e)` si risolve nella loro decisione. Un hook su `tool.check` può restituire una decisione diversa, come `{ decision: 'allow' }`, quindi può approvare una chiamata che un hook nel secondo gruppo ha bloccato. [Estendere le autorizzazioni con gli hook](/docs/it/permissions#extend-permissions-with-hooks) elenca quali decisioni prevalgono su un mod.331[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) si attiva dopo che quegli hook e le regole di permesso hanno deciso, quindi un hook su di esso può approvare una chiamata che un hook nel secondo gruppo ha bloccato.

305 332 

306<h3 id="handle-a-hook-that-fails">333<h3 id="handle-a-hook-that-fails">

307 Gestire un hook che fallisce334 Gestire un hook che fallisce

Details

407 ```407 ```

408 408 

409 ```text theme={null}409 ```text theme={null}

410 Note: Type a note and press Enter ⏎ add410 Note: Type a note and press Enter

411 ```411 ```

412 </Tab>412 </Tab>

413</Tabs>413</Tabs>

414 414 

415Questa tabella elenca ogni elemento:415La [galleria dell'interfaccia](/docs/it/plugins/mods/gallery) contiene esempi e screenshot della maggior parte degli elementi. Questa tabella elenca ogni elemento:

416 416 

417| Elemento | Cosa disegna | Dove |417| Elemento | Cosa disegna | Dove |

418| :- | :- | :- |418| :- | :- | :- |

Details

72* **Agire senza chiederti**: approvare una chiamata di strumento prima che ti venga chiesto72* **Agire senza chiederti**: approvare una chiamata di strumento prima che ti venga chiesto

73* **Spendere il tuo utilizzo**: chiamare un modello sul tuo piano o sulla tua chiave API73* **Spendere il tuo utilizzo**: chiamare un modello sul tuo piano o sulla tua chiave API

74 74 

75I mod non sono isolati in una sandbox. Se attivi il [sandboxing](/docs/it/sandboxing), la sandbox isola i comandi Bash eseguiti da Claude, mentre un processo avviato da un mod viene eseguito al di fuori di essa.

76 

75Un mod che approva le chiamate di strumento può approvare una che una regola `ask` richiederebbe, o che uno dei tuoi hook `PreToolUse` ha bloccato. [Estendere le autorizzazioni con hook](/docs/it/permissions#extend-permissions-with-hooks) elenca cosa un tale mod può approvare, incluso quando può approvare una chiamata che una regola `deny` rifiuta.77Un mod che approva le chiamate di strumento può approvare una che una regola `ask` richiederebbe, o che uno dei tuoi hook `PreToolUse` ha bloccato. [Estendere le autorizzazioni con hook](/docs/it/permissions#extend-permissions-with-hooks) elenca cosa un tale mod può approvare, incluso quando può approvare una chiamata che una regola `deny` rifiuta.

76 78 

77Un mod può modificare lo stile di gran parte dell'interfaccia di Claude Code, ma non il prompt di autorizzazione. Non può cambiare quello che un prompt ti mostra.79Un mod può modificare lo stile di gran parte dell'interfaccia di Claude Code, ma non il prompt di autorizzazione. Non può cambiare quello che un prompt ti mostra.


102 104 

103Se usi Claude Code attraverso un'organizzazione, un amministratore può anche limitare quali mod si caricano. Gli amministratori iniziano da [Impedire ai mod installati dall'utente di caricarsi](/docs/it/plugins/mods/admin#stop-user-installed-mods-from-loading).105Se usi Claude Code attraverso un'organizzazione, un amministratore può anche limitare quali mod si caricano. Gli amministratori iniziano da [Impedire ai mod installati dall'utente di caricarsi](/docs/it/plugins/mods/admin#stop-user-installed-mods-from-loading).

104 106 

107`disableAllHooks` e l'impostazione `allowManagedModsOnly` della tua organizzazione fermano un mod e lasciano al suo posto il resto del suo plugin: il plugin resta installato e le sue skill, i comandi, gli agenti e i server MCP si caricano. Altre impostazioni e altri flag hanno una portata maggiore. [`disableAllHooks`](/docs/it/settings-reference#disableallhooks) e [Cosa viene eseguito con `allowManagedHooksOnly`](/docs/it/settings-reference#what-runs-under-allowmanagedhooksonly) elencano l'effetto di ciascuno su un plugin e sui suoi settings hook.

108 

105Per scoprire se i mod possono caricarsi per te, vedi [Verificare se i mod possono caricarsi](/docs/it/plugins/mods/troubleshoot#check-whether-mods-can-load).109Per scoprire se i mod possono caricarsi per te, vedi [Verificare se i mod possono caricarsi](/docs/it/plugins/mods/troubleshoot#check-whether-mods-can-load).

106 110 

107<Note>111<Note>

Details

56 56 

57Leggi il motivo dopo i due punti. La sezione [refusal messages](#refusal-messages) elenca ognuno. Se il log non ha tale riga, esamina le altre voci in questo gruppo.57Leggi il motivo dopo i due punti. La sezione [refusal messages](#refusal-messages) elenca ognuno. Se il log non ha tale riga, esamina le altre voci in questo gruppo.

58 58 

59Alcune impostazioni bloccano un mod e lasciano funzionante il resto del suo plugin. [Attivare o disattivare i mod](/docs/it/plugins/mods/overview#turn-mods-on-or-off) le indica.

60 

59<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">61<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">

60 Un'esecuzione `claude -p` stampa `hooks module not loaded`62 Un'esecuzione `claude -p` stampa `hooks module not loaded`

61</h3>63</h3>

Details

37 37 

38Le [regole di autorizzazione](/docs/it/permissions) e la [sandbox](/docs/it/sandboxing) di Claude Code coprono le chiamate agli strumenti che Claude fa, non il codice che un plugin esegue da solo:38Le [regole di autorizzazione](/docs/it/permissions) e la [sandbox](/docs/it/sandboxing) di Claude Code coprono le chiamate agli strumenti che Claude fa, non il codice che un plugin esegue da solo:

39 39 

40* **Hooks e processi server**: gli hook dei comandi eseguono comandi shell con i tuoi permessi utente completi. Claude Code esegue hook e server MCP al di fuori della sandbox.40* **Hook e processi server**: gli hook dei comandi eseguono comandi shell con i tuoi permessi utente completi. Claude Code esegue hook, server MCP e i processi che un [mod](/docs/it/plugins/mods/overview#what-a-mod-can-reach) avvia al di fuori della sandbox.

41* **Chiamate agli strumenti di Claude**: una chiamata a uno degli strumenti MCP del plugin e un comando Bash che esegue un eseguibile dalla `bin/` del plugin sono chiamate agli strumenti, quindi le tue regole di autorizzazione si applicano a loro. Per cosa può fare un mod a una chiamata a uno strumento, vedi [Decide whether to trust a mod](/docs/it/plugins/mods/overview#decide-whether-to-trust-a-mod).41* **Chiamate agli strumenti di Claude**: una chiamata a uno degli strumenti MCP del plugin e un comando Bash che esegue un eseguibile dalla `bin/` del plugin sono chiamate agli strumenti, quindi le tue regole di autorizzazione si applicano a loro. Per cosa può fare un mod a una chiamata a uno strumento, vedi [Decide whether to trust a mod](/docs/it/plugins/mods/overview#decide-whether-to-trust-a-mod).

42 42 

43L'installazione di un plugin lo abilita anche, a meno che il suo manifest o la voce del marketplace non imposti [`defaultEnabled: false`](/docs/it/plugins/install#choose-an-install-scope) e tu non l'abbia abilitato tu stesso.43L'installazione di un plugin lo abilita anche, a meno che il suo manifest o la voce del marketplace non imposti [`defaultEnabled: false`](/docs/it/plugins/install#choose-an-install-scope) e tu non l'abbia abilitato tu stesso.

Details

460* **Si pubblica il plugin**: ricalcolare il digest del file esatto che l'URL serve e aggiornare il `sha256` nella voce del marketplace. Utilizzare `shasum -a 256 my-plugin.zip` o `Get-FileHash -Algorithm SHA256 my-plugin.zip` in PowerShell460* **Si pubblica il plugin**: ricalcolare il digest del file esatto che l'URL serve e aggiornare il `sha256` nella voce del marketplace. Utilizzare `shasum -a 256 my-plugin.zip` o `Get-FileHash -Algorithm SHA256 my-plugin.zip` in PowerShell

461* **Si installa il plugin**: eseguire `/plugin marketplace update <name>` in una sessione per aggiornare il catalogo nel caso in cui la voce sia stata corretta, quindi riprovare l'installazione. Se i digest non concordano ancora dopo l'aggiornamento, chiedere al proprietario del marketplace quale file hanno fissato prima di installare461* **Si installa il plugin**: eseguire `/plugin marketplace update <name>` in una sessione per aggiornare il catalogo nel caso in cui la voce sia stata corretta, quindi riprovare l'installazione. Se i digest non concordano ancora dopo l'aggiornamento, chiedere al proprietario del marketplace quale file hanno fissato prima di installare

462 462 

463<h3 id="an-npm-plugin-source-must-name-a-registry-package">

464 `An npm plugin source must name a registry package`

465</h3>

466 

467Un plugin la cui voce nel marketplace usa una [sorgente `npm`](/docs/it/plugins/marketplace-reference#npm-plugin-source) non è riuscito a installarsi, aggiornarsi o caricarsi, e il messaggio include questa frase. Claude Code ha controllato il valore `package` della voce prima di recuperare qualsiasi cosa e l'ha rifiutato. Il messaggio indica il valore e il motivo:

468 

469```text theme={null}

470"github:acme/formatter" was not installed: it is not an http or https link. An npm plugin source must name a registry package (name or name@version) or link to a tarball file. For a plugin in a git repository, use a "github", "url" or "git-subdir" source.

471```

472 

473La voce deve essere modificata dal proprietario del marketplace:

474 

475* **Se sei tu**: cambia `package` in un valore accettato dal [riferimento alla sorgente npm per i plugin](/docs/it/plugins/marketplace-reference#npm-plugin-source), oppure passa la voce a una sorgente `github`, `url` o `git-subdir`

476* **Se non sei tu**: segnala il messaggio al proprietario del marketplace

477 

463<h3 id="marketplace-is-registered-from-an-untrusted-source">478<h3 id="marketplace-is-registered-from-an-untrusted-source">

464 `Marketplace "<name>" is registered from an untrusted source`479 `Marketplace "<name>" is registered from an untrusted source`

465</h3>480</h3>

prompt-library.md +106 −106

Details

1097export const text = {1097export const text = {

1098 "get-oriented-in-a": {1098 "get-oriented-in-a": {

1099 title: "Orientarsi in un nuovo repository",1099 title: "Orientarsi in un nuovo repository",

1100 teaches: "Descrivete quello che volete sapere, non quali file leggere. Claude esplora il progetto autonomamente e restituisce un riepilogo di come si incastra.",1100 teaches: "Descrivi quello che vuoi sapere, non quali file leggere. Claude esplora il progetto in autonomia e restituisce un riepilogo di come si incastrano le sue parti.",

1101 next: "Eseguite `/init` per configurare `CLAUDE.md` in modo che Claude lo ricordi ogni sessione"1101 next: "Esegui `/init` per configurare `CLAUDE.md` in modo che Claude lo ricordi in ogni sessione"

1102 },1102 },

1103 "explain-unfamiliar-code": {1103 "explain-unfamiliar-code": {

1104 title: "Spiegare codice non familiare",1104 title: "Spiegare codice non familiare",

1105 teaches: "Nominate il file e dite in quale formato volete la risposta. Sostituite la pagina HTML con un diagramma, punti elenco, o quello che si adatta al vostro modo di imparare.",1105 teaches: "Indica il file e di' in quale formato vuoi la risposta. Sostituisci la pagina HTML con un diagramma, un elenco puntato o qualunque cosa si adatti al tuo modo di imparare.",

1106 next: "Impostate uno stile di output in modo che Claude spieghi sempre nel vostro formato preferito"1106 next: "Imposta uno stile di output in modo che Claude spieghi sempre nel tuo formato preferito"

1107 },1107 },

1108 "find-where-something-happens": {1108 "find-where-something-happens": {

1109 title: "Trovare dove accade qualcosa",1109 title: "Trovare dove accade qualcosa",

1110 teaches: "Cercate per comportamento invece che per nome file. La ricerca funziona anche quando non sapete come si chiama il file o in quale directory si trova."1110 teaches: "Cerca per comportamento invece che per nome file. La ricerca funziona anche quando non sai come si chiama il file o in quale directory si trova."

1111 },1111 },

1112 "see-what-depends-on": {1112 "see-what-depends-on": {

1113 title: "Controllare cosa si rompe prima di eliminare",1113 title: "Controllare cosa si rompe prima di eliminare",

1114 teaches: "Chiedete prima di rimuovere qualcosa. L'elenco dei chiamanti e degli effetti a valle vi dice se state guardando una pulizia di una riga o un cambiamento che dovete coordinare."1114 teaches: "Chiedi prima di rimuovere qualcosa. L'elenco dei chiamanti e degli effetti a valle ti dice se si tratta di una pulizia di una riga o di una modifica che devi coordinare."

1115 },1115 },

1116 "trace-how-code-evolved": {1116 "trace-how-code-evolved": {

1117 title: "Tracciare come il codice si è evoluto",1117 title: "Tracciare come si è evoluto il codice",

1118 teaches: "Puntate alla cronologia dei commit quando la domanda è il perché, non il cosa. Claude legge il log e il blame per qualsiasi sistema di controllo versione utilizzate e spiega le decisioni dietro l'implementazione attuale."1118 teaches: "Fai riferimento alla cronologia dei commit quando la domanda è il perché, non il cosa. Claude legge il log e il blame di qualsiasi sistema di controllo versione tu usi e spiega le decisioni dietro l'implementazione attuale."

1119 },1119 },

1120 "scope-a-change-before": {1120 "scope-a-change-before": {

1121 title: "Definire l'ambito di un cambiamento prima di iniziare",1121 title: "Definire la portata di una modifica prima di iniziare",

1122 teaches: "Dimensionate il lavoro prima di impegnarvi in una roadmap. L'elenco dei file vi dice se state guardando un componente o un cambiamento trasversale."1122 teaches: "Valuta la dimensione del lavoro prima di inserirlo in una roadmap. L'elenco dei file ti dice se si tratta di un solo componente o di una modifica trasversale."

1123 },1123 },

1124 "ask-the-codebase-a": {1124 "ask-the-codebase-a": {

1125 title: "Fare una domanda di prodotto alla codebase",1125 title: "Fare una domanda di prodotto al codebase",

1126 teaches: "Dichiarate il vostro ruolo in modo che la risposta sia al livello giusto. Claude spiega cosa il prodotto effettivamente fa dal codice sorgente, senza che voi abbiate bisogno di leggerlo.",1126 teaches: "Dichiara il tuo ruolo in modo che la risposta sia al livello giusto. Claude spiega cosa fa effettivamente il prodotto partendo dal codice sorgente, senza che tu debba leggerlo.",

1127 next: "Impostate uno stile di output in modo che Claude sempre presenti le risposte a questo livello"1127 next: "Imposta uno stile di output in modo che Claude formuli sempre le risposte a questo livello"

1128 },1128 },

1129 "plan-a-multi-file": {1129 "plan-a-multi-file": {

1130 title: "Pianificare un cambiamento multi-file prima di toccare il codice",1130 title: "Pianificare una modifica su più file prima di toccare il codice",

1131 teaches: "Aggiungere \"non modificare ancora\" separa l'esplorazione dai cambiamenti, così vedete l'approccio prima che qualsiasi codice si muova. Per rendere plan-first il default su ogni prompt, premete Shift+Tab per [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode)."1131 teaches: "Aggiungere \"non modificare ancora\" separa l'esplorazione dalle modifiche, così vedi l'approccio prima che il codice venga toccato. Per rendere la pianificazione preventiva il comportamento predefinito per ogni prompt, premi Shift+Tab per attivare il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode)."

1132 },1132 },

1133 "draft-a-spec-by": {1133 "draft-a-spec-by": {

1134 title: "Bozza di una specifica tramite intervista",1134 title: "Scrivere una specifica tramite intervista",

1135 teaches: "Chiedete di essere intervistati invece di scrivere la specifica voi stessi. Claude vi pone domande strutturate finché i requisiti non sono completi, quindi scrive il risultato in un file.",1135 teaches: "Chiedi di essere intervistato invece di scrivere tu la specifica. Claude ti pone domande strutturate finché i requisiti non sono completi, poi scrive il risultato in un file.",

1136 next: "Salvate le vostre domande di intervista come una skill `/spec` in modo che ogni specifica inizi allo stesso modo"1136 next: "Salva le tue domande di intervista come skill `/spec` in modo che ogni specifica inizi allo stesso modo"

1137 },1137 },

1138 "turn-a-meeting-into": {1138 "turn-a-meeting-into": {

1139 title: "Trasformare una riunione in ticket",1139 title: "Trasformare una riunione in ticket",

1140 teaches: "Saltate il passaggio della trascrizione. Claude estrae gli elementi d'azione dall'input non strutturato e li scrive direttamente nel vostro tracker tramite [MCP](/docs/it/mcp), così rivedete i ticket, non la trascrizione.",1140 teaches: "Salta il passaggio della trascrizione. Claude estrae le azioni da intraprendere dall'input non strutturato e le scrive direttamente nel tuo tracker tramite [MCP](/docs/it/mcp), così rivedi i ticket, non la trascrizione.",

1141 next: "Salvate questo come una skill `/tickets`"1141 next: "Salva questo come skill `/tickets`"

1142 },1142 },

1143 "map-edge-cases-before": {1143 "map-edge-cases-before": {

1144 title: "Mappare i casi limite prima di costruire",1144 title: "Mappare i casi limite prima di sviluppare",

1145 teaches: "Chiedete cosa manca, non cosa c'è. Claude elenca gli stati di errore, gli stati vuoti e i casi limite che un design happy-path tende a saltare."1145 teaches: "Chiedi cosa manca, non cosa c'è. Claude elenca gli stati di errore, gli stati vuoti e i casi limite che un design pensato solo per il caso ideale tende a trascurare."

1146 },1146 },

1147 "turn-a-mockup-into": {1147 "turn-a-mockup-into": {

1148 title: "Trasformare un mockup in un prototipo funzionante",1148 title: "Trasformare un mockup in un prototipo funzionante",

1149 teaches: "Un prototipo cliccabile risponde a domande che un mockup statico non può. Consegnate il codice funzionante all'ingegneria invece di spiegare le interazioni in un documento."1149 teaches: "Un prototipo cliccabile risponde a domande a cui un mockup statico non può rispondere. Consegna il codice funzionante al team di engineering invece di spiegare le interazioni in un documento."

1150 },1150 },

1151 "implement-from-a-screenshot": {1151 "implement-from-a-screenshot": {

1152 title: "Implementare da uno screenshot e auto-verificare",1152 title: "Implementare da uno screenshot e autoverificare",

1153 teaches: "Questo dà a Claude un ciclo di verifica: renderizza, confronta con l'immagine sorgente, e itera senza che voi indichiate ogni lacuna.",1153 teaches: "Questo dà a Claude un ciclo di verifica: esegue il rendering, confronta il risultato con l'immagine sorgente e itera senza che tu debba segnalare ogni differenza.",

1154 next: "Utilizzate `/goal` per mantenere Claude iterando finché gli screenshot non corrispondono"1154 next: "Usa `/goal` per far continuare Claude a iterare finché gli screenshot non corrispondono"

1155 },1155 },

1156 "follow-an-existing-pattern": {1156 "follow-an-existing-pattern": {

1157 title: "Seguire un modello esistente",1157 title: "Seguire uno schema esistente",

1158 teaches: "Puntate al codice che vi piace già. Senza un riferimento, Claude usa come default le best practice generali. Con uno, corrisponde alle convenzioni che la vostra codebase effettivamente usa.",1158 teaches: "Indica del codice che ti piace già. Senza un riferimento, Claude segue le best practice generali. Con un riferimento, si adegua alle convenzioni che il tuo codebase usa effettivamente.",

1159 next: "Chiedete a Claude di scrivere il modello che ha seguito in `CLAUDE.md` in modo che le sessioni future lo corrispondano senza il riferimento"1159 next: "Chiedi a Claude di scrivere in `CLAUDE.md` lo schema che ha seguito, in modo che le sessioni future lo rispettino senza il riferimento"

1160 },1160 },

1161 "add-a-small-well": {1161 "add-a-small-well": {

1162 title: "Aggiungere una piccola funzionalità ben definita",1162 title: "Aggiungere una piccola funzionalità ben definita",

1163 teaches: "Dichiarate gli input e gli output, non come costruirla. Claude trova dove vive il codice simile e aggiunge il vostro accanto."1163 teaches: "Dichiara gli input e gli output, non come realizzarla. Claude trova dove si trova il codice simile e aggiunge il tuo accanto."

1164 },1164 },

1165 "build-a-small-internal": {1165 "build-a-small-internal": {

1166 title: "Costruire un piccolo strumento interno da zero",1166 title: "Creare un piccolo strumento interno da zero",

1167 teaches: "Non avete bisogno di un progetto, un framework, o un passo di build. Descrivete lo strumento e chiedete a Claude di aprirlo in modo che lo vediate funzionare immediatamente."1167 teaches: "Non ti servono un progetto, un framework o un passaggio di build. Descrivi lo strumento e chiedi a Claude di aprirlo, così lo vedi funzionare immediatamente."

1168 },1168 },

1169 "work-an-issue-end": {1169 "work-an-issue-end": {

1170 title: "Lavorare un problema da capo a fondo",1170 title: "Lavorare su una issue dall'inizio alla fine",

1171 teaches: "Date il numero del problema, non un riepilogo. Claude legge il ticket completo stesso, così i requisiti che dimentichereste di menzionare vengono attraversati, e valida il cambiamento prima di riferire."1171 teaches: "Fornisci il numero della issue, non un riepilogo. Claude legge da solo l'intero ticket, così emergono anche i requisiti che dimenticheresti di menzionare, e convalida la modifica prima di riferire."

1172 },1172 },

1173 "find-and-update-copy": {1173 "find-and-update-copy": {

1174 title: "Trovare e aggiornare il testo in tutta la codebase",1174 title: "Trovare e aggiornare i testi in tutto il codebase",

1175 teaches: "Chiedete varianti e dite cosa saltare. Claude trova fraseologie che una ricerca letterale perderebbe e lascia i fixture di test e la cronologia intatti, così rivedete solo il testo che gli utenti effettivamente vedono."1175 teaches: "Chiedi le varianti e di' cosa saltare. Claude trova formulazioni che una ricerca letterale non coglierebbe e lascia intatte le fixture di test e la cronologia, così rivedi solo i testi che gli utenti vedono effettivamente."

1176 },1176 },

1177 "draft-from-past-examples": {1177 "draft-from-past-examples": {

1178 title: "Bozza di un documento da esempi passati",1178 title: "Scrivere un documento partendo da esempi passati",

1179 teaches: "Puntate a una cartella di lavoro finita invece di descrivere il vostro stile. Claude impara la struttura e la voce da quello che avete già spedito, così la prima bozza legge come una delle vostre.",1179 teaches: "Indica una cartella di lavori finiti invece di descrivere il tuo stile. Claude impara la struttura e il tono da ciò che hai già pubblicato, così la prima bozza sembra scritta da te.",

1180 next: "Salvate la voce come una skill in modo che ogni bozza inizi lì"1180 next: "Salva il tono come skill in modo che ogni bozza parta da lì"

1181 },1181 },

1182 "write-tests-run-them": {1182 "write-tests-run-them": {

1183 title: "Scrivere test, eseguirli, correggere i fallimenti",1183 title: "Scrivere test, eseguirli, correggere gli errori",

1184 teaches: "Chiedete di scrivere, eseguire e correggere insieme in modo che Claude iteri senza fermarsi per istruzioni.",1184 teaches: "Chiedi di scrivere, eseguire e correggere insieme, così Claude itera senza fermarsi ad aspettare istruzioni.",

1185 next: "Eseguite `/init` in modo che Claude impari automaticamente il vostro comando di test"1185 next: "Esegui `/init` in modo che Claude impari automaticamente il tuo comando di test"

1186 },1186 },

1187 "drive-implementation-from-tests": {1187 "drive-implementation-from-tests": {

1188 title: "Guidare l'implementazione dai test",1188 title: "Guidare l'implementazione con i test",

1189 teaches: "Test-driven development: i test definiscono quando il lavoro è completo, e Claude itera sull'implementazione finché non passano."1189 teaches: "Test-driven development: i test definiscono quando il lavoro è completo e Claude itera sull'implementazione finché non passano."

1190 },1190 },

1191 "fill-gaps-from-a": {1191 "fill-gaps-from-a": {

1192 title: "Riempire le lacune da un rapporto di copertura",1192 title: "Colmare le lacune da un report di copertura",

1193 teaches: "Puntate al rapporto di copertura invece di indovinare cosa non è testato. Claude legge i numeri effettivi e scrive test per i file che ne hanno più bisogno.",1193 teaches: "Indica il report di copertura invece di indovinare cosa non è testato. Claude legge i numeri reali e scrive test per i file che ne hanno più bisogno.",

1194 next: "Impostate questo come un `/goal` in modo che Claude continui a scrivere test finché la copertura non raggiunge l'obiettivo"1194 next: "Imposta questo come `/goal` in modo che Claude continui a scrivere test fino a raggiungere l'obiettivo di copertura"

1195 },1195 },

1196 "port-code-between-languages": {1196 "port-code-between-languages": {

1197 title: "Portare il codice in un'altra lingua",1197 title: "Portare il codice in un altro linguaggio",

1198 teaches: "Dite cosa preservare, non solo il linguaggio di destinazione. Nominare l'API o il comportamento che deve rimanere lo stesso dà a Claude un contratto per verificare il port."1198 teaches: "Di' cosa preservare, non solo il linguaggio di destinazione. Indicare l'API o il comportamento che deve restare invariato dà a Claude un contratto rispetto al quale verificare il porting."

1199 },1199 },

1200 "generate-docs-for-code": {1200 "generate-docs-for-code": {

1201 title: "Generare documentazione per codice non documentato",1201 title: "Generare documentazione per codice non documentato",

1202 teaches: "Nominate l'ambito e il formato. Claude trova cosa manca e corrisponde allo stile di commento già nel file, così la nuova documentazione legge come il resto."1202 teaches: "Indica l'ambito e il formato. Claude trova cosa manca e si adegua allo stile dei commenti già presente nel file, così la nuova documentazione è coerente con il resto."

1203 },1203 },

1204 "migrate-a-pattern-across": {1204 "migrate-a-pattern-across": {

1205 title: "Migrare un modello in tutta la codebase",1205 title: "Migrare uno schema in tutto il codebase",

1206 teaches: "Descrivete il vecchio modello e il nuovo. Chiedere a Claude di identificare prima ogni posto significa che i siti di chiamata sono elencati nella risposta, così potete controllare che nessuno sia stato perso. Per una migrazione su molti file, eseguite [/batch](/docs/it/commands). Claude divide il lavoro in unità per voi da approvare, quindi i subagent in background fanno i cambiamenti e aprono una pull request per unità."1206 teaches: "Descrivi il vecchio schema e quello nuovo. Chiedere a Claude di identificare prima ogni punto fa sì che i punti di chiamata siano elencati nella risposta, così puoi verificare che non ne manchi nessuno. Per una migrazione su molti file, esegui [/batch](/docs/it/commands). Claude suddivide il lavoro in unità che approvi tu, poi i subagent in background apportano le modifiche."

1207 },1207 },

1208 "optimize-against-a-measurable": {1208 "optimize-against-a-measurable": {

1209 title: "Ottimizzare rispetto a un obiettivo misurabile",1209 title: "Ottimizzare rispetto a un obiettivo misurabile",

1210 teaches: "Dichiarare la metrica e l'obiettivo dà a Claude una chiara definizione di fatto.",1210 teaches: "Indicare la metrica e l'obiettivo dà a Claude una definizione chiara di completamento.",

1211 next: "Impostate questo come un `/goal` in modo che Claude continui a misurare e iterare finché non raggiunge il numero"1211 next: "Imposta questo come `/goal` in modo che Claude continui a misurare e iterare fino a raggiungere il numero"

1212 },1212 },

1213 "fix-a-precise-visual": {1213 "fix-a-precise-visual": {

1214 title: "Correggere un bug visivo preciso",1214 title: "Correggere un bug visivo preciso",

1215 teaches: "Un feedback visivo preciso ottiene una correzione precisa. Dichiarate l'elemento esatto, la misurazione e il viewport.",1215 teaches: "Un feedback visivo preciso porta a una correzione precisa. Indica l'elemento esatto, la misura e il viewport.",

1216 next: "Aggiungete uno strumento di anteprima in modo che Claude faccia uno screenshot e verifichi la correzione stessa"1216 next: "Aggiungi uno strumento di anteprima in modo che Claude faccia uno screenshot e verifichi la correzione da solo"

1217 },1217 },

1218 "review-your-changes-before": {1218 "review-your-changes-before": {

1219 title: "Rivedere i vostri cambiamenti prima di eseguire il commit",1219 title: "Rivedere le tue modifiche prima del commit",

1220 teaches: "Catturate i problemi mentre sono ancora economici da correggere. Claude legge i file modificati per intero, non solo le righe diff, così individua i problemi che una rapida auto-revisione perde.",1220 teaches: "Individua i problemi quando sono ancora poco costosi da correggere. Claude legge i file modificati per intero, non solo le righe del diff, così individua problemi che una rapida autorevisione non coglie.",

1221 next: "Eseguite `/code-review` per lo stesso controllo in un comando"1221 next: "Esegui `/code-review` per lo stesso controllo con un solo comando"

1222 },1222 },

1223 "review-a-pull-request": {1223 "review-a-pull-request": {

1224 title: "Rivedere una pull request",1224 title: "Rivedere una pull request",

1225 teaches: "Claude rivede con l'intera codebase in contesto, non solo il diff. Legge il codice modificato e quello che chiama, così cattura i problemi che una revisione solo diff perderebbe.",1225 teaches: "Claude esegue la revisione con l'intero codebase nel contesto, non solo il diff. Legge il codice modificato e ciò che richiama, così individua problemi che una revisione del solo diff non coglierebbe.",

1226 next: "Eseguite `/code-review <pr#>` in un comando, o attivate Code Review per ogni PR"1226 next: "Esegui `/code-review <pr#>` con un solo comando, oppure attiva Code Review per ogni PR"

1227 },1227 },

1228 "review-infrastructure-changes-before": {1228 "review-infrastructure-changes-before": {

1229 title: "Rivedere i cambiamenti dell'infrastruttura prima di applicare",1229 title: "Rivedere le modifiche all'infrastruttura prima di applicarle",

1230 teaches: "L'output del piano è denso e difficile da scansionare. Incollarlo vi dà un riepilogo in linguaggio semplice di cosa effettivamente cambierà prima di applicarlo."1230 teaches: "L'output del piano è denso e difficile da scorrere. Incollandolo ottieni un riepilogo in linguaggio semplice di cosa cambierà effettivamente prima di applicarlo."

1231 },1231 },

1232 "run-a-security-review": {1232 "run-a-security-review": {

1233 title: "Eseguire una revisione di sicurezza con un subagent",1233 title: "Eseguire una revisione di sicurezza con un subagent",

1234 teaches: "Un [subagent](/docs/it/sub-agents) esegue l'audit nel suo proprio context window e riferisce un riepilogo, così una lunga revisione di sicurezza non riempie la vostra sessione principale. Il subagent generico integrato gestisce questo senza configurazione aggiuntiva.",1234 teaches: "Un [subagent](/docs/it/sub-agents) esegue l'audit nella propria finestra di contesto e restituisce un riepilogo, così una lunga revisione di sicurezza non riempie la tua sessione principale. Il subagent generico integrato se ne occupa senza configurazione aggiuntiva.",

1235 next: "Configurate un subagent dedicato security-review che tutto il vostro team può usare"1235 next: "Configura un subagent dedicato alla revisione di sicurezza che tutto il tuo team può usare"

1236 },1236 },

1237 "review-content-before-sending": {1237 "review-content-before-sending": {

1238 title: "Catturare i problemi prima della revisione formale",1238 title: "Individuare i problemi prima della revisione formale",

1239 teaches: "Ottenete un primo passaggio prima che un umano spenda tempo su di esso. Nominate i problemi che volete controllati in modo che la revisione sia focalizzata, quindi correggete quello che trova e inviate una bozza più pulita.",1239 teaches: "Ottieni un primo controllo prima che una persona ci dedichi del tempo. Indica gli aspetti che vuoi verificare in modo che la revisione sia mirata, poi correggi ciò che emerge e invia una bozza più pulita.",

1240 next: "Catturate la vostra lista di controllo di revisione come una skill che tutto il vostro team può eseguire"1240 next: "Salva la tua checklist di revisione come skill che tutto il tuo team può eseguire"

1241 },1241 },

1242 "course-correct-a-wrong": {1242 "course-correct-a-wrong": {

1243 title: "Correggere il corso di un approccio sbagliato",1243 title: "Correggere la rotta di un approccio sbagliato",

1244 teaches: "Nominate il vincolo che Claude ha perso, non solo che è sbagliato. Una ragione specifica dà a Claude un vincolo concreto da soddisfare al nuovo tentativo, invece di indovinare di nuovo.",1244 teaches: "Indica il vincolo che Claude non ha considerato, non solo che è sbagliato. Una ragione specifica dà a Claude un vincolo concreto da soddisfare al nuovo tentativo, invece di tirare a indovinare di nuovo.",

1245 next: "Premete `Esc` due volte per aprire il menu di rewind e ripristinare il codice e la conversazione in modo che il nuovo tentativo inizi pulito"1245 next: "Premi `Esc` due volte per aprire il menu di rewind e ripristinare codice e conversazione, così il nuovo tentativo parte da zero"

1246 },1246 },

1247 "narrow-the-scope-of": {1247 "narrow-the-scope-of": {

1248 title: "Restringere l'ambito di un cambiamento",1248 title: "Restringere la portata di una modifica",

1249 teaches: "Quando la direzione è giusta ma il cambiamento è diventato troppo ampio, chiedete a Claude di mantenere parte di esso piuttosto che fare il rewind di tutto. Un confine dichiarato mantiene una piccola correzione dal diventare un refactoring."1249 teaches: "Quando la direzione è giusta ma la modifica è andata troppo oltre, chiedi a Claude di mantenerne una parte invece di annullare tutto. Un limite esplicito impedisce che una piccola correzione diventi un refactoring."

1250 },1250 },

1251 "turn-a-correction-into": {1251 "turn-a-correction-into": {

1252 title: "Trasformare una correzione in una regola",1252 title: "Trasformare una correzione in una regola",

1253 teaches: "Una correzione in chat non è condivisa con il vostro team. Una regola nel [CLAUDE.md](/docs/it/memory) del progetto è condivisa una volta che la eseguite il commit, e Claude la legge all'inizio di ogni sessione.",1253 teaches: "Una correzione in chat non viene condivisa con il tuo team. Una regola nel [CLAUDE.md](/docs/it/memory) del progetto viene condivisa una volta che ne fai il commit, e Claude la legge all'inizio di ogni sessione.",

1254 next: "Aprite `/memory` per rivedere quello che Claude ha scritto"1254 next: "Apri `/memory` per rivedere ciò che Claude ha scritto"

1255 },1255 },

1256 "resolve-merge-conflicts": {1256 "resolve-merge-conflicts": {

1257 title: "Risolvere i conflitti di merge",1257 title: "Risolvere i conflitti di merge",

1258 teaches: "Dite quale stato volete, non quali marcatori mantenere. Chiedere il ragionamento rende il merge revisionabile invece di una scatola nera."1258 teaches: "Di' quale stato vuoi ottenere, non quali marcatori mantenere. Chiedere il ragionamento rende il merge verificabile invece di una scatola nera."

1259 },1259 },

1260 "commit-with-a-generated": {1260 "commit-with-a-generated": {

1261 title: "Eseguire il commit con un messaggio generato",1261 title: "Fare il commit con un messaggio generato",

1262 teaches: "Lasciate che Claude derivi il messaggio dal diff. Corrisponde allo stile di commit esistente del vostro repository."1262 teaches: "Lascia che Claude ricavi il messaggio dal diff. Si adegua allo stile dei commit già presente nel tuo repository."

1263 },1263 },

1264 "open-a-pull-request": {1264 "open-a-pull-request": {

1265 title: "Aprire una pull request da un ticket",1265 title: "Aprire una pull request da un ticket",

1266 teaches: "Saltate il cambio di contesto tra tracker, editor e GitHub. Un prompt legge la specifica, fa il cambiamento e apre la PR."1266 teaches: "Evita il cambio di contesto tra tracker, editor e GitHub. Un solo prompt legge la specifica, apporta la modifica e apre la PR."

1267 },1267 },

1268 "draft-release-notes-from": {1268 "draft-release-notes-from": {

1269 title: "Bozza di note di rilascio dalla cronologia git",1269 title: "Scrivere le note di rilascio dalla cronologia git",

1270 teaches: "Date due punti di riferimento e la struttura che volete. Claude legge il log dei commit tra di loro e bozza un changelog che potete modificare.",1270 teaches: "Fornisci due punti di riferimento e la struttura che vuoi. Claude legge il log dei commit tra i due e scrive una bozza di changelog che puoi modificare.",

1271 next: "Salvate questo come una skill `/changelog`"1271 next: "Salva questo come skill `/changelog`"

1272 },1272 },

1273 "write-a-ci-workflow": {1273 "write-a-ci-workflow": {

1274 title: "Scrivere un workflow CI",1274 title: "Scrivere un workflow CI",

1275 teaches: "Descrivete quando dovrebbe eseguire e cosa dovrebbe fare; lo YAML è generato per voi, abbinato ai vostri comandi di build e test del progetto."1275 teaches: "Descrivi quando deve essere eseguito e cosa deve fare; lo YAML viene generato per te, in linea con i comandi di build e test del tuo progetto."

1276 },1276 },

1277 "find-and-fix-a": {1277 "find-and-fix-a": {

1278 title: "Trovare e correggere un test fallito",1278 title: "Trovare e correggere un test che fallisce",

1279 teaches: "Descrivete il sintomo; non avete bisogno di sapere quale file è rotto. Claude esegue il test per vedere il fallimento, lo traccia nel sorgente e lo corregge."1279 teaches: "Descrivi il sintomo; non serve sapere quale file è rotto. Claude esegue il test per vedere l'errore, ne risale l'origine nel sorgente e lo corregge."

1280 },1280 },

1281 "investigate-a-reported-error": {1281 "investigate-a-reported-error": {

1282 title: "Investigare un errore segnalato",1282 title: "Analizzare un errore segnalato",

1283 teaches: "Descrivete il sintomo e la posizione; Claude legge il percorso di codice rilevante e traccia le cause probabili. Incollate stack trace o log se li avete.",1283 teaches: "Descrivi il sintomo e dove si verifica; Claude legge il percorso di codice rilevante e individua le cause probabili. Incolla stack trace o log se li hai.",

1284 next: "Mettete un deeplink nel vostro runbook che apre Claude con questo prompt pre-compilato"1284 next: "Inserisci nel tuo runbook un deeplink che apre Claude con questo prompt precompilato"

1285 },1285 },

1286 "fix-a-build-error": {1286 "fix-a-build-error": {

1287 title: "Correggere un errore di build alla radice",1287 title: "Correggere un errore di build alla radice",

1288 teaches: "Chiedere la causa radice e la verifica previene patch superficiali che sopprimono l'errore senza correggerlo."1288 teaches: "Chiedere la causa principale e la verifica evita patch superficiali che nascondono l'errore senza correggerlo."

1289 },1289 },

1290 "investigate-a-production-incident": {1290 "investigate-a-production-incident": {

1291 title: "Investigare un incidente di produzione",1291 title: "Analizzare un incidente di produzione",

1292 teaches: "Elencate le fonti di evidenza da correlare, non i passaggi da intraprendere. Claude legge log, cronologia git e config insieme per restringere la causa.",1292 teaches: "Elenca le fonti di informazioni da correlare, non i passaggi da seguire. Claude legge insieme log, cronologia git e configurazione per restringere la causa.",

1293 next: "Collegate Sentry o il vostro log store tramite MCP"1293 next: "Collega Sentry o il tuo log store tramite MCP"

1294 },1294 },

1295 "query-logs-in-plain": {1295 "query-logs-in-plain": {

1296 title: "Interrogare i log in inglese semplice",1296 title: "Interrogare i log in linguaggio naturale",

1297 teaches: "Fate la domanda invece di scrivere l'SQL. Claude costruisce la query, la esegue contro i vostri log collegati, e mostra sia la query che il risultato in modo che possiate controllare cosa è stato eseguito."1297 teaches: "Fai la domanda invece di scrivere l'SQL. Claude crea la query, la esegue sui log collegati e mostra sia la query sia il risultato, così puoi verificare cosa è stato eseguito."

1298 },1298 },

1299 "diagnose-from-a-console": {1299 "diagnose-from-a-console": {

1300 title: "Diagnosticare da uno screenshot della console",1300 title: "Diagnosticare da uno screenshot della console",

1301 teaches: "Le console cloud vi mostrano il problema ma non i comandi per correggerlo. Claude legge lo screenshot e traduce il dashboard nei comandi kubectl, gcloud o aws da eseguire."1301 teaches: "Le console cloud ti mostrano il problema ma non i comandi per risolverlo. Claude legge lo screenshot e traduce la dashboard nei comandi kubectl, gcloud o aws da eseguire."

1302 },1302 },

1303 "analyze-a-data-file": {1303 "analyze-a-data-file": {

1304 title: "Analizzare un file di dati",1304 title: "Analizzare un file di dati",

1305 teaches: "Una domanda una tantum non ha bisogno di uno script una tantum. Puntate a un file nella vostra cartella di progetto e Claude lo legge direttamente, trova i modelli e scrive l'output dove lo chiedete.",1305 teaches: "Una domanda occasionale non richiede uno script occasionale. Indica un file nella cartella del tuo progetto e Claude lo legge direttamente, individua gli schemi e scrive l'output dove chiedi.",

1306 next: "Collegate la fonte di dati tramite MCP invece di esportare file"1306 next: "Collega la fonte di dati tramite MCP invece di esportare file"

1307 },1307 },

1308 "generate-variations-from-performance": {1308 "generate-variations-from-performance": {

1309 title: "Generare variazioni dai dati di performance",1309 title: "Generare variazioni dai dati di performance",

1310 teaches: "Dichiarate il vincolo all'inizio in modo che la generazione rimanga entro il limite. Claude legge le metriche, sceglie cosa sostituire e produce alternative che si adattano.",1310 teaches: "Dichiara il vincolo all'inizio, così la generazione resta entro il limite. Claude legge le metriche, sceglie cosa sostituire e produce alternative che rispettano il vincolo.",

1311 next: "Collegate la piattaforma pubblicitaria tramite MCP invece di esportare un file"1311 next: "Collega la piattaforma pubblicitaria tramite MCP invece di esportare un file"

1312 },1312 },

1313 "turn-a-recurring-task": {1313 "turn-a-recurring-task": {

1314 title: "Trasformare un'attività ricorrente in una skill",1314 title: "Trasformare un'attività ricorrente in una skill",

1315 teaches: "Nominate i passaggi una volta; riutilizzateli come comando. Claude scrive una [skill](/docs/it/skills) che chiunque nel vostro team può eseguire."1315 teaches: "Indica i passaggi una volta sola; riutilizzali come comando. Claude scrive una [skill](/docs/it/skills) che chiunque nel tuo team può eseguire."

1316 },1316 },

1317 "add-a-hook-for": {1317 "add-a-hook-for": {

1318 title: "Aggiungere un hook per il comportamento ripetuto",1318 title: "Aggiungere un hook per un comportamento ricorrente",

1319 teaches: "Gli hook rendono un comportamento automatico invece di qualcosa che dovete ricordare di chiedere. Descrivete il trigger e l'azione e Claude scrive la configurazione [hook](/docs/it/hooks)."1319 teaches: "Gli hook rendono un comportamento automatico invece di qualcosa che devi ricordarti di chiedere. Descrivi il trigger e l'azione e Claude scrive la configurazione dell'[hook](/docs/it/hooks)."

1320 },1320 },

1321 "connect-a-tool-with": {1321 "connect-a-tool-with": {

1322 title: "Connettere uno strumento con MCP",1322 title: "Collegare uno strumento con MCP",

1323 teaches: "Collegate la fonte una volta invece di incollare i dati ogni sessione. Dopo la configurazione [MCP](/docs/it/mcp), Claude legge dallo strumento direttamente quando lo chiedete."1323 teaches: "Collega la fonte una volta sola invece di incollare i dati in ogni sessione. Dopo la configurazione di [MCP](/docs/it/mcp), Claude legge direttamente dallo strumento quando gli chiedi qualcosa al riguardo."

1324 },1324 },

1325 "capture-what-to-remember": {1325 "capture-what-to-remember": {

1326 title: "Catturare cosa ricordare per la prossima volta",1326 title: "Annotare cosa ricordare per la prossima volta",

1327 teaches: "Chiedete prima di dimenticare. Claude sa cosa ha dovuto capire questa sessione e propone voci [CLAUDE.md](/docs/it/memory) in modo che la sessione successiva inizi con quel contesto."1327 teaches: "Chiedi prima di dimenticare. Claude sa cosa ha dovuto capire in questa sessione e propone voci per [CLAUDE.md](/docs/it/memory), così la sessione successiva inizia con quel contesto."

1328 }1328 }

1329};1329};

1330 1330 

Details

220 220 

221Questi comandi funzionano per circa quattro ore dopo l'arresto del server. Dopo di che, esegui `claude remote-control` per avviare una nuova sessione. Se hai archiviato una sessione nel frattempo, `--continue` e `--session-id` la disarchiviano su Claude Code v2.1.228 o successivo.221Questi comandi funzionano per circa quattro ore dopo l'arresto del server. Dopo di che, esegui `claude remote-control` per avviare una nuova sessione. Se hai archiviato una sessione nel frattempo, `--continue` e `--session-id` la disarchiviano su Claude Code v2.1.228 o successivo.

222 222 

223Per ripristinare una sessione che hai avviato con `claude --remote-control` o `/remote-control`, riprendi la conversazione con `claude --continue` o `claude --resume`. Se Remote Control non si riconnette, vedi [Couldn't reconnect to your Remote Control session](#couldnt-reconnect-to-your-remote-control-session).223Per ripristinare una sessione che hai avviato con `claude --remote-control` o `/remote-control`, riprendi la conversazione con `claude --continue` o `claude --resume`. Per la modalità di permesso con cui si avvia la conversazione ripresa, consulta [modalità di permesso alla ripresa](/docs/it/sessions#permission-mode-on-resume). Se Remote Control non si riconnette, consulta [Couldn't reconnect to your Remote Control session](#couldnt-reconnect-to-your-remote-control-session).

224 224 

225Se riprendi la conversazione in un secondo terminale mentre il primo ha ancora Remote Control attivo, Claude Code stampa un avviso `Remote Control not started here` nel secondo terminale e lascia Remote Control disattivato lì invece di prendere la sessione dal primo. Esegui `/remote-control` nel secondo terminale per spostare Remote Control su di esso.225Se riprendi la conversazione in un secondo terminale mentre il primo ha ancora Remote Control attivo, Claude Code stampa un avviso `Remote Control not started here` nel secondo terminale e lascia Remote Control disattivato lì invece di prendere la sessione dal primo. Esegui `/remote-control` nel secondo terminale per spostare Remote Control su di esso.

226 226 

Details

107 107 

108* La tua directory di progetto.108* La tua directory di progetto.

109* I percorsi di configurazione di Claude Code `~/.claude` e `~/.claude.json`.109* I percorsi di configurazione di Claude Code `~/.claude` e `~/.claude.json`.

110* `/tmp`, dove Claude Code scrive i file runtime.110* La directory in cui Claude Code scrive i file runtime. A meno che tu non imposti [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars), tale directory è:

111 * **Linux e WSL2**: `/tmp`

112 * **macOS**: `/private/tmp`. `/tmp` è un collegamento simbolico a tale directory, e Seatbelt controlla il percorso risolto.

111 113 

112Consenti i domini di rete di cui la tua sessione ha bisogno:114Consenti i domini di rete di cui la tua sessione ha bisogno:

113 115 

sandboxing.md +8 −7

Details

773 Limitazioni di sicurezza773 Limitazioni di sicurezza

774</h3>774</h3>

775 775 

776* **Filtraggio della rete**: il sandbox limita i domini a cui i processi possono connettersi. Per impostazione predefinita il proxy integrato non termina o ispeziona TLS sul traffico in uscita, quindi i contenuti delle connessioni crittografate non vengono esaminati. L'impostazione sperimentale [`network.tlsTerminate`](/docs/it/settings-reference#sandbox-network-tlsterminate) termina TLS al proxy per la [sostituzione delle credenziali `mask`](#mask-credentials) ma non aggiunge filtraggio dei contenuti. Sei responsabile di assicurarti che solo i domini affidabili siano consentiti nella tua politica.776* **Filtraggio della rete**: la sandbox limita i domini a cui i processi possono connettersi. Per impostazione predefinita il proxy integrato non termina o ispeziona TLS sul traffico in uscita, quindi i contenuti delle connessioni crittografate non vengono esaminati. L'impostazione sperimentale [`network.tlsTerminate`](/docs/it/settings-reference#sandbox-network-tlsterminate) termina TLS al proxy per la [sostituzione delle credenziali `mask`](#mask-credentials) ma non aggiunge filtraggio dei contenuti. Sei responsabile di assicurarti che solo i domini affidabili siano consentiti nella tua politica.

777 777 

778<Warning>778<Warning>

779 Consentire domini ampi come `github.com` può creare percorsi per l'esfiltrazione di dati. Poiché il proxy prende la sua decisione di consentimento dal nome host fornito dal client senza ispezionare TLS, il codice in esecuzione all'interno della sandbox potrebbe potenzialmente utilizzare [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) o tecniche simili per raggiungere host al di fuori dell'allowlist. Se il tuo modello di minaccia richiede garanzie più forti, configura un [proxy personalizzato](#custom-proxy-configuration) che termina TLS e ispeziona il traffico, e installa il suo certificato CA all'interno della sandbox. L'isolamento della rete più consapevole di TLS è un'area di sviluppo attiva.779 Consentire domini ampi come `github.com` può creare percorsi per l'esfiltrazione di dati. Poiché il proxy prende la sua decisione di consentimento dal nome host fornito dal client senza ispezionare TLS, il codice in esecuzione all'interno della sandbox potrebbe potenzialmente utilizzare [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) o tecniche simili per raggiungere host al di fuori dell'allowlist. Se il tuo modello di minaccia richiede garanzie più forti, configura un [proxy personalizzato](#custom-proxy-configuration) che termina TLS e ispeziona il traffico, e installa il suo certificato CA all'interno della sandbox. L'isolamento della rete più consapevole di TLS è un'area di sviluppo attiva.


790 790 

791* **Supporto della piattaforma**: supporta macOS, Linux e WSL2. WSL1 e Windows nativo non sono supportati.791* **Supporto della piattaforma**: supporta macOS, Linux e WSL2. WSL1 e Windows nativo non sono supportati.

792* **Overhead di prestazioni**: minimo, ma alcune operazioni del filesystem potrebbero essere leggermente più lente.792* **Overhead di prestazioni**: minimo, ma alcune operazioni del filesystem potrebbero essere leggermente più lente.

793* **Compatibilità degli strumenti**: alcuni strumenti che richiedono modelli di accesso al sistema specifici potrebbero necessitare di regolazioni di configurazione, o potrebbero anche dover essere eseguiti al di fuori della sandbox.793* **Compatibilità degli strumenti**: alcuni strumenti che richiedono modelli di accesso al sistema specifici potrebbero necessitare di regolazioni di configurazione, o potrebbero dover essere eseguiti al di fuori della sandbox.

794 794 

795<h3 id="scope">795<h3 id="scope">

796 Ambito796 Ambito


798 798 

799La sandbox isola i sottoprocessi Bash. Altri strumenti operano sotto confini diversi:799La sandbox isola i sottoprocessi Bash. Altri strumenti operano sotto confini diversi:

800 800 

801* **Strumenti di file integrati**: Read, Edit e Write utilizzano il sistema di autorizzazione direttamente piuttosto che eseguire attraverso la sandbox. Vedi [permissions](/docs/it/permissions).801* **Strumenti di file integrati**: Read, Edit e Write utilizzano il sistema dei permessi direttamente piuttosto che eseguire attraverso la sandbox. Vedi [permessi](/docs/it/permissions).

802* **Utilizzo del computer**: quando Claude apre app e controlla lo schermo, viene eseguito sul tuo desktop effettivo piuttosto che in un ambiente isolato. I prompt di autorizzazione per app gating ogni applicazione. Vedi [computer use nella CLI](/docs/it/computer-use) o [computer use in Desktop](/docs/it/desktop#let-claude-use-your-computer).802* **Utilizzo del computer**: quando Claude apre app e controlla lo schermo, viene eseguito sul tuo desktop effettivo piuttosto che in un ambiente isolato. Le richieste di permesso per app controllano l'accesso a ogni applicazione. Vedi [computer use nella CLI](/docs/it/computer-use) o [computer use in Desktop](/docs/it/desktop#let-claude-use-your-computer).

803* **Variabili di ambiente**: i comandi Bash sandboxati ereditano l'ambiente del processo padre per impostazione predefinita, incluse le credenziali impostate lì. Usa [`sandbox.credentials`](#protect-credentials) per annullare o mascherare variabili specifiche per i comandi sandboxati, o imposta [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/it/env-vars) per rimuovere le credenziali dai sottoprocessi.803* **Variabili d'ambiente**: i comandi Bash sandboxati ereditano l'ambiente del processo padre per impostazione predefinita, incluse le credenziali impostate lì. Usa [`sandbox.credentials`](#protect-credentials) per annullare o mascherare variabili specifiche per i comandi sandboxati, o imposta [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/it/env-vars) per rimuovere le credenziali da tutti i sottoprocessi.

804* **Subagenti**: i [subagenti](/docs/it/sub-agents) vengono eseguiti nello stesso processo della sessione padre e utilizzano la stessa configurazione sandbox. I comandi Bash all'interno di un subagente vengono sandboxati quando il sandboxing è abilitato nella sessione padre.804* **Subagent**: i [subagent](/docs/it/sub-agents) vengono eseguiti nello stesso processo della sessione padre e utilizzano la stessa configurazione sandbox. I comandi Bash all'interno di un subagent vengono sandboxati quando il sandboxing è abilitato nella sessione padre.

805* **Mod**: un [mod](/docs/it/plugins/mods/overview) è un plugin che esegue il proprio codice all'interno di Claude Code, e un processo avviato da un mod viene eseguito al di fuori della sandbox. Vedi [Cosa può raggiungere un mod](/docs/it/plugins/mods/overview#what-a-mod-can-reach).

805 806 

806<Warning>807<Warning>

807 Il sandboxing efficace richiede sia l'isolamento del filesystem che della rete. Senza isolamento della rete, un agente compromesso potrebbe esfiltare file sensibili come chiavi SSH. Senza isolamento del filesystem, sia da una politica permissiva che da [disabilitazione del livello filesystem](#disable-filesystem-isolation), un agente compromesso potrebbe backdoor le risorse di sistema per ottenere accesso alla rete. Quando ampli i predefiniti, verifica che un percorso `allowWrite`, una voce `allowedDomains` ampia o un'eccezione `excludedCommands` non annulli una restrizione dall'altro lato.808 Il sandboxing efficace richiede sia l'isolamento del filesystem che della rete. Senza isolamento della rete, un agente compromesso potrebbe esfiltrare file sensibili come chiavi SSH. Senza isolamento del filesystem, sia da una politica permissiva che da [disabilitazione del livello filesystem](#disable-filesystem-isolation), un agente compromesso potrebbe inserire backdoor nelle risorse di sistema per ottenere accesso alla rete. Quando ampli i predefiniti, verifica che un percorso `allowWrite`, una voce `allowedDomains` ampia o un'eccezione `excludedCommands` non annulli una restrizione dall'altro lato.

808</Warning>809</Warning>

809 810 

810<h2 id="see-also">811<h2 id="see-also">

Details

61 61 

62Non chiudere o riutilizzare il descrittore di file 3 nel wrapper. Il reindirizzamento dello stdout e dello stderr del figlio va bene.62Non chiudere o riutilizzare il descrittore di file 3 nel wrapper. Il reindirizzamento dello stdout e dello stderr del figlio va bene.

63 63 

64<h3 id="pass-the-system-prompt-flags-through">

65 Passare i flag del prompt di sistema

66</h3>

67 

68Il prompt di sistema e il prompt di sistema aggiuntivo che il piano di controllo di Anthropic invia per una sessione raggiungono il tuo wrapper come percorsi di file, non come testo inline. Il runner scrive ogni prompt in un file nella directory di configurazione della sessione, `CLAUDE_CONFIG_DIR`, e ne passa il percorso negli argomenti che il tuo wrapper riceve, come [`--system-prompt-file <path>` o `--append-system-prompt-file <path>`](/docs/it/cli-reference#system-prompt-flags).

69 

70I runner su Claude Code v2.1.281 o successivo forniscono i prompt come file. Prima della v2.1.281, il runner li passava come `--system-prompt <text>` e `--append-system-prompt <text>`.

71 

72Nel tuo script wrapper o [hook `command`](#command), gestisci questi flag come segue:

73 

74* **Passali così come sono**: termina il wrapper con `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"`, che inoltra i flag dei file insieme a ogni altro argomento. Non eliminarli né riscriverli. Se una sessione perde un flag del file di prompt, viene eseguita senza le istruzioni che il piano di controllo ha inviato per essa.

75* **Su un runner alla v2.1.281 o successiva, un flag di file che aggiungi sostituisce quello del server, non vi si aggiunge mai**: ogni flag del file di prompt accetta un solo valore e Claude Code mantiene l'ultima occorrenza, quindi se aggiungi `--append-system-prompt-file <path>` dopo `"$@"`, il contenuto del tuo file sostituisce le istruzioni aggiuntive del server. Per aggiungere istruzioni oltre a quelle del server, inseriscile nel `CLAUDE.md` dell'immagine del runner, che il runner [inserisce nella configurazione a livello utente di ogni sessione](#how-each-session’s-config-is-assembled).

76 

64<h3 id="provision-credentials-scoped-to-the-session-creator">77<h3 id="provision-credentials-scoped-to-the-session-creator">

65 Provisioning di credenziali limitate al creatore della sessione78 Provisioning di credenziali limitate al creatore della sessione

66</h3>79</h3>


447* **Chi li crea**: il piano di controllo popola gli script da costanti fisse nella propria distribuzione, mai da input per sessione o di terze parti.460* **Chi li crea**: il piano di controllo popola gli script da costanti fisse nella propria distribuzione, mai da input per sessione o di terze parti.

448* **Cosa ancora li governa**: gli hook forniti attraverso `--settings` entrano nella configurazione ordinaria dell'hook unito, non nel livello gestito, quindi le impostazioni gestite si applicano ancora. `disableAllHooks` li disabilita, e non sono tra le categorie che [`allowManagedHooksOnly`](/docs/it/settings-reference#allowmanagedhooksonly) mantiene caricate.461* **Cosa ancora li governa**: gli hook forniti attraverso `--settings` entrano nella configurazione ordinaria dell'hook unito, non nel livello gestito, quindi le impostazioni gestite si applicano ancora. `disableAllHooks` li disabilita, e non sono tra le categorie che [`allowManagedHooksOnly`](/docs/it/settings-reference#allowmanagedhooksonly) mantiene caricate.

449 462 

463Al di fuori delle sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview), una sessione in un ambiente self-hosted viene eseguita con la [memoria automatica](/docs/it/memory#auto-memory) disattivata per impostazione predefinita. Per le istruzioni che devono valere tra una sessione e l'altra, usa il `CLAUDE.md` nell'immagine del runner o nel repository.

464 

465Lo snapshot di `~/.claude/` dell'host acquisito dal runner esclude la directory `projects/`. La posizione di archiviazione predefinita della memoria automatica si trova in quella directory. Se vi inserisci file di memoria, il runner non li copia nelle sessioni e questi non attivano la memoria automatica.

466 

450<h3 id="repository-committed-permission-rules">467<h3 id="repository-committed-permission-rules">

451 Regole di autorizzazione committate nel repository468 Regole di autorizzazione committate nel repository

452</h3>469</h3>

Details

1958* Una sostituzione di comando, una subshell o un blocco di controllo di flusso come `if` o `for`1958* Una sostituzione di comando, una subshell o un blocco di controllo di flusso come `if` o `for`

1959* Un reindirizzamento, come `docker build . > build.log`, diverso da uno che duplica solo un descrittore di file, come `2>&1`1959* Un reindirizzamento, come `docker build . > build.log`, diverso da uno che duplica solo un descrittore di file, come `2>&1`

1960* Un nome di comando che proviene da una variabile1960* Un nome di comando che proviene da una variabile

1961* Un `git clone`, `git init`, `git worktree add`, `git worktree move` o `git bundle create` con un argomento di percorso che è assoluto, inizia con `~` o contiene un segmento `..`

1961 1962 

1962Ad esempio, `cd build && docker compose up` rimane in sandbox sotto una voce `docker *`, e aggiungere una voce `cd` non cambia questo.1963Ad esempio, `cd build && docker compose up` rimane in sandbox sotto una voce `docker *`, e aggiungere una voce `cd` non cambia questo. Sotto una voce `git *`, `git clone <url> vendor/lib` viene eseguito al di fuori della sandbox, ma `git clone <url> ~/tools` rimane in sandbox. Un clone scrive un intero albero di file, possibilmente eseguibili, ovunque punti il suo percorso di destinazione.

1963 1964 

1964I comandi esclusi seguono comunque il flusso di autorizzazione regolare. L'esclusione è una comodità, non un confine di sicurezza: preferisci [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) quando uno strumento ha solo bisogno di scrivere da qualche parte di specifico. Claude Code unisce le voci in ogni ambito di impostazioni che la sessione carica, e non c'è un blocco solo gestito per questo elenco, quindi mantieni un elenco gestito ristretto.1965I comandi esclusi seguono comunque il flusso di autorizzazione regolare. L'esclusione è una comodità, non un confine di sicurezza: preferisci [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) quando uno strumento ha solo bisogno di scrivere da qualche parte di specifico. Claude Code unisce le voci in ogni ambito di impostazioni che la sessione carica, e non c'è un blocco solo gestito per questo elenco, quindi mantieni un elenco gestito ristretto.

1965 1966 


4258<span id="hook-and-skill-settings" />4259<span id="hook-and-skill-settings" />

4259 4260 

4260<h2 id="hooks-and-automation">4261<h2 id="hooks-and-automation">

4261 Hooks e automazione4262 Hook e automazione

4262</h2>4263</h2>

4263 4264 

4264Registra gli hooks, limita quali hooks vengono eseguiti e controlla i flussi di lavoro. Per gli eventi e i payload degli hooks, consulta il [riferimento degli hooks](/docs/it/hooks).4265Registra gli hook, limita quali hook vengono eseguiti e controlla i workflow. Per gli eventi e i payload degli hook, consulta il [riferimento degli hook](/docs/it/hooks).

4265 4266 

4266<h3 id="allowedhttphookurls">4267<h3 id="allowedhttphookurls">

4267 `allowedHttpHookUrls`4268 `allowedHttpHookUrls`

4268</h3>4269</h3>

4269 4270 

4270Limita gli URL che gli [HTTP hooks](/docs/it/hooks#http-hook-fields) possono raggiungere. Quando definisci questa chiave, Claude Code esegue un HTTP hook solo se il suo URL corrisponde a uno dei modelli e blocca il resto senza eseguirli; un array vuoto blocca ogni HTTP hook.4271Limita gli URL che gli [HTTP hook](/docs/it/hooks#http-hook-fields) possono raggiungere. Quando definisci questa chiave, Claude Code esegue un HTTP hook solo se il suo URL corrisponde a uno dei modelli e blocca il resto senza eseguirli; un array vuoto blocca ogni HTTP hook.

4271 4272 

4272* **Scope**: [`Any file`](#scopes). Gli array si uniscono tra i file di impostazioni.4273* **Scope**: [`Any file`](#scopes). Degli array viene eseguito il merge tra i file di impostazioni.

4273* **Type**: array di modelli URL, con `*` come carattere jolly4274* **Type**: array di modelli URL, con `*` come carattere jolly

4274* **Default**: non impostato, quindi qualsiasi URL è consentito4275* **Default**: non impostato, quindi qualsiasi URL è consentito

4275 4276 


4281}4282}

4282```4283```

4283 4284 

4284La corrispondenza del nome host non distingue tra maiuscole e minuscole e tratta `hooks.example.com.`, con il punto finale che contrassegna un nome di dominio completamente qualificato, allo stesso modo di `hooks.example.com`, come fa il DNS. L'elenco di autorizzazione si applica agli hooks da ogni fonte, incluse le impostazioni gestite.4285La corrispondenza del nome host non distingue tra maiuscole e minuscole e tratta `hooks.example.com.`, con il punto finale che contrassegna un nome di dominio completamente qualificato, allo stesso modo di `hooks.example.com`, come fa il DNS. L'allowlist si applica agli hook da ogni fonte, incluse le impostazioni gestite.

4285 4286 

4286<h3 id="allowmanagedhooksonly">4287<h3 id="allowmanagedhooksonly">

4287 `allowManagedHooksOnly`4288 `allowManagedHooksOnly`

4288</h3>4289</h3>

4289 4290 

4290Limita l'esecuzione degli hooks agli hooks che la tua organizzazione distribuisce.4291Limita l'esecuzione degli hook agli hook che la tua organizzazione distribuisce.

4291 4292 

4292* **Scope**: [`Managed`](#scopes)4293* **Scope**: [`Managed`](#scopes)

4293* **Type**: Boolean4294* **Type**: Boolean

4294 * `true`: solo gli hooks gestiti vengono eseguiti, più gli hooks dell'Agent SDK e gli hooks dai plugin che le tue impostazioni gestite forzano l'abilitazione. Vedi [Cosa viene eseguito sotto `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)4295 * `true`: solo gli hook gestiti vengono eseguiti, più gli hook dell'Agent SDK e gli hook dai plugin che le tue impostazioni gestite forzano ad abilitare. Vedi [Cosa viene eseguito sotto `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)

4295 * `false`: gli hooks da ogni scope di impostazioni e plugin vengono eseguiti4296 * `false`: gli hook da ogni ambito di impostazioni e plugin vengono eseguiti

4296* **Default**: non impostato, quindi gli hooks da ogni scope di impostazioni e plugin vengono eseguiti4297* **Default**: non impostato, quindi gli hook da ogni ambito di impostazioni e plugin vengono eseguiti

4297 4298 

4298```json managed-settings.json theme={null}4299```json managed-settings.json theme={null}

4299{4300{


4305 Cosa viene eseguito sotto `allowManagedHooksOnly`4306 Cosa viene eseguito sotto `allowManagedHooksOnly`

4306</h4>4307</h4>

4307 4308 

4308Quando lo imposti su `true`, Claude Code cambia quali hooks e comandi simili agli hooks vengono caricati:4309Quando lo imposti su `true`, Claude Code cambia quali hook e comandi simili agli hook vengono caricati:

4309 4310 

4310* **Gli hooks gestiti e SDK vengono eseguiti**: gli hooks dalle impostazioni gestite e gli hooks che l'[Agent SDK](/docs/it/agent-sdk/overview) registra nel processo4311* **Gli hook gestiti e SDK vengono eseguiti**: gli hook dalle impostazioni gestite e gli hook che l'[Agent SDK](/docs/it/agent-sdk/overview) registra nel processo

4311* **Gli hooks dei plugin forzati vengono eseguiti**: gli hooks dai plugin che le tue impostazioni gestite forzano l'abilitazione tramite [`enabledPlugins`](#enabledplugins). Claude Code corrisponde all'ID completo `plugin@marketplace`, quindi un plugin con lo stesso nome da un marketplace diverso rimane bloccato. Questo ti consente di distribuire hooks verificati tramite un marketplace dell'organizzazione mentre blocchi tutto il resto. Un [mod](/docs/it/plugins/mods/overview) in tale plugin viene caricato solo quando [conta come quello della tua organizzazione](/docs/it/plugins/mods/admin#install-your-organizations-mods)4312* **Gli hook dei plugin forzati vengono eseguiti**: gli hook dai plugin che le tue impostazioni gestite forzano ad abilitare tramite [`enabledPlugins`](#enabledplugins). Claude Code confronta l'ID completo `plugin@marketplace`, quindi un plugin con lo stesso nome da un marketplace diverso rimane bloccato. Questo ti consente di distribuire hook verificati tramite un marketplace dell'organizzazione mentre blocchi tutto il resto. Un [mod](/docs/it/plugins/mods/overview) in tale plugin viene caricato solo quando [conta come quello della tua organizzazione](/docs/it/plugins/mods/admin#install-your-organizations-mods)

4312* **Tutto il resto è bloccato**: gli hooks dell'utente, del progetto e locali, gli hooks e i mod da altri plugin installati e gli hooks dichiarati nel frontmatter dell'agente. I [mod integrati in Claude Code](/docs/it/plugins/mods/overview#mods-built-into-claude-code) continuano a essere eseguiti. Per bloccare solo i mod degli utenti, imposta [`allowManagedModsOnly`](/docs/it/plugins/mods/admin#set-options-on-the-built-in-guard) invece.4313* **Tutto il resto è bloccato**: gli hook dell'utente, del progetto e locali, gli hook e i mod da altri plugin installati e gli hook dichiarati nel frontmatter dell'agente. I [mod integrati in Claude Code](/docs/it/plugins/mods/overview#mods-built-into-claude-code) continuano a essere eseguiti. Per bloccare solo i mod degli utenti, imposta invece [`allowManagedModsOnly`](/docs/it/plugins/mods/admin#set-options-on-the-built-in-guard).

4313* **I plugin con origine comando sono disabilitati**: Claude Code disabilita anche i plugin con un'[origine `command`](/docs/it/plugins/marketplace-reference#command-plugin-source), inclusi i plugin forzati abilitati in `enabledPlugins` gestito, a meno che tu non imposti [`disableCommandPluginSources`](#disablecommandpluginsources) su `false` esplicitamente4314* **I plugin con origine comando sono disabilitati**: Claude Code disabilita anche i plugin con un'[origine `command`](/docs/it/plugins/marketplace-reference#command-plugin-source), inclusi i plugin forzati abilitati in `enabledPlugins` gestito, a meno che tu non imposti [`disableCommandPluginSources`](#disablecommandpluginsources) su `false` esplicitamente

4314* **I comandi marketplace `headersHelper` sono bloccati**: Claude Code blocca anche i comandi marketplace [`headersHelper`](/docs/it/plugins/host-marketplace#authenticate-archive-downloads) a meno che [`disableCommandPluginSources`](#disablecommandpluginsources) non sia esplicitamente impostato su `false`, ad eccezione di un marketplace che le impostazioni gestite stesse dichiarano. Richiede Claude Code v2.1.238 o successivo4315* **I comandi marketplace `headersHelper` sono bloccati**: Claude Code blocca anche i comandi marketplace [`headersHelper`](/docs/it/plugins/host-marketplace#authenticate-archive-downloads) a meno che [`disableCommandPluginSources`](#disablecommandpluginsources) non sia esplicitamente impostato su `false`, ad eccezione di un marketplace che le impostazioni gestite stesse dichiarano. Richiede Claude Code v2.1.238 o successivo

4315* **La riga di stato e il suggerimento di file si restringono alle impostazioni gestite**: Claude Code legge [`statusLine`](/docs/it/statusline), [`fileSuggestion`](#filesuggestion) e [`subagentStatusLine`](/docs/it/statusline#subagent-status-lines) solo dalle impostazioni gestite, seguendo i [gate della riga di stato e del suggerimento di file](#status-line-and-file-suggestion-gates)4316* **La riga di stato e il suggerimento di file si restringono alle impostazioni gestite**: Claude Code legge [`statusLine`](/docs/it/statusline), [`fileSuggestion`](#filesuggestion) e [`subagentStatusLine`](/docs/it/statusline#subagent-status-lines) solo dalle impostazioni gestite, seguendo i [gate della riga di stato e del suggerimento di file](#status-line-and-file-suggestion-gates)

4316 4317 

4317Il comando [`/goal`](/docs/it/goal) non può essere eseguito mentre questa chiave è impostata, perché dipende dagli hooks.4318Il comando [`/goal`](/docs/it/goal) non può essere eseguito mentre questa chiave è impostata, perché dipende dagli hook.

4318 4319 

4319<h3 id="disableallhooks">4320<h3 id="disableallhooks">

4320 `disableAllHooks`4321 `disableAllHooks`

4321</h3>4322</h3>

4322 4323 

4323Disattiva gli [hooks](/docs/it/hooks#disable-or-remove-hooks), qualsiasi [riga di stato](/docs/it/statusline) personalizzata e qualsiasi comando [suggerimento di file](#filesuggestion) personalizzato. Usalo per disattivare tutti questi temporaneamente senza eliminarli dalle tue impostazioni.4324Disattiva gli [hook](/docs/it/hooks#disable-or-remove-hooks), qualsiasi [riga di stato](/docs/it/statusline) personalizzata e qualsiasi comando [suggerimento di file](#filesuggestion) personalizzato. Usalo per disattivare tutti questi temporaneamente senza eliminarli dalle tue impostazioni.

4324 4325 

4325* **Scope**: [`Any file`](#scopes). Solo le impostazioni gestite possono disabilitare gli hooks gestiti.4326* **Scope**: [`Any file`](#scopes). Solo le impostazioni gestite possono disabilitare gli hook gestiti.

4326* **Type**: Boolean4327* **Type**: Boolean

4327 * `true`: Claude Code disattiva gli hooks, qualsiasi riga di stato personalizzata e qualsiasi comando suggerimento di file personalizzato4328 * `true`: Claude Code disattiva gli hook, qualsiasi riga di stato personalizzata e qualsiasi comando suggerimento di file personalizzato

4328 * `false`: gli hooks, la riga di stato e il comando suggerimento di file vengono eseguiti4329 * `false`: gli hook, la riga di stato e il comando suggerimento di file vengono eseguiti

4329* **Default**: non impostato, quindi gli hooks vengono eseguiti4330* **Default**: non impostato, quindi gli hook vengono eseguiti

4330 4331 

4331```json settings.json theme={null}4332```json settings.json theme={null}

4332{4333{


4336 4337 

4337La portata dipende da quale file contiene la chiave:4338La portata dipende da quale file contiene la chiave:

4338 4339 

4339* **Nelle impostazioni gestite**: Claude Code disabilita ogni hook configurato, inclusi quelli gestiti, e continua a eseguire gli hooks che l'[Agent SDK](/docs/it/agent-sdk/overview) registra nel processo4340* **Nelle impostazioni gestite**: Claude Code disabilita ogni hook configurato, inclusi quelli gestiti, e continua a eseguire gli hook che l'[Agent SDK](/docs/it/agent-sdk/overview) registra nel processo

4340* **In qualsiasi altro file di impostazioni**: Claude Code disabilita gli hooks dell'utente, del progetto, locali e dei plugin; gli hooks gestiti, gli hooks dell'Agent SDK e gli hooks dai plugin forzati abilitati in [`enabledPlugins`](#enabledplugins) gestito continuano a essere eseguiti4341* **In qualsiasi altro file di impostazioni**: Claude Code disabilita gli hook dell'utente, del progetto, locali e dei plugin; gli hook gestiti, gli hook dell'Agent SDK e gli hook dai plugin forzati abilitati in [`enabledPlugins`](#enabledplugins) gestito continuano a essere eseguiti

4341 4342 

4342Mantenere gli hooks dell'Agent SDK in esecuzione quando le impostazioni gestite impostano questa chiave richiede Claude Code v2.1.242 o successivo.4343La chiave arresta anche i [mod](/docs/it/plugins/mods/overview), che sono plugin il cui codice registra hook:

4343 4344 

4344Il comando [`/goal`](/docs/it/goal) non può essere eseguito mentre gli hooks sono disabilitati e il menu `/hooks` mostra un avviso invece dei tuoi hooks.4345* **Nelle impostazioni gestite**: i mod in ogni plugin installato si arrestano, inclusi quelli della tua organizzazione

4346* **In qualsiasi altro file di impostazioni**: i mod che hai installato si arrestano e [i mod della tua organizzazione](/docs/it/plugins/mods/admin#install-your-organizations-mods) continuano a essere eseguiti

4347 

4348I mod integrati in Claude Code continuano a essere eseguiti in entrambi i casi. Ognuno ha [il proprio interruttore](/docs/it/plugins/mods/overview#mods-built-into-claude-code).

4349 

4350Mantenere gli hook dell'Agent SDK in esecuzione quando le impostazioni gestite impostano questa chiave richiede Claude Code v2.1.242 o successivo.

4351 

4352Il comando [`/goal`](/docs/it/goal) non può essere eseguito mentre gli hook sono disabilitati e il menu `/hooks` mostra un avviso invece dei tuoi hook.

4345 4353 

4346<h4 id="status-line-and-file-suggestion-gates">4354<h4 id="status-line-and-file-suggestion-gates">

4347 Gate della riga di stato e del suggerimento di file4355 Gate della riga di stato e del suggerimento di file


4349 4357 

4350Claude Code prende due decisioni per `statusLine`, `fileSuggestion` e `subagentStatusLine`, in questo ordine:4358Claude Code prende due decisioni per `statusLine`, `fileSuggestion` e `subagentStatusLine`, in questo ordine:

4351 4359 

4352* **Disattivato completamente**: quando le impostazioni gestite impostano `disableAllHooks`, o quando la cartella non è attendibile secondo la stessa [regola di trust dell'area di lavoro degli hooks nei file di impostazioni](/docs/it/permissions#what-runs-before-you-trust-a-folder)4360* **Disattivato completamente**: quando le impostazioni gestite impostano `disableAllHooks`, o quando la cartella non è attendibile secondo la stessa [regola di trust del workspace degli hook nei file di impostazioni](/docs/it/permissions#what-runs-before-you-trust-a-folder)

4353* **Ristretto alle impostazioni gestite**: quando [`allowManagedHooksOnly`](#allowmanagedhooksonly) è impostato, quando `disableAllHooks` è `true` al di fuori delle impostazioni gestite dopo l'applicazione della [precedenza delle impostazioni](/docs/it/hooks#disable-or-remove-hooks), o quando avvii Claude Code con `--safe-mode`4361* **Ristretto alle impostazioni gestite**: quando [`allowManagedHooksOnly`](#allowmanagedhooksonly) è impostato, quando `disableAllHooks` è `true` al di fuori delle impostazioni gestite dopo l'applicazione della [precedenza delle impostazioni](/docs/it/hooks#disable-or-remove-hooks), o quando avvii Claude Code con `--safe-mode`

4354 4362 

4355Sotto il restringimento, Claude Code esegue un valore gestito se uno è distribuito. Altrimenti salta il tuo valore senza avviso: la riga di stato è disabilitata e l'autocompletamento `@` torna al suggerimento di file integrato.4363Sotto il restringimento, Claude Code esegue un valore gestito se ne è distribuito uno. Altrimenti salta il tuo valore senza avviso: la riga di stato è disabilitata e l'autocompletamento `@` torna al suggerimento di file integrato.

4356 4364 

4357<h3 id="disableworkflows">4365<h3 id="disableworkflows">

4358 `disableWorkflows`4366 `disableWorkflows`

4359</h3>4367</h3>

4360 4368 

4361Disattiva i [flussi di lavoro dinamici](/docs/it/workflows#turn-workflows-off) e i comandi del flusso di lavoro in bundle per tutti coloro che le tue impostazioni raggiungono, come un'organizzazione tramite impostazioni gestite. Per attivare o disattivare i flussi di lavoro solo per te stesso, usa [`enableWorkflows`](#enableworkflows) invece, che l'interruttore **Dynamic workflows** in `/config` scrive nelle tue impostazioni utente.4369Disattiva i [workflow dinamici](/docs/it/workflows#turn-workflows-off) e i comandi dei workflow in bundle per tutti coloro che le tue impostazioni raggiungono, come un'organizzazione tramite impostazioni gestite. Per attivare o disattivare i workflow solo per te stesso, usa invece [`enableWorkflows`](#enableworkflows), che l'interruttore **Dynamic workflows** in `/config` scrive nelle tue impostazioni utente.

4362 4370 

4363* **Scope**: [`Any file`](#scopes)4371* **Scope**: [`Any file`](#scopes)

4364* **Type**: Boolean4372* **Type**: Boolean

4365 * `true`: Claude Code disattiva i flussi di lavoro dinamici e i comandi del flusso di lavoro in bundle per tutti coloro che le tue impostazioni raggiungono4373 * `true`: Claude Code disattiva i workflow dinamici e i comandi dei workflow in bundle per tutti coloro che le tue impostazioni raggiungono

4366 * `false`: lo stesso di non impostato; se i flussi di lavoro sono attivi dipende da [`enableWorkflows`](#enableworkflows) e dal default del tuo piano4374 * `false`: lo stesso di non impostato; se i workflow sono attivi dipende da [`enableWorkflows`](#enableworkflows) e dal default del tuo piano

4367* **Default**: `false`4375* **Default**: `false`

4368* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/it/env-vars) disattiva i flussi di lavoro per una sessione; qualunque dei due li disattivi, l'altro non può riattivarli4376* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/it/env-vars) disattiva i workflow per una sessione; qualunque dei due li disattivi, l'altro non può riattivarli

4369 4377 

4370```json settings.json theme={null}4378```json settings.json theme={null}

4371{4379{


4377 `enableWorkflows`4385 `enableWorkflows`

4378</h3>4386</h3>

4379 4387 

4380Attiva o disattiva i [flussi di lavoro dinamici](/docs/it/workflows) per te stesso quando il default del tuo piano non è quello che desideri. Appare in `/config` come **Dynamic workflows**, che scrive questa chiave nelle tue impostazioni utente e la rimuove di nuovo quando torni al default del tuo piano. Per disattivare i flussi di lavoro per tutti dalle impostazioni gestite, usa [`disableWorkflows`](#disableworkflows) invece.4388Attiva o disattiva i [workflow dinamici](/docs/it/workflows) per te stesso quando il default del tuo piano non è quello che desideri. Appare in `/config` come **Dynamic workflows**, che scrive questa chiave nelle tue impostazioni utente e la rimuove di nuovo quando torni al default del tuo piano. Per disattivare i workflow per tutti dalle impostazioni gestite, usa invece [`disableWorkflows`](#disableworkflows).

4381 4389 

4382* **Scope**: [`Any file`](#scopes)4390* **Scope**: [`Any file`](#scopes)

4383* **Type**: Boolean4391* **Type**: Boolean

4384 * `true`: Claude Code attiva i flussi di lavoro dinamici per te4392 * `true`: Claude Code attiva i workflow dinamici per te

4385 * `false`: Claude Code disattiva i flussi di lavoro dinamici per te4393 * `false`: Claude Code disattiva i workflow dinamici per te

4386* **Default**: non impostato, quindi i flussi di lavoro sono attivi a meno che tu non sia su un piano Pro, dove sono disattivi4394* **Default**: non impostato, quindi i workflow sono attivi a meno che tu non sia su un piano Pro, dove sono disattivi

4387* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/it/env-vars) disattiva i flussi di lavoro per una sessione, e `true` qui non può riattivarli mentre è impostato4395* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/it/env-vars) disattiva i workflow per una sessione, e `true` qui non può riattivarli mentre è impostato

4388 4396 

4389```json settings.json theme={null}4397```json settings.json theme={null}

4390{4398{


4392}4400}

4393```4401```

4394 4402 

4395[`disableWorkflows`](#disableworkflows) e la politica dei flussi di lavoro della tua organizzazione hanno anche la precedenza: `enableWorkflows: true` non può riattivare i flussi di lavoro mentre una fonte disattiva i flussi di lavoro. Claude Code nasconde la riga `/config` mentre una fonte diversa dalle tue impostazioni utente imposta `enableWorkflows`, o imposta `disableWorkflows` su `true`.4403Anche [`disableWorkflows`](#disableworkflows) e la politica dei workflow della tua organizzazione hanno la precedenza: `enableWorkflows: true` non può riattivare i workflow mentre una qualsiasi fonte li disattiva. Claude Code nasconde la riga di `/config` mentre una fonte diversa dalle tue impostazioni utente imposta `enableWorkflows`, o imposta `disableWorkflows` su `true`.

4396 4404 

4397<h3 id="hooks">4405<h3 id="hooks">

4398 `hooks`4406 `hooks`

4399</h3>4407</h3>

4400 4408 

4401Esegui i tuoi comandi, prompt, agenti, richieste HTTP o strumenti MCP come [hooks](/docs/it/hooks) in punti del ciclo di vita di Claude Code, come prima di una chiamata a uno strumento o quando una sessione inizia; il [riferimento degli hooks](/docs/it/hooks#hook-events) elenca ogni evento, il suo payload e i suoi codici di uscita. Ogni evento è mappato a un elenco di gruppi di matcher, e ogni gruppo elenca i gestori da eseguire quando il matcher si applica.4409Esegui i tuoi comandi, prompt, agenti, richieste HTTP o strumenti MCP come [hook](/docs/it/hooks) in punti del ciclo di vita di Claude Code, come prima di una chiamata a uno strumento o quando una sessione inizia; il [riferimento degli hook](/docs/it/hooks#hook-events) elenca ogni evento, il suo payload e i suoi codici di uscita. Ogni evento è mappato a un elenco di gruppi di matcher, e ogni gruppo elenca i gestori da eseguire quando il matcher si applica.

4402 4410 

4403* **Scope**: [`Any file`](#scopes). Gli hooks si uniscono tra i file piuttosto che sostituirsi a vicenda, e gli hooks dalle impostazioni gestite non possono essere rimossi da altri file.4411* **Scope**: [`Any file`](#scopes). Degli hook viene eseguito il merge tra i file invece di sostituirsi a vicenda, e gli hook dalle impostazioni gestite non possono essere rimossi da altri file.

4404* **Type**: oggetto con chiave [hook event](/docs/it/hooks#hook-events); ogni valore è un array di gruppi `{ "matcher", "hooks" }` le cui voci `hooks` hanno un `type` di `"command"`, `"prompt"`, `"agent"`, `"http"` o `"mcp_tool"`4412* **Type**: oggetto con chiave [hook event](/docs/it/hooks#hook-events); ogni valore è un array di gruppi `{ "matcher", "hooks" }` le cui voci `hooks` hanno un `type` di `"command"`, `"prompt"`, `"agent"`, `"http"` o `"mcp_tool"`

4405* **Default**: non impostato, quindi nessun hook viene eseguito4413* **Default**: non impostato, quindi nessun hook viene eseguito

4406 4414 


4421}4429}

4422```4430```

4423 4431 

4424Per ogni evento, modello di matcher e campo del gestore, consulta il [riferimento degli hooks](/docs/it/hooks#configuration). Per disattivare gli hooks, vedi [`disableAllHooks`](#disableallhooks); per limitare gli hooks a quelli che la tua organizzazione distribuisce, vedi [`allowManagedHooksOnly`](#allowmanagedhooksonly).4432Per ogni evento, modello di matcher e campo del gestore, consulta il [riferimento degli hook](/docs/it/hooks#configuration). Per disattivare gli hook, vedi [`disableAllHooks`](#disableallhooks); per limitare gli hook a quelli che la tua organizzazione distribuisce, vedi [`allowManagedHooksOnly`](#allowmanagedhooksonly).

4425 4433 

4426<h3 id="httphookallowedenvvars">4434<h3 id="httphookallowedenvvars">

4427 `httpHookAllowedEnvVars`4435 `httpHookAllowedEnvVars`

4428</h3>4436</h3>

4429 4437 

4430Un [HTTP hook](/docs/it/hooks#http-hook-fields) può inserire il valore di una variabile di ambiente in un'intestazione di richiesta, ad esempio un'intestazione `Authorization: Bearer $HOOK_TOKEN`, ma solo per le variabili che l'hook elenca nel suo `allowedEnvVars`. Questa chiave imposta un limite esterno su tale elenco per ogni HTTP hook: un hook può utilizzare una variabile solo se sia il suo `allowedEnvVars` che questa chiave la nominano. Usalo per impedire a un hook di leggere un segreto che non dovrebbe, anche quando la definizione dell'hook lo richiede.4438Un [HTTP hook](/docs/it/hooks#http-hook-fields) può inserire il valore di una variabile d'ambiente in un'intestazione di richiesta, ad esempio un'intestazione `Authorization: Bearer $HOOK_TOKEN`, ma solo per le variabili che l'hook elenca nel proprio `allowedEnvVars`. Questa chiave imposta un limite esterno su tale elenco per ogni HTTP hook: un hook può utilizzare una variabile solo se sia il proprio `allowedEnvVars` sia questa chiave la nominano. Usala per impedire a un hook di leggere un segreto che non dovrebbe, anche quando la definizione dell'hook lo richiede.

4431 4439 

4432* **Scope**: [`Any file`](#scopes). Gli array si uniscono tra i file di impostazioni.4440* **Scope**: [`Any file`](#scopes). Degli array viene eseguito il merge tra i file di impostazioni.

4433* **Type**: array di nomi di variabili di ambiente4441* **Type**: array di nomi di variabili d'ambiente

4434* **Default**: non impostato, quindi l'elenco `allowedEnvVars` di ogni hook si applica4442* **Default**: non impostato, quindi si applica l'elenco `allowedEnvVars` di ogni hook

4435 4443 

4436Questo esempio limita l'interpolazione dell'intestazione a `MY_TOKEN` e `HOOK_SECRET`:4444Questo esempio limita l'interpolazione dell'intestazione a `MY_TOKEN` e `HOOK_SECRET`:

4437 4445 


4441}4449}

4442```4450```

4443 4451 

4444L'elenco di autorizzazione si applica agli hooks da ogni fonte, incluse le impostazioni gestite.4452L'allowlist si applica agli hook da ogni fonte, incluse le impostazioni gestite.

4445 4453 

4446<h3 id="workflowkeywordtriggerenabled">4454<h3 id="workflowkeywordtriggerenabled">

4447 `workflowKeywordTriggerEnabled`4455 `workflowKeywordTriggerEnabled`

4448</h3>4456</h3>

4449 4457 

4450Scegli se digitare la parola chiave `ultracode` in un prompt attiva un [flusso di lavoro dinamico](/docs/it/workflows#ask-for-a-workflow-in-your-prompt). Impostalo su `false` per digitare la parola senza attivarne uno.4458Scegli se digitare la parola chiave `ultracode` in un prompt attiva un [workflow dinamico](/docs/it/workflows#ask-for-a-workflow-in-your-prompt). Impostalo su `false` per digitare la parola senza attivarne uno.

4451 4459 

4452* **Scope**: [`Any file`](#scopes). Appare in `/config` come **Ultracode keyword trigger**.4460* **Scope**: [`Any file`](#scopes). Appare in `/config` come **Ultracode keyword trigger**.

4453* **Type**: Boolean4461* **Type**: Boolean

4454 * `true`: digitare `ultracode` in un prompt attiva un flusso di lavoro dinamico4462 * `true`: digitare `ultracode` in un prompt attiva un workflow dinamico

4455 * `false`: puoi digitare la parola senza attivarne uno4463 * `false`: puoi digitare la parola senza attivarne uno

4456* **Default**: `true`4464* **Default**: `true`

4457 4465 


4461}4469}

4462```4470```

4463 4471 

4464L'impostazione dello sforzo `ultracode`, `/workflows` e i comandi del flusso di lavoro salvati non sono interessati.4472L'impostazione dello sforzo `ultracode`, `/workflows` e i comandi dei workflow salvati non sono interessati.

4465 4473 

4466<h3 id="workflowsizeguideline">4474<h3 id="workflowsizeguideline">

4467 `workflowSizeGuideline`4475 `workflowSizeGuideline`

4468</h3>4476</h3>

4469 4477 

4470Imposta il [numero di agenti a cui Claude mira](/docs/it/workflows#set-a-size-guideline) nei flussi di lavoro dinamici che scrive. Claude Code invia il valore a Claude come consiglio, non come limite imposto: `"small"` chiede meno di 5 agenti, `"medium"` meno di 10 e `"large"` meno di 50. Scegli `"small"` quando vuoi limitare ciò che un flusso di lavoro spende. Richiede Claude Code v2.1.219 o successivo.4478Imposta il [numero di agenti a cui Claude mira](/docs/it/workflows#set-a-size-guideline) nei workflow dinamici che scrive. Claude Code invia il valore a Claude come consiglio, non come limite imposto: `"small"` chiede meno di 5 agenti, `"medium"` meno di 10 e `"large"` meno di 50. Scegli `"small"` quando vuoi limitare ciò che un workflow spende. Richiede Claude Code v2.1.219 o successivo.

4471 4479 

4472* **Scope**: [`Any file`](#scopes). Un valore lì ha la precedenza sulla scelta **Dynamic workflow size** in `/config`, che Claude Code memorizza in `~/.claude.json`, e Claude Code nasconde quella riga mentre un file di impostazioni imposta la chiave.4480* **Scope**: [`Any file`](#scopes). Un valore lì ha la precedenza sulla scelta **Dynamic workflow size** in `/config`, che Claude Code memorizza in `~/.claude.json`, e Claude Code nasconde quella riga mentre un file di impostazioni imposta la chiave.

4473* **Type**: stringa, uno di:4481* **Type**: stringa, uno di:

4474 * `"unrestricted"`: nessuna linea guida, quindi Claude dimensiona il flusso di lavoro al compito4482 * `"unrestricted"`: nessuna linea guida, quindi Claude dimensiona il workflow in base al compito

4475 * `"small"`: Claude mira a meno di 5 agenti4483 * `"small"`: Claude mira a meno di 5 agenti

4476 * `"medium"`: Claude mira a meno di 10 agenti4484 * `"medium"`: Claude mira a meno di 10 agenti

4477 * `"large"`: Claude mira a meno di 50 agenti4485 * `"large"`: Claude mira a meno di 50 agenti

4478* **Default**: `"medium"`, o `"small"` quando sei connesso su un piano Pro con Claude Code v2.1.271 o successivo4486* **Default**: `"medium"`, o `"small"` quando hai effettuato l'accesso con un piano Pro con Claude Code v2.1.271 o successivo

4479 4487 

4480```json settings.json theme={null}4488```json settings.json theme={null}

4481{4489{


4483}4491}

4484```4492```

4485 4493 

4486Richiede Claude Code v2.1.219 o successivo; su v2.1.202 attraverso v2.1.218, imposta la linea guida in `/config` invece.4494Richiede Claude Code v2.1.219 o successivo; dalla v2.1.202 alla v2.1.218, imposta invece la linea guida in `/config`.

4487 4495 

4488<span id="plugin-configuration" />4496<span id="plugin-configuration" />

4489 4497 


5995 6003 

5996Gli ultimi due casi si applicano solo quando l'output dell'helper è la credenziale che Claude Code invia e `ANTHROPIC_AUTH_TOKEN` non è impostato.6004Gli ultimi due casi si applicano solo quando l'output dell'helper è la credenziale che Claude Code invia e `ANTHROPIC_AUTH_TOKEN` non è impostato.

5997 6005 

5998Nelle sessioni interattive, quando il comando proviene dalle impostazioni del progetto o locali, Claude Code non lo esegue finché non accetti il prompt di fiducia dell'area di lavoro. Vedi [Gestione delle credenziali](/docs/it/authentication#credential-management).6006Nelle sessioni interattive, quando il comando proviene dalle impostazioni del progetto o locali, Claude Code non lo esegue finché non accetti il prompt di fiducia del workspace. Vedi [Gestione delle credenziali](/docs/it/authentication#credential-management).

5999 6007 

6000<h3 id="awsauthrefresh">6008<h3 id="awsauthrefresh">

6001 `awsAuthRefresh`6009 `awsAuthRefresh`


6003 6011 

6004Esegui il tuo comando, come `aws sso login`, per aggiornare le credenziali nella tua directory `.aws` quando quelle che Claude Code ha per [Amazon Bedrock](/docs/it/amazon-bedrock) smettono di funzionare. Claude Code controlla prima le credenziali attuali rispetto a STS ed esegue il comando solo quando quel controllo fallisce, quindi legge la directory `.aws` aggiornata.6012Esegui il tuo comando, come `aws sso login`, per aggiornare le credenziali nella tua directory `.aws` quando quelle che Claude Code ha per [Amazon Bedrock](/docs/it/amazon-bedrock) smettono di funzionare. Claude Code controlla prima le credenziali attuali rispetto a STS ed esegue il comando solo quando quel controllo fallisce, quindi legge la directory `.aws` aggiornata.

6005 6013 

6014Quando il controllo fallisce contemporaneamente in più processi Claude Code che usano lo stesso comando e le stesse credenziali, come terminali separati o finestre dell'IDE, un processo esegue il comando e gli altri attendono quell'esecuzione invece di avviarne una propria. Un processo che ha atteso 60 secondi con una richiesta in sospeso esegue il comando da solo. Per disattivare questo comportamento, imposta [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/it/env-vars) su `1`.

6015 

6006* **Scope**: [`Any file`](#scopes)6016* **Scope**: [`Any file`](#scopes)

6007* **Type**: string, una riga di comando shell6017* **Type**: string, una riga di comando shell

6008* **Default**: non impostato, quindi Claude Code non aggiorna le credenziali AWS per te6018* **Default**: non impostato, quindi Claude Code non aggiorna le credenziali AWS per te


6054 6064 

6055Ogni percorso di accesso di prima parte applica la restrizione, inclusa l'[estensione VS Code](/docs/it/vs-code), l'Agent SDK, `claude setup-token`, e `/install-github-app`, ad eccezione della schermata di accesso interattiva del terminale, raggiunta da `/login` o dall'onboarding al primo avvio, che pre-seleziona il metodo senza applicarlo. Prima della v2.1.212, solo gli accessi al terminale lo applicavano. Vedi [Limita l'accesso alla tua organizzazione](/docs/it/authentication#restrict-login-to-your-organization) per come ogni percorso di accesso, le credenziali ambientali e i provider di terze parti vengono gestiti.6065Ogni percorso di accesso di prima parte applica la restrizione, inclusa l'[estensione VS Code](/docs/it/vs-code), l'Agent SDK, `claude setup-token`, e `/install-github-app`, ad eccezione della schermata di accesso interattiva del terminale, raggiunta da `/login` o dall'onboarding al primo avvio, che pre-seleziona il metodo senza applicarlo. Prima della v2.1.212, solo gli accessi al terminale lo applicavano. Vedi [Limita l'accesso alla tua organizzazione](/docs/it/authentication#restrict-login-to-your-organization) per come ogni percorso di accesso, le credenziali ambientali e i provider di terze parti vengono gestiti.

6056 6066 

6057Quando una fonte gestita sulla macchina imposta `"gateway"`, Claude Code non utilizza un accesso residuo, una chiave API o una credenziale `apiKeyHelper`. Vedi [La policy dell'amministratore richiede un accesso Cloud gateway](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in) per il messaggio che ognuno produce. Se selezioni un provider cloud tramite `CLAUDE_CODE_USE_BEDROCK` o una variabile di ambiente simile, la sessione non ha bisogno dell'accesso al gateway. Prima della v2.1.261, Claude Code utilizzava un accesso residuo su queste macchine.6067Quando una fonte gestita sulla macchina imposta `"gateway"`, Claude Code non utilizza un accesso residuo, una chiave API o una credenziale `apiKeyHelper`. Vedi [La policy dell'amministratore richiede un accesso Cloud gateway](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in) per il messaggio che ognuno produce. Se selezioni un provider cloud tramite `CLAUDE_CODE_USE_BEDROCK` o una variabile d'ambiente simile, la sessione non ha bisogno dell'accesso al gateway. Prima della v2.1.261, Claude Code utilizzava un accesso residuo su queste macchine.

6058 6068 

6059<h3 id="forcelogingatewayurl">6069<h3 id="forcelogingatewayurl">

6060 `forceLoginGatewayUrl`6070 `forceLoginGatewayUrl`


6064 6074 

6065O questa chiave o `forceLoginMethod: "gateway"` rende la macchina solo gateway, ad eccezione delle sessioni che selezionano un provider cloud con `CLAUDE_CODE_USE_*`. `/login` si apre quindi sulla schermata Cloud gateway senza un selettore di metodo di accesso. Vedi [La policy dell'amministratore richiede un accesso Cloud gateway](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in) per cosa succede a un accesso di prima parte residuo o a una chiave API. Imposta entrambe le chiavi in modo che la schermata si connetta invece di mostrare un errore.6075O questa chiave o `forceLoginMethod: "gateway"` rende la macchina solo gateway, ad eccezione delle sessioni che selezionano un provider cloud con `CLAUDE_CODE_USE_*`. `/login` si apre quindi sulla schermata Cloud gateway senza un selettore di metodo di accesso. Vedi [La policy dell'amministratore richiede un accesso Cloud gateway](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in) per cosa succede a un accesso di prima parte residuo o a una chiave API. Imposta entrambe le chiavi in modo che la schermata si connetta invece di mostrare un errore.

6066 6076 

6067* **Scope**: [`Managed`](#scopes). Leggi solo da una fonte sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, o un helper di policy. Claude Code lo ignora nelle impostazioni HKCU e gestite dal server.6077* **Scope**: [`Managed`](#scopes). Letto solo da una fonte sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, o un helper di policy. Claude Code lo ignora nelle impostazioni HKCU e gestite dal server.

6068* **Type**: string, un URL completo incluso lo schema6078* **Type**: string, un URL completo incluso lo schema

6069* **Default**: non impostato, quindi la schermata Cloud gateway mostra un errore che dice alle persone di contattare il loro amministratore IT6079* **Default**: non impostato, quindi la schermata Cloud gateway mostra un errore che dice alle persone di contattare il loro amministratore IT

6070 6080 


6106 6116 

6107Senza questa chiave, `/login` si connette a qualsiasi gateway su un indirizzo privato e nient'altro. Con essa, `/login` accetta anche un gateway all'interno di un blocco elencato, solo su una connessione diretta. L'indirizzo della macchina stessa su quella connessione deve essere anche all'interno dello stesso blocco.6117Senza questa chiave, `/login` si connette a qualsiasi gateway su un indirizzo privato e nient'altro. Con essa, `/login` accetta anche un gateway all'interno di un blocco elencato, solo su una connessione diretta. L'indirizzo della macchina stessa su quella connessione deve essere anche all'interno dello stesso blocco.

6108 6118 

6109* **Scope**: [`Managed`](#scopes). Leggi solo da una fonte sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, o un helper di policy. Claude Code lo ignora nelle impostazioni HKCU e gestite dal server.6119* **Scope**: [`Managed`](#scopes). Letto solo da una fonte sulla macchina: `managed-settings.json`, il plist macOS o il registro HKLM di Windows, o un helper di policy. Claude Code lo ignora nelle impostazioni HKCU e gestite dal server.

6110* **Type**: array di stringhe, al massimo quattro blocchi IPv4 CIDR, ognuno `/8` a `/32`, non sovrapponendosi l'uno con l'altro, e nessuno che si sovrappone allo spazio privato.6120* **Type**: array di stringhe, al massimo quattro blocchi IPv4 CIDR, ognuno da `/8` a `/32`, non sovrapposti l'uno all'altro, e nessuno che si sovrappone allo spazio privato.

6111* **Default**: non impostato, quindi `/login` accetta solo gateway su indirizzi privati6121* **Default**: non impostato, quindi `/login` accetta solo gateway su indirizzi privati

6112 6122 

6113```json managed-settings.json theme={null}6123```json managed-settings.json theme={null}


6124 `gcpAuthRefresh`6134 `gcpAuthRefresh`

6125</h3>6135</h3>

6126 6136 

6127Esegui il tuo comando per aggiornare le credenziali predefinite dell'applicazione Google Cloud quando Claude Code scopre che sono scadute o non possono essere caricate, in modo che le richieste di [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) continuino a funzionare senza che tu ti autentica di nuovo manualmente.6137Esegui il tuo comando per aggiornare le credenziali predefinite dell'applicazione Google Cloud quando Claude Code scopre che sono scadute o non possono essere caricate, in modo che le richieste di [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) continuino a funzionare senza che tu ti autentichi di nuovo manualmente.

6138 

6139Quando più processi Claude Code che usano lo stesso comando e le stesse credenziali, come terminali separati o finestre dell'IDE, le trovano scadute contemporaneamente, un processo esegue il comando e gli altri attendono quell'esecuzione invece di avviarne una propria. Un processo che ha atteso 60 secondi con una richiesta in sospeso esegue il comando da solo. Per disattivare questo comportamento, imposta [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/it/env-vars) su `1`.

6128 6140 

6129* **Scope**: [`Any file`](#scopes)6141* **Scope**: [`Any file`](#scopes)

6130* **Type**: string, una riga di comando shell6142* **Type**: string, una riga di comando shell

Details

22| `curl: (23)` o `curl: (56) Failure writing output to destination` | [Controlla la connettività o usa un programma di installazione alternativo](#curl-56-failure-writing-output-to-destination) |22| `curl: (23)` o `curl: (56) Failure writing output to destination` | [Controlla la connettività o usa un programma di installazione alternativo](#curl-56-failure-writing-output-to-destination) |

23| `Killed` durante l'installazione su Linux, o `Installation was killed before it could finish (exit code 137)` | [Libera memoria o aggiungi spazio di swap](#install-killed-on-low-memory-linux-servers) |23| `Killed` durante l'installazione su Linux, o `Installation was killed before it could finish (exit code 137)` | [Libera memoria o aggiungi spazio di swap](#install-killed-on-low-memory-linux-servers) |

24| `Raw mode is not supported` durante l'installazione | [Riesegui il programma di installazione](#raw-mode-is-not-supported-during-install) |24| `Raw mode is not supported` durante l'installazione | [Riesegui il programma di installazione](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` durante l'installazione | [Correggi i permessi della directory di installazione](#permission-errors-during-installation) |

25| `TLS connect error` o `SSL/TLS secure channel` | [Aggiorna i certificati CA](#tls-or-ssl-connection-errors) |26| `TLS connect error` o `SSL/TLS secure channel` | [Aggiorna i certificati CA](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |27| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |

27| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |28| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |


295 Controlla i permessi della directory296 Controlla i permessi della directory

296</h3>297</h3>

297 298 

298Il programma di installazione ha bisogno di accesso in scrittura a `~/.local/bin/` e `~/.claude/` su macOS e Linux. Su Windows la posizione di installazione è sotto `%USERPROFILE%`, che è scrivibile dal tuo utente per impostazione predefinita, quindi questa sezione raramente si applica lì.299Un'installazione che non riesce a causa dei permessi indica il percorso che non è riuscita a creare o in cui non è riuscita a scrivere. Su Windows l'installazione scrive sotto `%USERPROFILE%`, che è scrivibile dal tuo utente per impostazione predefinita, quindi questa sezione raramente si applica lì.

300 

301Su macOS e Linux l'installazione scrive in queste posizioni:

302 

303* `~/.claude/downloads/`: dove il comando di installazione mette il binario scaricato

304* `~/.local/bin/`: il launcher `claude`

305* `~/.local/share/claude/`: ogni versione che scarica

306* `~/.local/state/claude/`: i suoi file di lock

307* `~/.cache/claude/`: i download in staging

308* [`~/.claude.json`](/docs/it/claude-directory): il tuo file di configurazione globale, dove il programma di installazione registra il metodo di installazione

309 

310Se imposti `XDG_DATA_HOME`, `XDG_STATE_HOME` o `XDG_CACHE_HOME`, l'installazione usa questi al posto di `~/.local/share`, `~/.local/state` e `~/.cache`. Se imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars), il file di configurazione globale si trova in quella directory invece che nella tua directory home.

299 311 

300Controlla se le directory sono scrivibili:312Controlla se le directory sono scrivibili:

301 313 


1043 Questa organizzazione è stata disabilitata con un abbonamento attivo1055 Questa organizzazione è stata disabilitata con un abbonamento attivo

1044</h3>1056</h3>

1045 1057 

1046Se vedi `API Error: 400 ... "This organization has been disabled"` nonostante tu abbia un abbonamento Claude attivo, una variabile di ambiente `ANTHROPIC_API_KEY` sta sostituendo il tuo abbonamento. Questo accade comunemente quando una vecchia chiave API da un precedente datore di lavoro o progetto è ancora impostata nel tuo profilo shell.1058Se vedi `API Error: 400 ... "This organization has been disabled"` nonostante tu abbia un abbonamento Claude attivo, una variabile d'ambiente `ANTHROPIC_API_KEY` sta sostituendo il tuo abbonamento. Questo accade comunemente quando una vecchia chiave API da un precedente datore di lavoro o progetto è ancora impostata nel tuo profilo shell.

1047 1059 

1048Quando `ANTHROPIC_API_KEY` è presente e l'hai approvato, Claude Code utilizza quella chiave invece delle credenziali OAuth del tuo abbonamento. In modalità non interattiva con il flag `-p`, la chiave viene sempre utilizzata quando presente. Vedi [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) per l'ordine di risoluzione completo.1060Quando `ANTHROPIC_API_KEY` è presente e l'hai approvato, Claude Code utilizza quella chiave invece delle credenziali OAuth del tuo abbonamento. In modalità non interattiva con il flag `-p`, la chiave viene sempre utilizzata quando presente. Vedi [precedenza di autenticazione](/docs/it/authentication#authentication-precedence) per l'ordine di risoluzione completo.

1049 1061 

1050Per usare il tuo abbonamento invece, annulla l'impostazione della variabile di ambiente e rimuovila dal tuo profilo shell:1062Per usare il tuo abbonamento invece, annulla l'impostazione della variabile d'ambiente e rimuovila dal tuo profilo shell:

1051 1063 

1052<Tabs>1064<Tabs>

1053 <Tab title="macOS/Linux">1065 <Tab title="macOS/Linux">


1065 </Tab>1077 </Tab>

1066</Tabs>1078</Tabs>

1067 1079 

1068Controlla `~/.zshrc`, `~/.bashrc`, o `~/.profile` per le righe `export ANTHROPIC_API_KEY=...` e rimuovile per rendere il cambiamento permanente. Su Windows, controlla il tuo profilo PowerShell in `$PROFILE` e le tue variabili di ambiente dell'utente per `ANTHROPIC_API_KEY`. Esegui `/status` all'interno di Claude Code per confermare quale metodo di autenticazione è attivo.1080Controlla `~/.zshrc`, `~/.bashrc`, o `~/.profile` per le righe `export ANTHROPIC_API_KEY=...` e rimuovile per rendere il cambiamento permanente. Su Windows, controlla il tuo profilo PowerShell in `$PROFILE` e le tue variabili d'ambiente dell'utente per `ANTHROPIC_API_KEY`. Esegui `/status` all'interno di Claude Code per confermare quale metodo di autenticazione è attivo.

1069 1081 

1070<h3 id="oauth-login-fails-in-wsl2-ssh-or-containers">1082<h3 id="oauth-login-fails-in-wsl2-ssh-or-containers">

1071 L'accesso OAuth non riesce in WSL2, SSH o container1083 L'accesso OAuth non riesce in WSL2, SSH o container


1073 1085 

1074Quando Claude Code viene eseguito in WSL2, su una macchina remota tramite SSH, o all'interno di un container, il browser di solito si apre su un host diverso e il suo reindirizzamento non può raggiungere il server di callback locale di Claude Code. Dopo che accedi, il browser mostra un codice di accesso invece di reindirizzare automaticamente. Incolla quel codice nel terminale al prompt `Paste code here if prompted` per completare l'accesso.1086Quando Claude Code viene eseguito in WSL2, su una macchina remota tramite SSH, o all'interno di un container, il browser di solito si apre su un host diverso e il suo reindirizzamento non può raggiungere il server di callback locale di Claude Code. Dopo che accedi, il browser mostra un codice di accesso invece di reindirizzare automaticamente. Incolla quel codice nel terminale al prompt `Paste code here if prompted` per completare l'accesso.

1075 1087 

1076Se il browser non si apre affatto da WSL2, imposta la variabile di ambiente `BROWSER` al percorso del tuo browser Windows:1088Se il browser non si apre affatto da WSL2, imposta la variabile d'ambiente `BROWSER` al percorso del tuo browser Windows:

1077 1089 

1078```bash theme={null}1090```bash theme={null}

1079export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"1091export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"


1098 1110 

1099Esegui `/login` per re-autenticarti. Se questo accade frequentemente, controlla che l'orologio di sistema sia accurato, poiché la convalida del token dipende da timestamp corretti.1111Esegui `/login` per re-autenticarti. Se questo accade frequentemente, controlla che l'orologio di sistema sia accurato, poiché la convalida del token dipende da timestamp corretti.

1100 1112 

1101Le sessioni parallele su una macchina condividono un accesso salvato e coordinano il suo rinnovo in modo che solo un processo aggiorni il token alla volta. Prima della v2.1.211, il risveglio della macchina dal sonno potrebbe causare a due sessioni di rinnovare con lo stesso token, il che revocava l'accesso salvato e richiedeva a ogni sessione aperta di accedere di nuovo contemporaneamente.1113Le sessioni parallele su una macchina condividono un accesso salvato e coordinano il suo rinnovo in modo che solo un processo aggiorni il token alla volta. Per sapere cosa fanno le altre sessioni dopo che accedi di nuovo in una di esse, vedi [Non connesso](/docs/it/errors#not-logged-in).

1114 

1115Prima della v2.1.211, il risveglio della macchina dal sonno poteva causare a due sessioni di rinnovare con lo stesso token, il che revocava l'accesso salvato e richiedeva a ogni sessione aperta di accedere di nuovo contemporaneamente.

1102 1116 

1103Su macOS, Claude Code salva le credenziali nel Keychain di accesso. Quando il Keychain rifiuta la scrittura, ad esempio quando è bloccato in una sessione SSH o la sua password non è sincronizzata con la password del tuo account, Claude Code salva il tuo accesso nel file di testo semplice `~/.claude/.credentials.json` invece. Un accesso alla Console che crea una chiave API non riesce finché il Keychain non è di nuovo scrivibile.1117Su macOS, Claude Code salva le credenziali nel Keychain di accesso. Quando il Keychain rifiuta la scrittura, ad esempio quando è bloccato in una sessione SSH o la sua password non è sincronizzata con la password del tuo account, Claude Code salva il tuo accesso nel file di testo semplice `~/.claude/.credentials.json` invece. Un accesso alla Console che crea una chiave API non riesce finché il Keychain non è di nuovo scrivibile.

1104 1118 


1150az login1164az login

1151```1165```

1152 1166 

1153Se le credenziali funzionano nel tuo terminale ma non nell'estensione VS Code o JetBrains, il processo IDE probabilmente non ha ereditato il tuo ambiente shell. Imposta le variabili di ambiente del provider nelle impostazioni dell'IDE stesso, o avvia l'IDE da un terminale dove sono già esportate.1167Se le credenziali funzionano nel tuo terminale ma non nell'estensione VS Code o JetBrains, il processo IDE probabilmente non ha ereditato il tuo ambiente shell. Imposta le variabili d'ambiente del provider nelle impostazioni dell'IDE stesso, o avvia l'IDE da un terminale dove sono già esportate.

1154 1168 

1155Vedi [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), o [Microsoft Foundry](/docs/it/microsoft-foundry) per la configurazione completa del provider.1169Vedi [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), o [Microsoft Foundry](/docs/it/microsoft-foundry) per la configurazione completa del provider.

1156 1170 

Details

803. Sposta il lavoro su file di grandi dimensioni a un [subagent](/docs/it/sub-agents) in modo che venga eseguito in una finestra di contesto separata803. Sposta il lavoro su file di grandi dimensioni a un [subagent](/docs/it/sub-agents) in modo che venga eseguito in una finestra di contesto separata

814. Esegui `/clear` se la conversazione precedente non è più necessaria814. Esegui `/clear` se la conversazione precedente non è più necessaria

82 82 

83Se l'errore si ripresenta dopo un `/clear`, esegui [`/context`](/docs/it/debug-your-config) e confronta la riga `Messages` con le righe sopra di essa:

84 

85* **`Messages` è la riga più grande**: un file o un output di uno strumento nella nuova conversazione sta riempiendo di nuovo la finestra, quindi ripeti i passaggi da 1 a 3

86* **Le altre righe insieme sono più grandi**: ciò che viene caricato all'avvio della sessione lascia troppo poco spazio per lavorare, quindi [riduci ciò che viene caricato all'avvio](/docs/it/errors#prompt-is-too-long)

87 

83<h3 id="command-hangs-or-freezes">88<h3 id="command-hangs-or-freezes">

84 Command hangs or freezes89 Command hangs or freezes

85</h3>90</h3>

worktrees.md +2 −0

Details

131 131 

132I worktree dei subagent utilizzano lo stesso [branch di base](#choose-the-base-branch) di `--worktree`, quindi si diramano dal branch predefinito del vostro repository a meno che `worktree.baseRef` non sia impostato su `"head"`.132I worktree dei subagent utilizzano lo stesso [branch di base](#choose-the-base-branch) di `--worktree`, quindi si diramano dal branch predefinito del vostro repository a meno che `worktree.baseRef` non sia impostato su `"head"`.

133 133 

134Un subagent nel proprio worktree prende i file di istruzioni con cui [viene avviato](/docs/it/sub-agents#what-loads-at-startup) dalla tua conversazione principale, non dal suo worktree. Quando quel worktree si trova nella posizione predefinita in `.claude/worktrees/`, il subagent inoltre non carica il file `CLAUDE.md` o la directory `.claude/rules/` nella radice del worktree mentre legge i file lì, anche se differiscono nel branch del worktree.

135 

134<h3 id="clean-up-subagent-and-background-session-worktrees">136<h3 id="clean-up-subagent-and-background-session-worktrees">

135 Pulire i worktree dei subagent e della sessione in background137 Pulire i worktree dei subagent e della sessione in background

136</h3>138</h3>