SpyBara
Go Premium

Documentation 2026-10-06 23:59 UTC to 2026-10-07 20:57 UTC

66 files changed +1,772 −1,555. View all changes and history on the product overview
2026
Wed 7 20:57 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +2 −2

Details

63 63 

64Per impostazione predefinita, WSL legge solo il percorso del file Linux in `/etc/claude-code`. Per estendere la tua policy del registro Windows e `C:\Program Files\ClaudeCode` a WSL sulla stessa macchina, imposta [`wslInheritsWindowsSettings: true`](/docs/it/settings-reference#wslinheritswindowssettings) in una di quelle fonti solo amministratore di Windows.64Per impostazione predefinita, WSL legge solo il percorso del file Linux in `/etc/claude-code`. Per estendere la tua policy del registro Windows e `C:\Program Files\ClaudeCode` a WSL sulla stessa macchina, imposta [`wslInheritsWindowsSettings: true`](/docs/it/settings-reference#wslinheritswindowssettings) in una di quelle fonti solo amministratore di Windows.

65 65 

66Qualunque meccanismo tu scelga, i valori gestiti hanno la precedenza sulle impostazioni dell'utente e del progetto, a parte alcuni [eccezioni](/docs/it/settings#exceptions-to-managed-settings-precedence) sensibili alla sicurezza. Le impostazioni di array come `permissions.allow` e `permissions.deny` uniscono le voci da tutte le fonti, quindi gli sviluppatori possono estendere gli elenchi gestiti ma non rimuovere da essi. Per `fallbackModel`, `availableModels`, e [`modelPicker`](/docs/it/settings-reference#modelpicker), il valore gestito sostituisce i livelli inferiori piuttosto che unirsi.66Qualunque meccanismo tu scelga, i valori gestiti hanno la precedenza sulle impostazioni dell'utente e del progetto, a parte alcune [eccezioni](/docs/it/settings#exceptions-to-managed-settings-precedence) sensibili alla sicurezza. Per le impostazioni di array come `permissions.allow` e `permissions.deny` viene eseguito il merge delle voci da tutte le fonti, quindi gli sviluppatori possono estendere gli elenchi gestiti ma non rimuovere da essi. Per `fallbackModel`, `availableModels`, e [`modelPicker`](/docs/it/settings-reference#modelpicker), il valore gestito sostituisce i livelli inferiori anziché essere sottoposto a merge.

67 67 

68<h3 id="wsl-sessions-in-claude-code-desktop">68<h3 id="wsl-sessions-in-claude-code-desktop">

69 Sessioni WSL in Claude Code Desktop69 Sessioni WSL in Claude Code Desktop


78 78 

79Desktop legge la policy ogni volta che inizia una sessione WSL, quindi non è necessario riavviare l'app dopo averla distribuita.79Desktop legge la policy ogni volta che inizia una sessione WSL, quindi non è necessario riavviare l'app dopo averla distribuita.

80 80 

81Se un dispositivo rifiuta ancora le sessioni WSL, apri **Help > Troubleshooting > Show Logs in Explorer** in Claude Desktop su quel dispositivo, che salva una copia della sua cartella di log in Download. Cerca `main.log` in quella copia per `[wslPolicyGate] denying WSL session`. Il motivo del rifiuto segue tra parentesi, come `(cli-file-present)`. Se Claude Desktop è stato installato con il programma di installazione `.exe`, puoi anche leggere il file live in `%APPDATA%\Claude\logs\main.log`.81Se un dispositivo rifiuta ancora le sessioni WSL, apri **Help > Troubleshooting > Show Logs in File Explorer** in Claude Desktop su quel dispositivo, che salva una copia della sua cartella di log in Download. Cerca `main.log` in quella copia per `[wslPolicyGate] denying WSL session`. Il motivo del rifiuto segue tra parentesi, come `(cli-file-present)`.

82 82 

83Dopo che le sessioni WSL sono abilitate, estendi le tue impostazioni gestite a loro:83Dopo che le sessioni WSL sono abilitate, estendi le tue impostazioni gestite a loro:

84 84 

advisor.md +8 −8

Details

87Claude Code usa il flag al posto dell'impostazione `advisorModel` per quella sessione. Non elenca `--advisor` in `claude --help`. Claude Code esce con un errore al lancio se:87Claude Code usa il flag al posto dell'impostazione `advisorModel` per quella sessione. Non elenca `--advisor` in `claude --help`. Claude Code esce con un errore al lancio se:

88 88 

89* Il modello principale della sessione non supporta l'advisor89* Il modello principale della sessione non supporta l'advisor

90* Il modello richiesto, come Haiku, non può agire come advisor90* Il modello richiesto, come Haiku 4.5, non può agire come advisor

91* L'allowlist [`availableModels`](/docs/it/model-config#restrict-model-selection) della tua organizzazione esclude il modello richiesto91* L'allowlist [`availableModels`](/docs/it/model-config#restrict-model-selection) della tua organizzazione esclude il modello richiesto

92* Hai richiesto Fable e il tuo account richiede ancora il [consenso ai crediti di utilizzo](#fable-advisor-and-usage-credits)92* Hai richiesto Fable e il tuo account richiede ancora il [consenso ai crediti di utilizzo](#fable-advisor-and-usage-credits)

93 93 


103 103 

104| Modello principale | Advisor accettati |104| Modello principale | Advisor accettati |

105| - | - |105| - | - |

106| Haiku 4.5 | Fable, Opus, Sonnet |106| Haiku 4.5 | Fable, Opus, Sonnet, Haiku 5.5 |

107| Sonnet 4.6 | Fable, Opus, Sonnet |107| Sonnet 4.6 | Fable, Opus, Sonnet, Haiku 5.5 |

108| Opus 4.6 | Fable, Opus, Sonnet 5 o successivo |108| Opus 4.6 | Fable, Opus, Sonnet 5 o successivo, Haiku 5.5 |

109| Sonnet 5 | Fable, Opus 4.7 o successivo, Sonnet 5 o successivo |109| Sonnet 5 o Haiku 5.5 | Fable, Opus 4.7 o successivo, Sonnet 5 o successivo, Haiku 5.5 |

110| Opus 4.7 o Opus 4.8 | Fable, Opus 4.7 o successivo, Sonnet 5.5 |110| Opus 4.7 o Opus 4.8 | Fable, Opus 4.7 o successivo, Sonnet 5.5 |

111| Sonnet 5.5 | Fable, Opus 5 o successivo, Sonnet 5.5 |111| Sonnet 5.5 | Fable, Opus 5 o successivo, Sonnet 5.5 |

112| Opus 5 o Opus 5.5 | Fable, Opus 5 o successivo |112| Opus 5 o Opus 5.5 | Fable, Opus 5 o successivo |

113| Fable 5 | Fable 5.1 o Fable 5 |113| Fable 5 | Fable 5.1 o Fable 5 |

114| Fable 5.1 | Fable 5.1 |114| Fable 5.1 | Fable 5.1 |

115 115 

116Fable 5.1 richiede Claude Code v2.1.257 o successivo. I modelli Fable richiedono [accesso a Fable](/docs/it/model-config#work-with-fable). Sonnet 5.5 come advisor per un modello principale Opus 4.7 o Opus 4.8 richiede Claude Code v2.1.287 o successivo.116Fable 5.1 richiede Claude Code v2.1.257 o successivo. I modelli Fable richiedono [accesso a Fable](/docs/it/model-config#work-with-fable). Sonnet 5.5 come advisor per un modello principale Opus 4.7 o Opus 4.8 richiede Claude Code v2.1.287 o successivo. Haiku 5.5 come modello principale o come advisor richiede Claude Code v2.1.293 o successivo.

117 117 

118Imposta l'advisor come `fable`, `opus`, o `sonnet`. Questi alias si risolvono nella [versione predefinita integrata](/docs/it/model-config#model-aliases) di Claude Code per ogni famiglia di modelli, che avanza con le nuove versioni di Claude Code. Puoi anche passare un ID modello completo come `claude-opus-5-5`. Haiku può chiamare l'advisor ma non può agire come tale.118Imposta l'advisor come `fable`, `opus`, o `sonnet`. Questi alias si risolvono nella [versione predefinita integrata](/docs/it/model-config#model-aliases) di Claude Code per ogni famiglia di modelli, che avanza con le nuove versioni di Claude Code. Puoi anche passare un ID modello completo come `claude-opus-5-5` o `claude-haiku-5-5`. Haiku 4.5 può chiamare l'advisor ma non può agire come tale.

119 119 

120I subagent ereditano l'advisor configurato e applicano lo stesso controllo di accoppiamento rispetto al loro modello.120I subagent ereditano l'advisor configurato e applicano lo stesso controllo di accoppiamento rispetto al loro modello.

121 121 


202Lo strumento advisor richiede tutti i seguenti:202Lo strumento advisor richiede tutti i seguenti:

203 203 

204* **Solo API Anthropic**: l'advisor è uno strumento eseguito dal server. Non è disponibile su Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform, o Microsoft Foundry. Attraverso un [gateway LLM](/docs/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, la disponibilità dipende dal fatto che il gateway inoltri la richiesta intatta all'API Anthropic. Se il gateway o il suo upstream non riconosce lo strumento advisor, vedere [Retry automatico e inoltro degli errori](/docs/it/llm-gateway-protocol#automatic-retry-and-error-forwarding) per sapere come Claude Code risponde.204* **Solo API Anthropic**: l'advisor è uno strumento eseguito dal server. Non è disponibile su Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform, o Microsoft Foundry. Attraverso un [gateway LLM](/docs/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, la disponibilità dipende dal fatto che il gateway inoltri la richiesta intatta all'API Anthropic. Se il gateway o il suo upstream non riconosce lo strumento advisor, vedere [Retry automatico e inoltro degli errori](/docs/it/llm-gateway-protocol#automatic-retry-and-error-forwarding) per sapere come Claude Code risponde.

205* **Modello principale supportato**: Fable, Opus 4.6 o successivo, Sonnet 4.6 o successivo, o Haiku 4.5. Vedere [Scegliere un modello advisor](#choose-an-advisor-model) per sapere quali advisor accettano ciascuno.205* **Modello principale supportato**: Fable, Opus 4.6 o successivo, Sonnet 4.6 o successivo, Haiku 4.5 o Haiku 5.5. Consulta [Scegliere un modello advisor](#choose-an-advisor-model) per sapere quali advisor accetta ciascuno.

206* **Recupero del feature flag**: Claude Code attiva l'advisor tramite un feature flag che recupera da Anthropic. In una sessione in cui è impostata una variabile che disattiva il recupero dei flag, come `DISABLE_TELEMETRY`, l'advisor rimane disattivato. Vedere [Funzionalità che richiedono il recupero del feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching).206* **Recupero del feature flag**: Claude Code attiva l'advisor tramite un feature flag che recupera da Anthropic. In una sessione in cui è impostata una variabile che disattiva il recupero dei flag, come `DISABLE_TELEMETRY`, l'advisor rimane disattivato. Vedere [Funzionalità che richiedono il recupero del feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching).

207 207 

208<h2 id="turn-the-advisor-off">208<h2 id="turn-the-advisor-off">

agent-sdk/hooks.md +61 −61

Details

15* **Tracciare il ciclo di vita della sessione** per gestire lo stato, pulire le risorse o inviare notifiche15* **Tracciare il ciclo di vita della sessione** per gestire lo stato, pulire le risorse o inviare notifiche

16 16 

17<h2 id="how-hooks-work">17<h2 id="how-hooks-work">

18 Come funzionano gli hooks18 Come funzionano gli hook

19</h2>19</h2>

20 20 

21<Steps>21<Steps>

22 <Step title="Un evento si attiva">22 <Step title="Un evento si attiva">

23 Qualcosa accade durante l'esecuzione dell'agente e l'SDK attiva un evento: uno strumento sta per essere chiamato (`PreToolUse`), uno strumento ha restituito un risultato (`PostToolUse`), un subagente è stato avviato o interrotto, l'agente è inattivo o l'esecuzione è terminata. Consultate l'[elenco completo degli eventi](#available-hooks).23 Qualcosa accade durante l'esecuzione dell'agente e l'SDK attiva un evento: uno strumento sta per essere chiamato (`PreToolUse`), uno strumento ha restituito un risultato (`PostToolUse`), un subagent è stato avviato o interrotto, l'agente è inattivo o l'esecuzione è terminata. Consulta l'[elenco completo degli eventi](#available-hooks).

24 </Step>24 </Step>

25 25 

26 <Step title="L'SDK raccoglie gli hooks registrati">26 <Step title="L'SDK raccoglie gli hook registrati">

27 L'SDK verifica la presenza di hooks registrati per quel tipo di evento. Questo include gli hooks di callback che passate in `options.hooks` e gli hooks dei comandi shell dai file di impostazioni quando la voce [`settingSources`](/docs/it/agent-sdk/typescript#settingsource) o [`setting_sources`](/docs/it/agent-sdk/python#settingsource) corrispondente è abilitata, come avviene per le opzioni predefinite di `query()`.27 L'SDK verifica la presenza di hook registrati per quel tipo di evento. Questo include gli hook di callback che passi in `options.hooks` e gli hook dei comandi shell dai file di impostazioni quando la voce [`settingSources`](/docs/it/agent-sdk/typescript#settingsource) o [`setting_sources`](/docs/it/agent-sdk/python#settingsource) corrispondente è abilitata, come avviene per le opzioni predefinite di `query()`.

28 </Step>28 </Step>

29 29 

30 <Step title="I matcher filtrano quali hooks vengono eseguiti">30 <Step title="I matcher filtrano quali hook vengono eseguiti">

31 Se un hook ha un modello [`matcher`](#matchers) (come `"Write|Edit"`), l'SDK lo testa rispetto al target dell'evento (ad esempio, il nome dello strumento). Gli hooks senza un matcher vengono eseguiti per ogni evento di quel tipo.31 Se un hook ha un modello [`matcher`](#matchers) (come `"Write|Edit"`), l'SDK lo testa rispetto al target dell'evento (ad esempio, il nome dello strumento). Gli hook senza un matcher vengono eseguiti per ogni evento di quel tipo.

32 </Step>32 </Step>

33 33 

34 <Step title="Le funzioni di callback vengono eseguite">34 <Step title="Le funzioni di callback vengono eseguite">

35 Ogni hook corrispondente riceve la sua [funzione di callback](#callback-functions) con input su ciò che sta accadendo: il nome dello strumento, i suoi argomenti, l'ID della sessione e altri dettagli specifici dell'evento.35 La [funzione di callback](#callback-functions) di ogni hook corrispondente riceve input su ciò che sta accadendo: il nome dello strumento, i suoi argomenti, l'ID della sessione e altri dettagli specifici dell'evento.

36 </Step>36 </Step>

37 37 

38 <Step title="Il vostro callback restituisce una decisione">38 <Step title="Il tuo callback restituisce una decisione">

39 Dopo aver eseguito qualsiasi operazione (registrazione, chiamate API, convalida), il vostro callback restituisce un [oggetto di output](#outputs) che dice all'agente cosa fare: consentire l'operazione, bloccarla, modificare l'input o iniettare contesto nella conversazione.39 Dopo aver eseguito qualsiasi operazione (log, chiamate API, convalida), il tuo callback restituisce un [oggetto di output](#outputs) che dice all'agente cosa fare: consentire l'operazione, bloccarla, modificare l'input o iniettare contesto nella conversazione.

40 </Step>40 </Step>

41</Steps>41</Steps>

42 42 


140 ```140 ```

141</CodeGroup>141</CodeGroup>

142 142 

143Quando eseguite uno dei due script, Claude tenta di creare il file `.env`, l'hook nega la chiamata dello strumento e la risposta finale di Claude spiega che non può creare file `.env`.143Quando esegui uno dei due script, Claude tenta di creare il file `.env` e l'hook nega la chiamata allo strumento.

144 144 

145<h2 id="available-hooks">145<h2 id="available-hooks">

146 Hook disponibili146 Hook disponibili


179| `ConfigChange` | No | Sì | Il file di configurazione cambia | Ricaricare le impostazioni dinamicamente |179| `ConfigChange` | No | Sì | Il file di configurazione cambia | Ricaricare le impostazioni dinamicamente |

180| `InstructionsLoaded` | No | Sì | Un file `CLAUDE.md` o di regole viene caricato nel contesto | Controllare quali file di istruzioni vengono caricati |180| `InstructionsLoaded` | No | Sì | Un file `CLAUDE.md` o di regole viene caricato nel contesto | Controllare quali file di istruzioni vengono caricati |

181| `WorktreeCreate` | No | Sì | Git worktree creato | Tracciare gli spazi di lavoro isolati |181| `WorktreeCreate` | No | Sì | Git worktree creato | Tracciare gli spazi di lavoro isolati |

182| `WorktreeRemove` | No | Sì | Git worktree rimosso | Pulire le risorse dello spazio di lavoro |182| `WorktreeRemove` | No | Sì | Un worktree creato da un hook `WorktreeCreate` viene rimosso | Pulire le risorse del workspace |

183| `CwdChanged` | No | Sì | La directory di lavoro cambia durante una sessione | Ricaricare le variabili di ambiente per directory |183| `CwdChanged` | No | Sì | La directory di lavoro cambia durante una sessione | Ricaricare le variabili di ambiente per directory |

184| `FileChanged` | No | Sì | Un file monitorato viene modificato, creato o eliminato | Ricaricare la configurazione quando i file del progetto cambiano |184| `FileChanged` | No | Sì | Un file monitorato viene modificato, creato o eliminato | Ricaricare la configurazione quando i file del progetto cambiano |

185| `DirectoryAdded` | No | Sì | Una directory di lavoro viene aggiunta durante una sessione | Installare le dipendenze per un repository aggiunto a metà sessione |185| `DirectoryAdded` | No | Sì | Una directory di lavoro viene aggiunta durante una sessione | Installare le dipendenze per un repository aggiunto a metà sessione |

186 186 

187<h2 id="configure-hooks">187<h2 id="configure-hooks">

188 Configurare gli hooks188 Configurare gli hook

189</h2>189</h2>

190 190 

191Per configurare un hook, passatelo nel campo `hooks` delle opzioni dell'agente (`ClaudeAgentOptions` in Python, l'oggetto `options` in TypeScript). Questo snippet presuppone che abbiate già definito un callback hook, come `protect_env_files` in Python o `protectEnvFiles` in TypeScript dall'esempio precedente:191Per configurare un hook, passalo nel campo `hooks` delle opzioni dell'agente (`ClaudeAgentOptions` in Python, l'oggetto `options` in TypeScript). Questo snippet presuppone che tu abbia già definito un callback hook, come `protect_env_files` in Python o `protectEnvFiles` in TypeScript dall'esempio precedente:

192 192 

193<CodeGroup>193<CodeGroup>

194 ```python Python theme={null}194 ```python Python theme={null}


219L'opzione `hooks` è un dizionario in Python o un oggetto in TypeScript, dove:219L'opzione `hooks` è un dizionario in Python o un oggetto in TypeScript, dove:

220 220 

221* **Le chiavi**: [nomi degli eventi hook](#available-hooks) come `'PreToolUse'`, `'PostToolUse'` e `'Stop'`221* **Le chiavi**: [nomi degli eventi hook](#available-hooks) come `'PreToolUse'`, `'PostToolUse'` e `'Stop'`

222* **I valori**: array di [matcher](#matchers), ognuno contenente un modello di filtro opzionale e le vostre [funzioni di callback](#callback-functions)222* **I valori**: array di [matcher](#matchers), ognuno contenente un modello di filtro opzionale e le tue [funzioni di callback](#callback-functions)

223 223 

224<h3 id="matchers">224<h3 id="matchers">

225 Matchers225 Matcher

226</h3>226</h3>

227 227 

228Utilizzate i matcher per filtrare quando i vostri callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica.228Utilizza i matcher per filtrare quando i tuoi callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica.

229 229 

230I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/docs/it/hooks#matcher-patterns). Quella sezione documenta i percorsi di valutazione di stringa esatta e espressione regolare, i loro requisiti di versione e i valori di matcher per ogni tipo di evento.230I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/docs/it/hooks#matcher-patterns). Quella sezione documenta i percorsi di valutazione di stringa esatta e espressione regolare, i loro requisiti di versione e i valori di matcher per ogni tipo di evento.

231 231 

232| Opzione | Tipo | Predefinito | Descrizione |232| Opzione | Tipo | Predefinito | Descrizione |

233| - | - | - | - |233| - | - | - | - |

234| `matcher` | `string` | `undefined` | Modello abbinato al campo di filtro dell'evento, seguendo le [regole per i matcher nei file di impostazioni](/docs/it/hooks#matcher-patterns). Per gli hook degli strumenti, questo è il nome dello strumento. Gli strumenti incorporati includono `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` e altri (consultate [Tipi di input degli strumenti](/docs/it/agent-sdk/typescript#tool-input-types) per l'elenco completo). Gli strumenti MCP utilizzano il modello `mcp__<server>__<action>`, dove `<server>` è la chiave che utilizzate nella configurazione `mcpServers`. |234| `matcher` | `string` | `undefined` | Modello abbinato al campo di filtro dell'evento, seguendo le [regole per i matcher nei file di impostazioni](/docs/it/hooks#matcher-patterns). Per gli hook degli strumenti, questo è il nome dello strumento. Gli strumenti incorporati includono `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` e altri (consulta [Tipi di input degli strumenti](/docs/it/agent-sdk/typescript#tool-input-types) per l'elenco completo). Gli strumenti MCP utilizzano il modello `mcp__<server>__<action>`, dove `<server>` è la chiave che utilizzi nella configurazione `mcpServers`. |

235| `hooks` | `HookCallback[]` | - | Obbligatorio. Array di funzioni di callback da eseguire quando il modello corrisponde |235| `hooks` | `HookCallback[]` | - | Obbligatorio. Array di funzioni di callback da eseguire quando il modello corrisponde |

236| `timeout` | `number` | `undefined` | Timeout in secondi. Quando omesso, Claude Code applica il [timeout predefinito dell'evento](#hook-timeout). I vostri callback SDK seguono i valori predefiniti dell'hook `command` |236| `timeout` | `number` | `undefined` | Timeout in secondi. Quando omesso, Claude Code applica il [timeout predefinito dell'evento](#hook-timeout). I tuoi callback SDK seguono i valori predefiniti dell'hook `command` |

237 237 

238Utilizzate il modello `matcher` per indirizzare strumenti specifici quando possibile. Un matcher con `'Bash'` viene eseguito solo per i comandi Bash, mentre omettere il modello esegue i vostri callback per ogni occorrenza dell'evento. Omettete intenzionalmente per registrare ogni chiamata a uno strumento che la vostra sessione effettua.238Utilizza il modello `matcher` per indirizzare strumenti specifici quando possibile. Un matcher con `'Bash'` viene eseguito solo per i comandi Bash, mentre omettere il modello esegue i tuoi callback per ogni occorrenza dell'evento. Omettilo intenzionalmente per registrare ogni chiamata a uno strumento che la tua sessione effettua.

239 239 

240<h3 id="callback-functions">240<h3 id="callback-functions">

241 Funzioni di callback241 Funzioni di callback


247 247 

248Ogni callback hook riceve tre argomenti:248Ogni callback hook riceve tre argomenti:

249 249 

250* **Dati di input:** un oggetto tipizzato contenente i dettagli dell'evento. Ogni tipo di hook ha la sua forma di input. Ad esempio, `PreToolUseHookInput` include `tool_name` e `tool_input`, mentre `NotificationHookInput` include `message`. Consultate le definizioni di tipo complete nei riferimenti SDK [TypeScript](/docs/it/agent-sdk/typescript#hookinput) e [Python](/docs/it/agent-sdk/python#hookinput).250* **Dati di input:** un oggetto tipizzato contenente i dettagli dell'evento. Ogni tipo di hook ha la sua forma di input. Ad esempio, `PreToolUseHookInput` include `tool_name` e `tool_input`, mentre `NotificationHookInput` include `message`. Consulta le definizioni di tipo complete nei riferimenti SDK [TypeScript](/docs/it/agent-sdk/typescript#hookinput) e [Python](/docs/it/agent-sdk/python#hookinput).

251 * Tutti gli input hook condividono `session_id`, `cwd` e `hook_event_name`.251 * Tutti gli input hook condividono `session_id`, `cwd` e `hook_event_name`.

252 * `agent_id` e `agent_type` vengono popolati quando l'hook si attiva all'interno di un subagente. In TypeScript, questi si trovano sull'input hook di base e sono disponibili per tutti i tipi di hook. In Python, sono campi opzionali su `PreToolUse`, `PostToolUse`, `PostToolUseFailure` e `PermissionRequest`, e campi obbligatori su `SubagentStart` e `SubagentStop`.252 * `agent_id` e `agent_type` vengono popolati quando l'hook si attiva all'interno di un subagent. In TypeScript, questi si trovano sull'input hook di base e sono disponibili per tutti i tipi di hook. In Python, sono campi opzionali su `PreToolUse`, `PostToolUse`, `PostToolUseFailure` e `PermissionRequest`, e campi obbligatori su `SubagentStart` e `SubagentStop`.

253* **ID di utilizzo dello strumento** (`str | None` / `string | undefined`): correla gli eventi `PreToolUse` e `PostToolUse` per la stessa chiamata a uno strumento.253* **ID di utilizzo dello strumento** (`str | None` / `string | undefined`): correla gli eventi `PreToolUse` e `PostToolUse` per la stessa chiamata a uno strumento.

254* **Contesto:** in TypeScript, contiene una proprietà `signal` (`AbortSignal`) per l'annullamento. In Python, questo argomento è riservato per uso futuro.254* **Contesto:** in TypeScript, contiene una proprietà `signal` (`AbortSignal`) per l'annullamento. In Python, questo argomento è riservato per uso futuro.

255 255 


257 Output257 Output

258</h4>258</h4>

259 259 

260Il vostro callback restituisce un oggetto con due categorie di campi:260Il tuo callback restituisce un oggetto con due categorie di campi:

261 261 

262* **Campi di livello superiore** sono accettati su ogni evento: `systemMessage` mostra un messaggio all'utente, e `continue` (`continue_` in Python) determina se l'agente continua a funzionare dopo questo hook. Alcuni eventi li scartano o li consegnano altrove. La sezione di ogni [evento](/docs/it/hooks#hook-events) sulla pagina degli hooks dice dove finiscono.262* **Campi di livello superiore** sono accettati su ogni evento: `systemMessage` mostra un messaggio all'utente, e `continue` (`continue_` in Python) determina se l'agente continua a funzionare dopo questo hook. Alcuni eventi li scartano o li consegnano altrove. La sezione di ogni [evento](/docs/it/hooks#hook-events) sulla pagina degli hook dice dove finiscono.

263* **`hookSpecificOutput`** controlla l'operazione corrente. I campi che imposti all'interno dipendono dal tipo di evento hook:263* **`hookSpecificOutput`** controlla l'operazione corrente. I campi che imposti all'interno dipendono dal tipo di evento hook:

264 * Per gli hook `PreToolUse`, è qui che imposti `permissionDecision` (`"allow"`, `"deny"`, `"ask"` o `"defer"`), `permissionDecisionReason` e `updatedInput`. Se restituisci `"defer"`, il turno termina con un messaggio di risultato il cui `stop_reason` è `"tool_deferred"`, in modo da poter [riprendere la chiamata in seguito](/docs/it/hooks#defer-a-tool-call-for-later).264 * Per gli hook `PreToolUse`, è qui che imposti `permissionDecision` (`"allow"`, `"deny"`, `"ask"` o `"defer"`), `permissionDecisionReason` e `updatedInput`. Se restituisci `"defer"`, il turno termina con un messaggio di risultato il cui `stop_reason` è `"tool_deferred"`, in modo da poter [riprendere la chiamata in seguito](/docs/it/hooks#defer-a-tool-call-for-later).

265 * Per gli hook `PostToolUse`, puoi impostare `additionalContext` per aggiungere informazioni al risultato dello strumento. Per sostituire l'output dello strumento prima che Claude lo veda, imposta `updatedToolOutput`, che funziona per qualsiasi strumento in entrambi gli SDK. Il campo più vecchio `updatedMCPToolOutput` sostituisce solo l'output dello strumento MCP ed è deprecato.265 * Per gli hook `PostToolUse`, puoi impostare `additionalContext` per aggiungere informazioni al risultato dello strumento. Per sostituire l'output dello strumento prima che Claude lo veda, imposta `updatedToolOutput`, che funziona per qualsiasi strumento in entrambi gli SDK. Il campo più vecchio `updatedMCPToolOutput` sostituisce solo l'output dello strumento MCP.

266 * Nel TypeScript SDK, un callback `PostToolUse` può anche restituire `classifierContext`, una breve nota sul risultato della chiamata allo strumento per il classificatore dei permessi della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode). Poiché il tuo callback viene eseguito nel processo della tua applicazione, il classificatore può pesare una dichiarazione dell'utente che inoltri nella nota come intenzione dell'utente. Il campo richiede TypeScript Agent SDK v0.3.236 o successivo. [Annotare un risultato per il classificatore della modalità auto](/docs/it/hooks#annotate-a-result-for-the-auto-mode-classifier) copre il limite di lunghezza, la regola solo sincrona e cosa non mettere nella nota.266 * Nel TypeScript SDK, un callback `PostToolUse` può anche restituire `classifierContext`, una breve nota sul risultato della chiamata allo strumento per il classificatore dei permessi della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode). Poiché il tuo callback viene eseguito nel processo della tua applicazione, il classificatore può pesare una dichiarazione dell'utente che inoltri nella nota come intenzione dell'utente. Il campo richiede TypeScript Agent SDK v0.3.236 o successivo. [Annotare un risultato per il classificatore della modalità auto](/docs/it/hooks#annotate-a-result-for-the-auto-mode-classifier) copre il limite di lunghezza, la regola solo sincrona e cosa non mettere nella nota.

267 267 

268Restituite `{}` per consentire l'operazione senza modifiche. Gli hook di callback SDK utilizzano lo stesso formato di output JSON degli [hook dei comandi shell di Claude Code](/docs/it/hooks#json-output), che documenta ogni campo e opzione specifica dell'evento. Per le definizioni di tipo SDK, consultate i riferimenti SDK [TypeScript](/docs/it/agent-sdk/typescript#synchookjsonoutput) e [Python](/docs/it/agent-sdk/python#synchookjsonoutput).268Restituisci `{}` per consentire l'operazione senza modifiche. Gli hook di callback SDK utilizzano lo stesso formato di output JSON degli [hook dei comandi shell di Claude Code](/docs/it/hooks#json-output), che documenta ogni campo e opzione specifica dell'evento. Per le definizioni di tipo SDK, consulta i riferimenti SDK [TypeScript](/docs/it/agent-sdk/typescript#synchookjsonoutput) e [Python](/docs/it/agent-sdk/python#synchookjsonoutput).

269 269 

270<Note>270<Note>

271 Quando si applicano più hook o regole di autorizzazione, `deny` ha priorità su `defer`, che ha priorità su `ask`, che ha priorità su `allow`. Se un hook restituisce `deny`, l'operazione viene bloccata indipendentemente dagli altri hook.271 Quando si applicano più hook o regole di permesso, `deny` ha priorità su `defer`, che ha priorità su `ask`, che ha priorità su `allow`. Se un hook restituisce `deny`, l'operazione viene bloccata indipendentemente dagli altri hook.

272</Note>272</Note>

273 273 

274<h4 id="asynchronous-output">274<h4 id="asynchronous-output">

275 Output asincrono275 Output asincrono

276</h4>276</h4>

277 277 

278Per impostazione predefinita, l'agente attende che il vostro hook restituisca prima di procedere. Se il vostro hook esegue un effetto collaterale, come la registrazione o l'invio di un webhook, e non ha bisogno di influenzare il comportamento dell'agente, potete restituire un output asincrono. Questo dice all'agente di continuare immediatamente senza attendere il completamento dell'hook. In questo snippet, `send_to_logging_service` in Python e `sendToLoggingService` in TypeScript rappresentano qualsiasi funzione di registrazione che definite:278Per impostazione predefinita, l'agente attende che il tuo hook restituisca prima di procedere. Se il tuo hook esegue un effetto collaterale, come la registrazione di log o l'invio di un webhook, e non ha bisogno di influenzare il comportamento dell'agente, puoi restituire un output asincrono. Questo dice all'agente di continuare immediatamente senza attendere il completamento dell'hook. In questo snippet, `send_to_logging_service` in Python e `sendToLoggingService` in TypeScript rappresentano qualsiasi funzione di logging che definisci:

279 279 

280<CodeGroup>280<CodeGroup>

281 ```python Python theme={null}281 ```python Python theme={null}


296 296 

297| Campo | Tipo | Descrizione |297| Campo | Tipo | Descrizione |

298| - | - | - |298| - | - | - |

299| `async` | `true` | Segnala la modalità asincrona. L'agente procede senza attendere. In Python, utilizzate `async_` per evitare la parola chiave riservata. |299| `async` | `true` | Segnala la modalità asincrona. L'agente procede senza attendere. In Python, utilizza `async_` per evitare la parola chiave riservata. |

300| `asyncTimeout` | `number` | Timeout opzionale in millisecondi per l'operazione in background |300| `asyncTimeout` | `number` | Timeout opzionale in millisecondi per l'operazione in background |

301 301 

302<Note>302<Note>

303 Gli output asincroni non possono bloccare, modificare o iniettare contesto nell'operazione poiché l'agente ha già proseguito. Utilizzateli solo per effetti collaterali come registrazione, metriche o notifiche.303 Gli output asincroni non possono bloccare, modificare o iniettare contesto nell'operazione poiché l'agente ha già proseguito. Utilizzali solo per effetti collaterali come logging, metriche o notifiche.

304</Note>304</Note>

305 305 

306<h2 id="examples">306<h2 id="examples">


801 Hook non si attiva801 Hook non si attiva

802</h3>802</h3>

803 803 

804* Verificate che il nome dell'evento hook sia corretto e sensibile alle maiuscole (`PreToolUse`, non `preToolUse`)804* Verifica che il nome dell'evento hook sia corretto e sensibile alle maiuscole (`PreToolUse`, non `preToolUse`)

805* Controllate che il vostro modello di matcher corrisponda esattamente al nome dello strumento805* Controlla che il tuo pattern di matcher corrisponda esattamente al nome dello strumento

806* Assicuratevi che l'hook sia sotto il tipo di evento corretto in `options.hooks`806* Assicurati che l'hook sia sotto il tipo di evento corretto in `options.hooks`

807* Per gli hook non basati su strumenti che supportano matcher, come `Notification` e `SubagentStop`, i matcher corrispondono a campi diversi, e `Stop` ignora completamente i matcher (consultate [modelli di matcher](/docs/it/hooks#matcher-patterns))807* Per gli hook non basati su strumenti che supportano matcher, come `Notification` e `SubagentStop`, i matcher corrispondono a campi diversi, e `Stop` ignora completamente i matcher (consulta [pattern di matcher](/docs/it/hooks#matcher-patterns))

808* Gli hooks potrebbero non attivarsi quando l'agente raggiunge il limite [`max_turns`](/docs/it/agent-sdk/python#claudeagentoptions) perché la sessione termina prima che gli hooks possano essere eseguiti808* Gli hook potrebbero non attivarsi quando l'agente raggiunge il limite [`max_turns`](/docs/it/agent-sdk/python#claudeagentoptions) perché la sessione termina prima che gli hook possano essere eseguiti

809 809 

810<h3 id="matcher-not-filtering-as-expected">810<h3 id="matcher-not-filtering-as-expected">

811 Matcher non filtra come previsto811 Matcher non filtra come previsto

812</h3>812</h3>

813 813 

814I matcher corrispondono solo ai nomi degli strumenti, non ai percorsi dei file o ad altri argomenti. Per filtrare per percorso di file, controllate `tool_input.file_path` all'interno del vostro hook:814I matcher corrispondono solo ai nomi degli strumenti, non ai percorsi dei file o ad altri argomenti. Per filtrare per percorso di file, controlla `tool_input.file_path` all'interno del tuo hook:

815 815 

816```typescript theme={null}816```typescript theme={null}

817const myHook: HookCallback = async (input, toolUseID, { signal }) => {817const myHook: HookCallback = async (input, toolUseID, { signal }) => {


828 Timeout dell'hook828 Timeout dell'hook

829</h3>829</h3>

830 830 

831Claude Code esegue ogni callback con un timeout, che impostate in secondi con il campo `timeout` sul suo `HookMatcher`. Quando non ne impostate uno, Claude Code utilizza il valore predefinito dell'evento: 600 secondi per la maggior parte degli eventi, 30 secondi per `UserPromptSubmit`, `PreModelSwitch` e `PostModelSwitch`, e 10 secondi per `MessageDisplay`. Claude Code esegue i callback `SessionEnd` durante l'arresto con il budget di timeout più breve [`SessionEnd timeout budget`](/docs/it/hooks#sessionend-input), 1,5 secondi per impostazione predefinita.831Claude Code esegue ogni callback con un timeout, che imposti in secondi con il campo `timeout` sul suo `HookMatcher`. Quando non ne imposti uno, Claude Code utilizza il valore predefinito dell'evento: 600 secondi per la maggior parte degli eventi, 30 secondi per `UserPromptSubmit`, `PreModelSwitch` e `PostModelSwitch`, e 10 secondi per `MessageDisplay`. Claude Code esegue i callback `SessionEnd` durante l'arresto con il [budget di timeout di SessionEnd](/docs/it/hooks#sessionend-input) più breve, 1,5 secondi per impostazione predefinita.

832 832 

833Quando un callback supera il suo timeout, Claude Code lo annulla e scarta l'output, e la sessione continua piuttosto che bloccarsi. Quello che accade dopo dipende dall'evento:833Quando un callback supera il suo timeout, Claude Code lo annulla e scarta il suo output, e la sessione continua anziché bloccarsi. Quello che accade dopo dipende dall'evento:

834 834 

835* `PreToolUse`: Claude Code non esegue la chiamata dello strumento, Claude riceve un risultato dello strumento che indica che l'hook non ha risposto prima del suo timeout, e il turno continua. Se un altro hook `PreToolUse` ha restituito un rifiuto esplicito, Claude riceve invece quel rifiuto anziché l'errore di timeout. Prima della v2.1.210, Claude Code segnalava il timeout a Claude come un rifiuto dell'utente, il che faceva fermare le sessioni incustodite e attendere l'input.835* `PreToolUse`: Claude Code non esegue la chiamata allo strumento, Claude riceve un risultato dello strumento che indica che l'hook non ha risposto prima del suo timeout, e il turno continua. Se un altro hook `PreToolUse` ha restituito un rifiuto esplicito, Claude riceve quel rifiuto anziché l'errore di timeout. Prima della v2.1.210, Claude Code segnalava il timeout a Claude come un rifiuto dell'utente, il che faceva fermare le sessioni incustodite in attesa di input.

836* `PostToolUse` e `PostToolUseFailure`: Claude Code mantiene il risultato dello strumento e il turno continua.836* `PostToolUse` e `PostToolUseFailure`: Claude Code mantiene il risultato dello strumento e il turno continua.

837* `UserPromptSubmit` e [`UserPromptExpansion`](/docs/it/hooks#userpromptexpansion): Claude Code blocca il prompt con un messaggio che nomina l'hook e il timeout, e la sessione continua. Poiché un callback su questi eventi può agire come un gate di policy, Claude Code non lascia mai passare un prompt scaduto senza controllo. Prima della v2.1.208, Claude Code terminava la query con `error_during_execution` quando un callback su questi eventi scadeva.837* `UserPromptSubmit` e [`UserPromptExpansion`](/docs/it/hooks#userpromptexpansion): Claude Code blocca il prompt con un messaggio che nomina l'hook e il timeout, e la sessione continua. Poiché un callback su questi eventi può agire come un gate di policy, Claude Code non lascia mai passare un prompt scaduto senza controllo. Prima della v2.1.208, Claude Code terminava la query con `error_during_execution` quando un callback su questi eventi scadeva.

838* `Stop` e `SubagentStop`: il callback scaduto conta come se non avesse restituito alcuna decisione. L'agente o il subagente si ferma come se quel callback lo avesse consentito, e una decisione dai vostri altri hook sull'evento si applica comunque. Prima di Claude Code v2.1.273, un callback `Stop` o `SubagentStop` scaduto contava come un'esecuzione di hook non riuscita, e Claude Code scartava le decisioni dei vostri altri hook sull'evento.838* `Stop` e `SubagentStop`: il callback scaduto conta come se non avesse restituito alcuna decisione. L'agente o il subagent si ferma come se quel callback lo avesse consentito, e una decisione dei tuoi altri hook sull'evento si applica comunque. Prima di Claude Code v2.1.273, un callback `Stop` o `SubagentStop` scaduto contava come un'esecuzione di hook non riuscita, e Claude Code scartava le decisioni dei tuoi altri hook sull'evento.

839* `SessionStart`: il callback scaduto conta come se non avesse restituito alcun output, e la sessione continua con l'output dei vostri altri hook `SessionStart`.839* `SessionStart`: il callback scaduto conta come se non avesse restituito alcun output, e la sessione continua con l'output dei tuoi altri hook `SessionStart`.

840* `PreModelSwitch`: Claude Code blocca il cambio di modello. Un hook che non risponde non ha approvato il cambio.840* `PreModelSwitch`: Claude Code blocca il cambio di modello. Un hook che non risponde non ha approvato il cambio.

841* Altri eventi, come `Notification`, `PreCompact` e `PostModelSwitch`: Claude Code registra l'errore e continua.841* Altri eventi, come `Notification`, `PreCompact` e `PostModelSwitch`: Claude Code registra l'errore nei log e continua.

842 842 

843La prima volta che un callback `Stop` o `SessionStart` scade nella sessione principale, Claude Code aggiunge anche un [`SDKInformationalMessage`](/docs/it/agent-sdk/typescript#sdkinformationalmessage) al flusso dei messaggi dicendo che l'app che guida la sessione non ha risposto. I timeout successivi non ripetono quel messaggio mentre la vostra app rimane non responsiva.843La prima volta che un callback `Stop` o `SessionStart` scade nella sessione principale, Claude Code aggiunge anche un [`SDKInformationalMessage`](/docs/it/agent-sdk/typescript#sdkinformationalmessage) al flusso dei messaggi indicando che l'app che guida la sessione non ha risposto. I timeout successivi non ripetono quel messaggio finché la tua app rimane non responsiva.

844 844 

845Se interrompete la query mentre un callback è in sospeso, Claude Code annulla la chiamata dello strumento in sospeso. Prima della v2.1.208, la chiamata dello strumento potrebbe ancora procedere se interrompevate durante un callback `PreToolUse` in sospeso.845Se interrompi la query mentre un callback è in sospeso, Claude Code annulla la chiamata allo strumento in sospeso. Prima della v2.1.208, la chiamata allo strumento poteva ancora procedere se interrompevi durante un callback `PreToolUse` in sospeso.

846 846 

847Se il vostro callback ha bisogno di più tempo, impostate un `timeout` più alto sul suo `HookMatcher`. In TypeScript, utilizzate `AbortSignal` dal terzo argomento del callback per gestire l'annullamento con eleganza quando il timeout si attiva.847Se il tuo callback ha bisogno di più tempo, imposta un `timeout` più alto sul suo `HookMatcher`. In TypeScript, utilizza l'`AbortSignal` dal terzo argomento del callback per gestire l'annullamento in modo pulito quando scatta il timeout.

848 848 

849<h3 id="tool-blocked-unexpectedly">849<h3 id="tool-blocked-unexpectedly">

850 Strumento bloccato inaspettatamente850 Strumento bloccato inaspettatamente

851</h3>851</h3>

852 852 

853* Controllate tutti gli hook `PreToolUse` per i ritorni `permissionDecision: 'deny'`853* Controlla tutti gli hook `PreToolUse` per i ritorni `permissionDecision: 'deny'`

854* Aggiungete la registrazione ai vostri hook per vedere quale `permissionDecisionReason` stanno restituendo854* Aggiungi dei log ai tuoi hook per vedere quale `permissionDecisionReason` stanno restituendo

855* Verificate che i modelli di matcher non siano troppo ampi: un matcher vuoto corrisponde a tutti gli strumenti855* Verifica che i pattern di matcher non siano troppo ampi: un matcher vuoto corrisponde a tutti gli strumenti

856 856 

857<h3 id="modified-input-not-applied">857<h3 id="modified-input-not-applied">

858 Input modificato non applicato858 Input modificato non applicato

859</h3>859</h3>

860 860 

861* Assicuratevi che `updatedInput` sia all'interno di `hookSpecificOutput`, non al livello superiore:861* Assicurati che `updatedInput` sia all'interno di `hookSpecificOutput`, non al livello superiore:

862 862 

863 ```typescript theme={null}863 ```typescript theme={null}

864 return {864 return {


870 };870 };

871 ```871 ```

872 872 

873* Non abbinate `updatedInput` con `permissionDecision: 'defer'`, che scarta l'input modificato. Omettere `permissionDecision` va bene: l'input modificato si applica comunque attraverso la valutazione delle autorizzazioni normale. Potete anche restituire `'allow'` per approvare automaticamente l'input modificato o `'ask'` per mostrarlo all'utente per l'approvazione873* Non abbinare `updatedInput` a `permissionDecision: 'defer'`, che scarta l'input modificato. Omettere `permissionDecision` va bene: l'input modificato si applica comunque attraverso la normale valutazione dei permessi. Puoi anche restituire `'allow'` per approvare automaticamente l'input modificato o `'ask'` per mostrarlo all'utente per l'approvazione

874 874 

875* Includete `hookEventName` in `hookSpecificOutput` per identificare quale tipo di hook è l'output875* Includi `hookEventName` in `hookSpecificOutput` per identificare a quale tipo di hook si riferisce l'output

876 876 

877<h3 id="session-hooks-not-available-in-python">877<h3 id="session-hooks-not-available-in-python">

878 Hook di sessione non disponibili in Python878 Hook di sessione non disponibili in Python

879</h3>879</h3>

880 880 

881`SessionStart` e `SessionEnd` possono essere registrati come hook di callback SDK in TypeScript, ma non sono disponibili nell'SDK Python perché il suo tipo `HookEvent` li omette. In Python, sono disponibili solo come [hook dei comandi shell](/docs/it/hooks#hook-events) definiti nei file di impostazioni come `.claude/settings.json`. Per caricare gli hook dei comandi shell dalla vostra applicazione SDK, includete la fonte di impostazione appropriata con [`setting_sources`](/docs/it/agent-sdk/python#settingsource) o [`settingSources`](/docs/it/agent-sdk/typescript#settingsource):881`SessionStart` e `SessionEnd` possono essere registrati come hook di callback SDK in TypeScript, ma non sono disponibili nell'SDK Python perché il suo tipo `HookEvent` li omette. In Python, sono disponibili solo come [hook di comandi shell](/docs/it/hooks#hook-events) definiti in file di impostazioni come `.claude/settings.json`. Quali file di impostazioni carica la tua applicazione SDK dipende da [`setting_sources`](/docs/it/agent-sdk/python#settingsource) o [`settingSources`](/docs/it/agent-sdk/typescript#settingsource). Se imposti quell'opzione, includi la fonte che contiene gli hook:

882 882 

883<CodeGroup>883<CodeGroup>

884 ```python Python theme={null}884 ```python Python theme={null}


894 ```894 ```

895</CodeGroup>895</CodeGroup>

896 896 

897Per eseguire la logica di inizializzazione come callback SDK Python, utilizzate il primo messaggio da `client.receive_response()` come trigger.897Per eseguire invece la logica di inizializzazione come callback dell'SDK Python, utilizza il primo messaggio da `client.receive_response()` come trigger.

898 898 

899<h3 id="subagent-permission-prompts-multiplying">899<h3 id="subagent-permission-prompts-multiplying">

900 I prompt di autorizzazione dei subagenti si moltiplicano900 Le richieste di permesso dei subagent si moltiplicano

901</h3>901</h3>

902 902 

903Quando si avviano più subagenti, ognuno potrebbe richiedere autorizzazioni separatamente per le proprie chiamate di strumenti. Per evitare prompt ripetuti, utilizzate gli hook `PreToolUse` per approvare automaticamente strumenti specifici, o configurate regole di autorizzazione, che i subagenti [ereditano dalla conversazione genitore](/docs/it/sub-agents#permission-modes).903Quando avvii più subagent, ognuno potrebbe richiedere permessi separatamente per le proprie chiamate agli strumenti. Per evitare richieste ripetute, utilizza gli hook `PreToolUse` per approvare automaticamente strumenti specifici, oppure configura regole di permesso, che i subagent [ereditano dalla conversazione principale](/docs/it/sub-agents#permission-modes).

904 904 

905<h3 id="recursive-hook-loops-with-subagents">905<h3 id="recursive-hook-loops-with-subagents">

906 Loop ricorsivi di hook con subagenti906 Loop ricorsivi di hook con subagent

907</h3>907</h3>

908 908 

909Un hook `UserPromptSubmit` che avvia subagenti può creare loop infiniti se quei subagenti attivano lo stesso hook. Per prevenire questo:909Un hook `UserPromptSubmit` che avvia subagent può creare loop infiniti se quei subagent attivano lo stesso hook. Per prevenire questo:

910 910 

911* Utilizzate una variabile condivisa o lo stato della sessione per tracciare se siete già all'interno di un subagente911* Utilizza una variabile condivisa o lo stato della sessione per tenere traccia del fatto che ti trovi già all'interno di un subagent

912* Limitate gli hook per l'esecuzione solo per la sessione dell'agente di livello superiore912* Limita gli hook in modo che vengano eseguiti solo per la sessione dell'agente di livello superiore

913 913 

914<h3 id="systemmessage-not-appearing-in-output">914<h3 id="systemmessage-not-appearing-in-output">

915 systemMessage non appare nell'output915 systemMessage non appare nell'output

916</h3>916</h3>

917 917 

918Il campo `systemMessage` mostra un messaggio all'utente, non al modello. Su Claude Code v2.1.227 o successivo, il `systemMessage` di un hook può emergere nel flusso dei messaggi come un [`SDKInformationalMessage`](/docs/it/agent-sdk/typescript#sdkinformationalmessage). Se lo fa dipende dall'evento. Ogni [sezione dell'evento](/docs/it/hooks#hook-events) sulla pagina degli hooks dice come emerge l'output. Per passare il contesto al modello, restituite [`additionalContext`](/docs/it/hooks#add-context-for-claude).918Il campo `systemMessage` mostra un messaggio all'utente, non al modello. Su Claude Code v2.1.227 o successivo, il `systemMessage` di un hook può emergere nel flusso dei messaggi come un [`SDKInformationalMessage`](/docs/it/agent-sdk/typescript#sdkinformationalmessage). Che ciò avvenga dipende dall'evento. La [sezione di ogni evento](/docs/it/hooks#hook-events) nella pagina degli hook indica come emerge l'output. Per passare invece il contesto al modello, restituisci [`additionalContext`](/docs/it/hooks#add-context-for-claude).

919 919 

920Prima della v2.1.227, l'SDK faceva emergere l'output degli hook nel flusso dei messaggi solo per gli hook `SessionStart` e `Setup`. Per qualsiasi altro evento, l'output appariva solo negli eventi del ciclo di vita che [`includeHookEvents`](/docs/it/agent-sdk/typescript#options) (`include_hook_events` in Python) aggiunge. La voce di quell'opzione copre quali eventi del ciclo di vita ogni evento hook produce.920Prima della v2.1.227, l'SDK faceva emergere l'output degli hook nel flusso dei messaggi solo per gli hook `SessionStart` e `Setup`. Per qualsiasi altro evento, l'output appariva solo negli eventi del ciclo di vita che [`includeHookEvents`](/docs/it/agent-sdk/typescript#options) (`include_hook_events` in Python) aggiunge. La voce di quell'opzione descrive quali eventi del ciclo di vita produce ogni evento hook.

921 921 

922Se avete bisogno di far emergere le decisioni degli hook alla vostra applicazione in modo affidabile, registratele separatamente o utilizzate un canale di output dedicato.922Se hai bisogno di far emergere in modo affidabile le decisioni degli hook nella tua applicazione, registrale separatamente nei log o utilizza un canale di output dedicato.

923 923 

924<h2 id="related-resources">924<h2 id="related-resources">

925 Risorse correlate925 Risorse correlate

agent-sdk/python.md +149 −148

Details

44 Funzioni44 Funzioni

45</h2>45</h2>

46 46 

47<Note>I blocchi di firma e i frammenti `async for` / `async with` nudi in questa pagina sono illustrativi. Per eseguirli, avvolgete il corpo in `async def main(): ...` e chiamate `asyncio.run(main())`.</Note>47<Note>I blocchi di firma e i frammenti `async for` / `async with` nudi in questa pagina sono illustrativi. Per eseguirli, avvolgi il corpo in `async def main(): ...` e chiama `asyncio.run(main())`.</Note>

48 48 

49<h3 id="query">49<h3 id="query">

50 `query()`50 `query()`

51</h3>51</h3>

52 52 

53Crea una nuova sessione per ogni interazione con Claude Code per impostazione predefinita. Restituisce un iteratore asincrono che produce messaggi man mano che arrivano. Ogni chiamata a `query()` inizia da zero senza memoria di interazioni precedenti a meno che non passiate `continue_conversation=True` o `resume` in [`ClaudeAgentOptions`](#claudeagentoptions). Vedi [Sessions](/docs/it/agent-sdk/sessions).53Crea una nuova sessione per ogni interazione con Claude Code per impostazione predefinita. Restituisce un iteratore asincrono che produce messaggi man mano che arrivano. Ogni chiamata a `query()` inizia da zero senza memoria di interazioni precedenti a meno che non passi `continue_conversation=True` o `resume` in [`ClaudeAgentOptions`](#claudeagentoptions). Vedi [Sessions](/docs/it/agent-sdk/sessions).

54 54 

55```python theme={null}55```python theme={null}

56async def query(56async def query(


194 `ToolAnnotations`194 `ToolAnnotations`

195</h4>195</h4>

196 196 

197Suggerimenti comportamentali per uno strumento, passati come argomento `annotations` di [`tool()`](#tool). `ToolAnnotations` estende `mcp.types.ToolAnnotations` dell'SDK MCP con un campo `maxResultSizeChars`, e potete scrivere ogni suggerimento in camelCase o snake\_case: `ToolAnnotations(readOnlyHint=True)` e `ToolAnnotations(read_only_hint=True)` sono equivalenti. Potete anche passare un semplice `mcp.types.ToolAnnotations` ovunque l'SDK accetti annotazioni.197Suggerimenti comportamentali per uno strumento, passati come argomento `annotations` di [`tool()`](#tool). `ToolAnnotations` estende `mcp.types.ToolAnnotations` dell'SDK MCP con un campo `maxResultSizeChars`, e puoi scrivere ogni suggerimento in camelCase o snake\_case: `ToolAnnotations(readOnlyHint=True)` e `ToolAnnotations(read_only_hint=True)` sono equivalenti. Per rileggere un suggerimento dall'oggetto, usa la grafia dichiarata dal pacchetto `mcp` installato: `.readOnlyHint` su `mcp` 1.x e `.read_only_hint` su 2.x, mentre `.maxResultSizeChars` funziona su entrambi. Puoi anche passare un semplice `mcp.types.ToolAnnotations` ovunque l'SDK accetti annotazioni.

198 198 

199I nomi snake\_case e il campo tipizzato `maxResultSizeChars` richiedono Python Agent SDK 0.2.140 o successivo. Le versioni da 0.1.31 a 0.2.139 riesportano `mcp.types.ToolAnnotations` senza modifiche. Nelle versioni da 0.1.55 a 0.2.139 potete comunque passare `maxResultSizeChars` come argomento di parola chiave: la classe MCP accetta campi extra e l'SDK invia il valore a Claude Code.199I nomi snake\_case e il campo tipizzato `maxResultSizeChars` richiedono Python Agent SDK 0.2.140 o successivo. Le versioni da 0.1.31 a 0.2.139 riesportano `mcp.types.ToolAnnotations` senza modifiche. Nelle versioni da 0.1.55 a 0.2.139 puoi comunque passare `maxResultSizeChars` come argomento di parola chiave: la classe MCP accetta campi extra e l'SDK invia il valore a Claude Code.

200 200 

201Tutti i campi sono opzionali. I client non dovrebbero fare affidamento sui suggerimenti per decisioni di sicurezza.201Tutti i campi sono opzionali. I client non dovrebbero fare affidamento sui suggerimenti per decisioni di sicurezza.

202 202 


318| Proprietà | Tipo | Descrizione |318| Proprietà | Tipo | Descrizione |

319| :- | :- | :- |319| :- | :- | :- |

320| `session_id` | `str` | Identificatore di sessione univoco |320| `session_id` | `str` | Identificatore di sessione univoco |

321| `summary` | `str` | Titolo di visualizzazione: titolo personalizzato, riepilogo generato automaticamente o primo prompt |321| `summary` | `str` | Titolo di visualizzazione: titolo personalizzato, prompt più recente, riepilogo generato automaticamente o primo prompt |

322| `last_modified` | `int` | Ora dell'ultima modifica in millisecondi dall'epoca |322| `last_modified` | `int` | Ora dell'ultima modifica in millisecondi dall'epoca |

323| `file_size` | `int \| None` | Dimensione del file di sessione in byte (`None` per backend di archiviazione remota) |323| `file_size` | `int \| None` | Dimensione del file di sessione in byte (`None` per backend di archiviazione remota) |

324| `custom_title` | `str \| None` | Titolo della sessione impostato dall'utente |324| `custom_title` | `str \| None` | Titolo della sessione: il titolo impostato dall'utente, o il titolo generato automaticamente quando non ne è impostato nessuno |

325| `first_prompt` | `str \| None` | Primo prompt utente significativo nella sessione |325| `first_prompt` | `str \| None` | Primo prompt utente significativo nella sessione |

326| `git_branch` | `str \| None` | Ramo Git alla fine della sessione |326| `git_branch` | `str \| None` | Branch Git alla fine della sessione |

327| `cwd` | `str \| None` | Directory di lavoro per la sessione |327| `cwd` | `str \| None` | Directory di lavoro per la sessione |

328| `tag` | `str \| None` | Tag della sessione impostato dall'utente (vedi [`tag_session()`](#tag_session)) |328| `tag` | `str \| None` | Tag della sessione impostato dall'utente (vedi [`tag_session()`](#tag_session)) |

329| `created_at` | `int \| None` | Ora di creazione della sessione in millisecondi dall'epoca |329| `created_at` | `int \| None` | Ora di creazione della sessione in millisecondi dall'epoca |


782</h2>782</h2>

783 783 

784<Note>784<Note>

785 **`@dataclass` vs `TypedDict`:** Questo SDK utilizza due tipi di tipi. Le classi decorate con `@dataclass` (come `ResultMessage`, `AgentDefinition`, `TextBlock`) sono istanze di oggetti in fase di esecuzione e supportano l'accesso agli attributi: `msg.result`. Le classi definite con `TypedDict` (come `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`) sono **dicts semplici in fase di esecuzione** e richiedono l'accesso alle chiavi: `config["budget_tokens"]`, non `config.budget_tokens`. La sintassi di chiamata `ClassName(field=value)` funziona per entrambi, ma solo le dataclass producono oggetti con attributi.785 **`@dataclass` vs `TypedDict`:** Questo SDK utilizza due tipi di tipi. Le classi decorate con `@dataclass` (come `ResultMessage`, `AgentDefinition`, `TextBlock`) sono istanze di oggetti in fase di esecuzione e supportano l'accesso agli attributi: `msg.result`. Le classi definite con `TypedDict` (come `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`) sono **dict semplici in fase di esecuzione** e richiedono l'accesso alle chiavi: `config["budget_tokens"]`, non `config.budget_tokens`. La sintassi di chiamata `ClassName(field=value)` funziona per entrambi, ma solo le dataclass producono oggetti con attributi.

786</Note>786</Note>

787 787 

788<h3 id="sdkmcptool">788<h3 id="sdkmcptool">


919| Proprietà | Tipo | Predefinito | Descrizione |919| Proprietà | Tipo | Predefinito | Descrizione |

920| :- | :- | :- | :- |920| :- | :- | :- | :- |

921| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configurazione degli strumenti. Usa `{"type": "preset", "preset": "claude_code"}` per gli strumenti predefiniti di Claude Code |921| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configurazione degli strumenti. Usa `{"type": "preset", "preset": "claude_code"}` per gli strumenti predefiniti di Claude Code |

922| `allowed_tools` | `list[str]` | `[]` | Strumenti da approvare automaticamente senza chiedere. Questo non limita Claude a solo questi strumenti. Se nomini uno dei [strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability) qui, Claude Code opta anche la sessione. Gli altri strumenti non elencati ricadono in `permission_mode` e `can_use_tool`. Usa `disallowed_tools` per bloccare gli strumenti. Vedi [Autorizzazioni](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |922| `allowed_tools` | `list[str]` | `[]` | Strumenti da approvare automaticamente senza chiedere. Questo non limita Claude a solo questi strumenti. Se nomini uno degli [strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability) qui, Claude Code abilita anche la sessione. Gli altri strumenti non elencati passano a `permission_mode` e `can_use_tool`. Usa `disallowed_tools` per bloccare gli strumenti. Vedi [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |

923| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Configurazione del prompt di sistema. Passa una stringa per un prompt personalizzato, `{"type": "preset", "preset": "claude_code"}` per il prompt di sistema di Claude Code con `"append"` opzionale, `{"type": "custom", "prompt": "..."}` per un prompt personalizzato che può anche impostare `"snapshot"`, o `{"type": "file", "path": "..."}` per caricare un prompt grande da disco. Vedi [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom), e [`SystemPromptFile`](#systempromptfile) |923| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Configurazione del prompt di sistema. Passa una stringa per un prompt personalizzato, `{"type": "preset", "preset": "claude_code"}` per il prompt di sistema di Claude Code con `"append"` opzionale, `{"type": "custom", "prompt": "..."}` per un prompt personalizzato che può anche impostare `"snapshot"`, o `{"type": "file", "path": "..."}` per caricare un prompt grande da disco. Vedi [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom), e [`SystemPromptFile`](#systempromptfile) |

924| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Configurazioni del server MCP o percorso al file di configurazione |924| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Configurazioni del server MCP o percorso al file di configurazione |

925| `strict_mcp_config` | `bool` | `False` | Quando `True`, usa solo i server passati in `mcp_servers` e ignora il progetto `.mcp.json`, le impostazioni utente, i server MCP forniti dai plugin e i [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Mappa al flag CLI `--strict-mcp-config` |925| `strict_mcp_config` | `bool` | `False` | Quando `True`, usa solo i server passati in `mcp_servers` e ignora il progetto `.mcp.json`, le impostazioni utente, i server MCP forniti dai plugin e i [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Mappa al flag CLI `--strict-mcp-config` |

926| `permission_mode` | `PermissionMode \| None` | `None` | Modalità di autorizzazione per l'utilizzo dello strumento |926| `permission_mode` | `PermissionMode \| None` | `None` | Modalità di permesso per l'utilizzo degli strumenti |

927| `continue_conversation` | `bool` | `False` | Continua la conversazione più recente |927| `continue_conversation` | `bool` | `False` | Continua la conversazione più recente |

928| `resume` | `str \| None` | `None` | ID della sessione da riprendere |928| `resume` | `str \| None` | `None` | ID della sessione da riprendere |

929| `session_id` | `str \| None` | `None` | Usa un ID di sessione specifico invece di uno generato automaticamente. Deve essere un UUID valido. Non può essere combinato con `continue_conversation` o `resume` a meno che `fork_session` non sia anche impostato |929| `session_id` | `str \| None` | `None` | Usa un ID di sessione specifico invece di uno generato automaticamente. Deve essere un UUID valido. Non può essere combinato con `continue_conversation` o `resume` a meno che `fork_session` non sia anche impostato |

930| `max_turns` | `int \| None` | `None` | Numero massimo di turni agentici (round trip di utilizzo dello strumento) |930| `max_turns` | `int \| None` | `None` | Numero massimo di turni agentici (round trip di utilizzo degli strumenti) |

931| `max_budget_usd` | `float \| None` | `None` | Interrompi la query quando la stima del costo lato client raggiunge questo valore in USD. Conta solo la spesa della chiamata stessa; i totali ripristinati da una sessione ripresa non contano. Per le avvertenze di accuratezza e il comportamento di ripristino, vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) |931| `max_budget_usd` | `float \| None` | `None` | Interrompi la query quando la stima del costo lato client raggiunge questo valore in USD. Conta solo la spesa della chiamata stessa; i totali ripristinati da una sessione ripresa non contano. Per le avvertenze di accuratezza e il comportamento di ripristino, vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) |

932| `disallowed_tools` | `list[str]` | `[]` | Strumenti da negare. Un nome semplice come `"Bash"` rimuove lo strumento dal contesto di Claude. Una regola con ambito come `"Bash(rm *)"` lascia lo strumento disponibile e nega le chiamate corrispondenti in ogni modalità di autorizzazione, incluso `bypassPermissions`, per il comando [come scritto](/docs/it/permissions#bash-rule-limits). Vedi [Autorizzazioni](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |932| `disallowed_tools` | `list[str]` | `[]` | Strumenti da negare. Un nome semplice come `"Bash"` rimuove lo strumento dal contesto di Claude. Una regola con ambito come `"Bash(rm *)"` lascia lo strumento disponibile e nega le chiamate corrispondenti in ogni modalità di permesso, incluso `bypassPermissions`, per il comando [come scritto](/docs/it/permissions#bash-rule-limits). Vedi [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |

933| `enable_file_checkpointing` | `bool` | `False` | Abilita il tracciamento dei cambiamenti dei file per il rewind. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |933| `enable_file_checkpointing` | `bool` | `False` | Abilita il tracciamento dei cambiamenti dei file per il rewind. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |

934| `model` | `str \| None` | `None` | Alias del modello Claude o nome completo del modello. Vedi [valori accettati e ID specifici del provider](/docs/it/model-config#available-models) |934| `model` | `str \| None` | `None` | Alias del modello Claude o nome completo del modello. Vedi [valori accettati e ID specifici del provider](/docs/it/model-config#available-models) |

935| `fallback_model` | `str \| None` | `None` | Modello di fallback da utilizzare se il modello primario fallisce. Accetta un elenco separato da virgole. Per indicazioni, vedi [Scegli un modello](/docs/it/agent-sdk/configuration#choose-a-model) |935| `fallback_model` | `str \| None` | `None` | Modello di fallback da utilizzare se il modello primario fallisce. Accetta un elenco separato da virgole. Per indicazioni, vedi [Scegli un modello](/docs/it/agent-sdk/configuration#choose-a-model) |

936| `betas` | `list[SdkBeta]` | `[]` | Funzionalità beta da abilitare. Vedi [`SdkBeta`](#sdkbeta) per le opzioni disponibili |936| `betas` | `list[SdkBeta]` | `[]` | Funzionalità beta da abilitare. Vedi [`SdkBeta`](#sdkbeta) per le opzioni disponibili |

937| `output_format` | `dict[str, Any] \| None` | `None` | Formato di output per risposte strutturate (ad es. `{"type": "json_schema", "schema": {...}}`). Vedi [Output strutturati](/docs/it/agent-sdk/structured-outputs) per i dettagli |937| `output_format` | `dict[str, Any] \| None` | `None` | Formato di output per risposte strutturate (ad es. `{"type": "json_schema", "schema": {...}}`). Vedi [Output strutturati](/docs/it/agent-sdk/structured-outputs) per i dettagli |

938| `permission_prompt_tool_name` | `str \| None` | `None` | Nome dello strumento MCP per i prompt di autorizzazione |938| `permission_prompt_tool_name` | `str \| None` | `None` | Nome dello strumento MCP per le richieste di permesso |

939| `cwd` | `str \| Path \| None` | `None` | Directory di lavoro corrente |939| `cwd` | `str \| Path \| None` | `None` | Directory di lavoro corrente |

940| `cli_path` | `str \| Path \| None` | `None` | Percorso personalizzato all'eseguibile CLI di Claude Code |940| `cli_path` | `str \| Path \| None` | `None` | Percorso personalizzato all'eseguibile CLI di Claude Code |

941| `settings` | `str \| None` | `None` | Percorso al file di impostazioni o una stringa JSON inline |941| `settings` | `str \| None` | `None` | Percorso al file di impostazioni o una stringa JSON inline |

942| `add_dirs` | `list[str \| Path]` | `[]` | Directory aggiuntive a cui Claude può accedere. L'SDK passa ogni voce a Claude Code come `--add-dir`, quindi con l'impostazione della fonte `project` Claude Code [carica anche le skills, i comandi e i subagenti della directory](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) |942| `add_dirs` | `list[str \| Path]` | `[]` | Directory aggiuntive a cui Claude può accedere. L'SDK passa ogni voce a Claude Code come `--add-dir`, quindi con la fonte di impostazioni `project` Claude Code [carica anche le skill, i comandi e i subagent della directory](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) |

943| `env` | `dict[str, str]` | `{}` | Variabili di ambiente unite in cima all'ambiente del processo ereditato. Vedi [Variabili di ambiente](/docs/it/env-vars) per le variabili che la CLI sottostante legge, e [Gestisci risposte API lente o bloccate](#handle-slow-or-stalled-api-responses) per le variabili relative ai timeout. Imposta `CLAUDE_AGENT_SDK_CLIENT_APP` per identificare la tua app nell'intestazione User-Agent |943| `env` | `dict[str, str]` | `{}` | Variabili d'ambiente unite in cima all'ambiente del processo ereditato. Vedi [Variabili d'ambiente](/docs/it/env-vars) per le variabili che la CLI sottostante legge, e [Gestisci risposte API lente o bloccate](#handle-slow-or-stalled-api-responses) per le variabili relative ai timeout. Imposta `CLAUDE_AGENT_SDK_CLIENT_APP` per identificare la tua app nell'intestazione User-Agent |

944| `extra_args` | `dict[str, str \| None]` | `{}` | Argomenti CLI aggiuntivi da passare direttamente alla CLI |944| `extra_args` | `dict[str, str \| None]` | `{}` | Argomenti CLI aggiuntivi da passare direttamente alla CLI |

945| `max_buffer_size` | `int \| None` | `None` | Byte massimi durante il buffering dell'stdout della CLI |945| `max_buffer_size` | `int \| None` | `None` | Byte massimi durante il buffering dello stdout della CLI |

946| `debug_stderr` | `Any` | `sys.stderr` | *Deprecato* - L'SDK ignora questo valore. Usa il callback `stderr` per l'output stderr della CLI |946| `debug_stderr` | `Any` | `sys.stderr` | *Deprecato* - L'SDK ignora questo valore. Usa il callback `stderr` per l'output stderr della CLI |

947| `stderr` | `Callable[[str], None] \| None` | `None` | Funzione di callback per l'output stderr dalla CLI |947| `stderr` | `Callable[[str], None] \| None` | `None` | Funzione di callback per l'output stderr dalla CLI |

948| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Funzione di callback per l'autorizzazione dello strumento, invocata solo quando il [flusso di autorizzazione](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate auto-approvate da `allowed_tools`, regole di autorizzazione, o `permission_mode`. Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves). Vedi [`CanUseTool`](#canusetool) per i dettagli |948| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Funzione di callback per i permessi degli strumenti, invocata solo quando il [flusso dei permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) arriva a una richiesta di permesso. Non invocata per le chiamate approvate automaticamente da `allowed_tools`, regole di consenso, o `permission_mode`. Una regola di consenso non pre-approva le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves). Vedi [`CanUseTool`](#canusetool) per i dettagli |

949| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurazioni hook per intercettare gli eventi |949| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurazioni degli hook per intercettare gli eventi |

950| `user` | `str \| None` | `None` | Su piattaforme POSIX, l'account utente del sistema operativo in cui viene eseguito il subprocess Claude Code. Claude Code mantiene l'ambiente del processo genitore, incluso `HOME`, e viene eseguito in `cwd` |950| `user` | `str \| None` | `None` | Su piattaforme POSIX, l'account utente del sistema operativo con cui viene eseguito il subprocess Claude Code. Claude Code mantiene l'ambiente del processo genitore, incluso `HOME`, e viene eseguito in `cwd` |

951| `include_partial_messages` | `bool` | `False` | Includi eventi di streaming di messaggi parziali. Se abilitato, i messaggi [`StreamEvent`](#streamevent) vengono prodotti |951| `include_partial_messages` | `bool` | `False` | Includi eventi di streaming di messaggi parziali. Se abilitato, vengono prodotti i messaggi [`StreamEvent`](#streamevent) |

952| `include_hook_events` | `bool` | `False` | Includi eventi del ciclo di vita dei hook nel flusso di messaggi come oggetti `HookEventMessage` |952| `include_hook_events` | `bool` | `False` | Includi eventi del ciclo di vita degli hook nel flusso di messaggi come oggetti `HookEventMessage` |

953| `forward_subagent_text` | `bool` | `False` | Inoltra i blocchi di testo e pensiero dei subagenti nel flusso di messaggi. Senza questa opzione, Claude Code emette blocchi `tool_use` e `tool_result` dei subagenti ma non testo o pensiero. Richiede Python Agent SDK 0.2.140 o successivo |953| `forward_subagent_text` | `bool` | `False` | Inoltra i blocchi di testo e di ragionamento dei subagent nel flusso di messaggi. Senza questa opzione, Claude Code omette i blocchi di testo e di ragionamento di un subagent eseguito in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background). Per i subagent annidati, le skill con `context: fork` e la versione di Claude Code richiesta da ciascuno, vedi [Segui i messaggi dei subagent](/docs/it/headless#follow-subagent-messages). Richiede Python Agent SDK 0.2.140 o successivo |

954| `verbatim_prompts` | `bool` | `False` | Consegna ogni prompt come scritto. L'SDK invia ogni messaggio utente con `client_composed` impostato a `True`. Vedi [`client_composed`](/docs/it/agent-sdk/typescript#sdkusermessage) per ciò che Claude Code salta su quei messaggi. Usa questa opzione quando il testo del prompt include contenuto che l'utente finale non ha digitato. Per il controllo per turno, lascialo disattivato e imposta `"client_composed": True` su singoli messaggi trasmessi invece. Mentre l'opzione è attiva, l'SDK sovrascrive qualsiasi valore `client_composed` che imposti. Richiede Python Agent SDK 0.2.158 o successivo e Claude Code v2.1.248 o successivo; la CLI fornita con quelle versioni dell'SDK soddisfa il requisito di Claude Code |954| `verbatim_prompts` | `bool` | `False` | Consegna ogni prompt come scritto. L'SDK invia ogni messaggio utente con `client_composed` impostato a `True`. Vedi [`client_composed`](/docs/it/agent-sdk/typescript#sdkusermessage) per ciò che Claude Code salta su quei messaggi. Usa questa opzione quando il testo del prompt include contenuto che l'utente finale non ha digitato. Per il controllo per turno, lasciala disattivata e imposta invece `"client_composed": True` su singoli messaggi trasmessi in streaming. Mentre l'opzione è attiva, l'SDK sovrascrive qualsiasi valore `client_composed` che imposti. Richiede Python Agent SDK 0.2.158 o successivo e Claude Code v2.1.248 o successivo; la CLI fornita con quelle versioni dell'SDK soddisfa il requisito di Claude Code |

955| `fork_session` | `bool` | `False` | Quando si riprende con `resume`, esegui il fork a un nuovo ID di sessione invece di continuare la sessione originale |955| `fork_session` | `bool` | `False` | Quando si riprende con `resume`, esegui il fork a un nuovo ID di sessione invece di continuare la sessione originale |

956| `resume_session_at` | `str \| None` | `None` | Quando si riprende, carica la conversazione solo fino a e includendo il messaggio con questo UUID. Usa con `resume`, e solitamente `fork_session`, per ramificarsi da un punto precedente. Richiede Python Agent SDK 0.2.137 o successivo |956| `resume_session_at` | `str \| None` | `None` | Quando si riprende, carica la conversazione solo fino al messaggio con questo UUID, incluso. Usa con `resume`, e solitamente `fork_session`, per creare un branch da un punto precedente. Richiede Python Agent SDK 0.2.137 o successivo |

957| `resume_drops_turn` | `str \| None` | `None` | UUID del prompt utente il cui turno un troncamento `resume_session_at` scarta. Quando impostato, la CLI rifiuta la ripresa se l'intervallo scartato contiene voci non attribuibili a quel turno. Richiede Python Agent SDK 0.2.137 o successivo e Claude Code v2.1.223 o successivo; la CLI fornita con quelle versioni dell'SDK soddisfa il requisito di Claude Code |957| `resume_drops_turn` | `str \| None` | `None` | UUID del prompt utente il cui turno un troncamento `resume_session_at` scarta. Quando impostato, la CLI rifiuta la ripresa se l'intervallo scartato contiene voci non attribuibili a quel turno. Richiede Python Agent SDK 0.2.137 o successivo e Claude Code v2.1.223 o successivo; la CLI fornita con quelle versioni dell'SDK soddisfa il requisito di Claude Code |

958| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Subagenti definiti programmaticamente |958| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Subagent definiti programmaticamente |

959| `plugins` | `list[SdkPluginConfig]` | `[]` | Carica plugin personalizzati da percorsi locali. Vedi [Plugin](/docs/it/agent-sdk/plugins) per i dettagli |959| `plugins` | `list[SdkPluginConfig]` | `[]` | Carica plugin personalizzati da percorsi locali. Vedi [Plugin](/docs/it/agent-sdk/plugins) per i dettagli |

960| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Configura il comportamento della sandbox a livello di programmazione. Vedi [Impostazioni sandbox](#sandboxsettings) per i dettagli |960| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Configura il comportamento della sandbox a livello di programmazione. Vedi [Impostazioni sandbox](#sandboxsettings) per i dettagli |

961| `setting_sources` | `list[SettingSource] \| None` | `None` (Impostazioni predefinite CLI: tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, progetto e locali. Con `skills` impostato e questo campo non impostato, solo le fonti utente e progetto si caricano. Imposta `setting_sources` esplicitamente per mantenere le impostazioni locali. La politica gestita dall'endpoint si carica indipendentemente; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Per gli input letti indipendentemente da questa opzione, vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |961| `setting_sources` | `list[SettingSource] \| None` | `None` (Impostazioni predefinite CLI: tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, progetto e locali. Con `skills` impostato e questo campo non impostato, si caricano solo le fonti utente e progetto. Imposta `setting_sources` esplicitamente per mantenere le impostazioni locali. La politica gestita dall'endpoint si carica indipendentemente; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale dell'organizzazione su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Per gli input letti indipendentemente da questa opzione, vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

962| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills disponibili per la sessione. Passa `"all"` per abilitare ogni skill scoperta, o un elenco di nomi di skill. Passa solo nomi esatti. L'SDK rifiuta i nomi malformati e in forma wildcard con un `ValueError` prima di avviare il processo Claude Code; questo controllo richiede Python Agent SDK 0.2.129 o successivo. Quando impostato, l'SDK aggiunge lo strumento Skill a `allowed_tools` automaticamente. Se passi anche `tools`, includi `"Skill"` in quell'elenco. Vedi [Skills](/docs/it/agent-sdk/skills) |962| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skill disponibili per la sessione. Passa `"all"` per abilitare ogni skill scoperta, o un elenco di nomi di skill. Passa solo nomi esatti. L'SDK rifiuta i nomi malformati e in forma wildcard con un `ValueError` prima di avviare il processo Claude Code; questo controllo richiede Python Agent SDK 0.2.129 o successivo. Quando impostato, l'SDK aggiunge automaticamente lo strumento Skill a `allowed_tools`. Se passi anche `tools`, includi `"Skill"` in quell'elenco. Vedi [Skill](/docs/it/agent-sdk/skills) |

963| `max_thinking_tokens` | `int \| None` | `None` | *Deprecato* - Token massimi per i blocchi di pensiero. Usa `thinking` invece |963| `max_thinking_tokens` | `int \| None` | `None` | *Deprecato* - Token massimi per i blocchi di ragionamento. Usa invece `thinking` |

964| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Controlla il comportamento del pensiero esteso. Ha la precedenza su `max_thinking_tokens` |964| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Controlla il comportamento del ragionamento esteso. Ha la precedenza su `max_thinking_tokens` |

965| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Livello di sforzo per la profondità del pensiero. Vedi [regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |965| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Livello di sforzo per la profondità del ragionamento. Vedi [regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

966| `session_store` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Specchia i trascritti di sessione in un backend esterno in modo che qualsiasi host possa riprenderli. Vedi [Persisti le sessioni nell'archiviazione esterna](/docs/it/agent-sdk/session-storage) |966| `session_store` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Replica le trascrizioni di sessione in un backend esterno in modo che un altro host possa riprenderle. Vedi [Persisti le sessioni nell'archiviazione esterna](/docs/it/agent-sdk/session-storage) |

967| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Quando eseguire il flush delle voci di trascritto mirrorato a `session_store`. `"batched"` esegue il flush una volta per turno o quando il buffer si riempie; `"eager"` attiva un flush in background dopo ogni frame. Ignorato quando `session_store` è `None` |967| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Quando eseguire il flush delle voci di trascrizione replicate in `session_store`. `"batched"` esegue il flush una volta per turno o quando il buffer si riempie; `"eager"` attiva un flush in background dopo ogni frame. Ignorato quando `session_store` è `None` |

968| `load_timeout_ms` | `int` | `60000` | Timeout per chiamata per `session_store.load()` e `list_subkeys()` durante la materializzazione della ripresa, in millisecondi |968| `load_timeout_ms` | `int` | `60000` | Timeout per chiamata per `session_store.load()` e `list_subkeys()` durante la materializzazione della ripresa, in millisecondi |

969| `task_budget` | `TaskBudget \| None` | `None` | Budget di token lato API. Inviato come `output_config.task_budget` con l'intestazione beta `task-budgets-2026-03-13`. Passa `{"total": <int>}`. |969| `task_budget` | `TaskBudget \| None` | `None` | Budget di token lato API. Inviato come `output_config.task_budget` con l'intestazione beta `task-budgets-2026-03-13`. Passa `{"total": <int>}`. |

970 970 


972 Gestisci risposte API lente o bloccate972 Gestisci risposte API lente o bloccate

973</h4>973</h4>

974 974 

975Il subprocess CLI legge diverse variabili di ambiente che controllano i timeout dell'API e il rilevamento dei blocchi. Passale attraverso `ClaudeAgentOptions.env`:975Il subprocess CLI legge diverse variabili d'ambiente che controllano i timeout dell'API e il rilevamento dei blocchi. Passale attraverso `ClaudeAgentOptions.env`:

976 976 

977```python theme={null}977```python theme={null}

978from claude_agent_sdk import ClaudeAgentOptions978from claude_agent_sdk import ClaudeAgentOptions


986)986)

987```987```

988 988 

989* `API_TIMEOUT_MS`: timeout per richiesta sul client Anthropic, in millisecondi. Predefinito `600000`. Si applica al ciclo principale e a tutti i subagenti.989* `API_TIMEOUT_MS`: timeout per richiesta sul client Anthropic, in millisecondi. Predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.

990* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di tentativi API. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo di parete nel caso peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere interruzioni più lunghe, imposta [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/it/errors#tune-retry-behavior): ritenta gli errori di capacità transitori indefinitamente e, a partire da Claude Code v2.1.199, aumenta il valore predefinito per altri errori transitori a `300` e rimuove il limite su questa variabile.990* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di nuovi tentativi API. Predefinito `10`, limitato a `15`. Ogni nuovo tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo reale nel caso peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere interruzioni più lunghe, imposta [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/it/errors#tune-retry-behavior): riprova indefinitamente in caso di errori di capacità transitori e, a partire da Claude Code v2.1.199, aumenta il valore predefinito per altri errori transitori a `300` e rimuove il limite su questa variabile.

991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti. Mentre il watchdog del flusso è attivo, il predefinito è `CLAUDE_STREAM_IDLE_TIMEOUT_MS` più 5 minuti, che ammonta a `600000` a meno che non aumenti quella variabile. Con il watchdog del flusso disattivato, il predefinito è `600000`. Prima di v2.1.257, il predefinito era sempre `600000`.991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagent. Mentre il watchdog del flusso è attivo, il predefinito è `CLAUDE_STREAM_IDLE_TIMEOUT_MS` più 5 minuti, che ammonta a `600000` a meno che non aumenti quella variabile. Con il watchdog del flusso disattivato, il predefinito è `600000`. Prima di v2.1.257, il predefinito era sempre `600000`.

992 992 

993 Il timer si ripristina su ogni evento di flusso. In caso di blocco, Claude Code interrompe il subagente e segnala il blocco al genitore. Per un subagente in background, contrassegna anche l'attività come non riuscita e allega qualsiasi risultato parziale.993 Il timer si azzera a ogni evento del flusso. In caso di blocco, Claude Code interrompe il subagent e segnala il blocco al genitore. Per un subagent in background, contrassegna anche l'attività come non riuscita e allega qualsiasi risultato parziale.

994* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: watchdog del flusso che interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` e viene bloccato a quel minimo. Dopo l'interruzione, [Tentativi automatici](/docs/it/errors#automatic-retries) copre cosa Claude Code fa, in base a quanto la risposta aveva progredito.994* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: watchdog del flusso che interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di essere trasmesso in streaming. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ha come predefinito `300000` e non può scendere sotto quel minimo. Dopo l'interruzione, [Nuovi tentativi automatici](/docs/it/errors#automatic-retries) descrive cosa fa Claude Code, in base a quanto la risposta era avanzata.

995 995 

996 Mentre il watchdog attende una risposta che un gateway dietro `ANTHROPIC_BASE_URL` tiene aperta con ping keep-alive, un host che imposta `include_partial_messages` continua a ricevere messaggi [`StreamEvent`](#streamevent) di `ping`. Leggi quei frame come vivacità piuttosto che cronometrare la sessione su silenzio. Prima di v2.1.257, i frame si fermavano 5 minuti dopo l'ultimo evento di flusso reale.996 Mentre il watchdog attende una risposta che un gateway dietro `ANTHROPIC_BASE_URL` tiene aperta con ping keep-alive, un host che imposta `include_partial_messages` continua a ricevere messaggi [`StreamEvent`](#streamevent) di `ping`. Interpreta quei frame come segnali di attività invece di far scadere la sessione per inattività. Prima di v2.1.257, i frame si fermavano 5 minuti dopo l'ultimo evento di flusso reale.

997 997 

998<h3 id="outputformat">998<h3 id="outputformat">

999 `OutputFormat`999 `OutputFormat`


1035| `preset` | Sì | Deve essere `"claude_code"` per utilizzare il prompt di sistema di Claude Code |1035| `preset` | Sì | Deve essere `"claude_code"` per utilizzare il prompt di sistema di Claude Code |

1036| `append` | No | Istruzioni aggiuntive da aggiungere al prompt di sistema preset |1036| `append` | No | Istruzioni aggiuntive da aggiungere al prompt di sistema preset |

1037| `exclude_dynamic_sections` | No | Sposta il contesto per utente, come la posizione della memoria automatica, dal prompt di sistema nel primo messaggio utente. Migliora il riutilizzo della cache dei prompt tra utenti e macchine. Vedi [Modifica i prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1037| `exclude_dynamic_sections` | No | Sposta il contesto per utente, come la posizione della memoria automatica, dal prompt di sistema nel primo messaggio utente. Migliora il riutilizzo della cache dei prompt tra utenti e macchine. Vedi [Modifica i prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1038| `snapshot` | No | Imposta a `False` per ricostruire il prompt di sistema su ogni richiesta invece di [riutilizzare il prompt che la sessione ha registrato alla sua prima richiesta](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Richiede `claude-agent-sdk` v0.2.153 o successivo |1038| `snapshot` | No | Imposta a `False` per ricostruire il prompt di sistema a ogni richiesta invece di [riutilizzare il prompt che la sessione ha registrato alla sua prima richiesta](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Richiede `claude-agent-sdk` v0.2.153 o successivo |

1039 1039 

1040<h3 id="systempromptcustom">1040<h3 id="systempromptcustom">

1041 `SystemPromptCustom`1041 `SystemPromptCustom`


1053| Campo | Obbligatorio | Descrizione |1053| Campo | Obbligatorio | Descrizione |

1054| :- | :- | :- |1054| :- | :- | :- |

1055| `type` | Sì | Deve essere `"custom"` |1055| `type` | Sì | Deve essere `"custom"` |

1056| `prompt` | Sì | Il testo del prompt di sistema. Passato alla CLI come argomento della riga di comando, quindi i [limiti di lunghezza della riga di comando](#systempromptfile) si applicano |1056| `prompt` | Sì | Il testo del prompt di sistema. Passato alla CLI come argomento della riga di comando, quindi si applicano i [limiti di lunghezza della riga di comando](#systempromptfile) |

1057| `snapshot` | No | Uguale a [`SystemPromptPreset.snapshot`](#systempromptpreset), applicato a `prompt` |1057| `snapshot` | No | Uguale a [`SystemPromptPreset.snapshot`](#systempromptpreset), applicato a `prompt` |

1058 1058 

1059<h3 id="systempromptfile">1059<h3 id="systempromptfile">

1060 `SystemPromptFile`1060 `SystemPromptFile`

1061</h3>1061</h3>

1062 1062 

1063Configurazione per il caricamento di un prompt di sistema personalizzato da un file invece di passarlo come stringa. L'SDK mappa questo al flag CLI [`--system-prompt-file`](/docs/it/cli-reference#system-prompt-flags). Usa il modulo file quando il prompt è grande: l'SDK passa una stringa `system_prompt` sull'argv del subprocess CLI, che è soggetto ai limiti di lunghezza della riga di comando del sistema operativo prima che l'SDK invii qualsiasi richiesta API. Su Linux un singolo argomento più lungo di circa 128 KB fallisce al spawn del processo con `Argument list too long`. Su Windows l'intera riga di comando è limitata a circa 32 KB, quindi il modulo stringa fallisce a una soglia inferiore.1063Configurazione per il caricamento di un prompt di sistema personalizzato da un file invece di passarlo come stringa. L'SDK mappa questo al flag CLI [`--system-prompt-file`](/docs/it/cli-reference#system-prompt-flags). Usa la forma file quando il prompt è grande: l'SDK passa una stringa `system_prompt` sull'argv del subprocess CLI, che è soggetto ai limiti di lunghezza della riga di comando del sistema operativo prima che l'SDK invii qualsiasi richiesta API. Su Linux un singolo argomento più lungo di circa 128 KB fallisce all'avvio del processo con `Argument list too long`. Su Windows l'intera riga di comando è limitata a circa 32 KB, quindi la forma stringa fallisce a una soglia inferiore.

1064 1064 

1065```python theme={null}1065```python theme={null}

1066class SystemPromptFile(TypedDict):1066class SystemPromptFile(TypedDict):


1077 `SettingSource`1077 `SettingSource`

1078</h3>1078</h3>

1079 1079 

1080Controlla quali fonti di configurazione basate su filesystem l'SDK carica le impostazioni da.1080Controlla da quali fonti di configurazione basate su filesystem l'SDK carica le impostazioni.

1081 1081 

1082```python theme={null}1082```python theme={null}

1083SettingSource = Literal["user", "project", "local"]1083SettingSource = Literal["user", "project", "local"]


1086| Valore | Descrizione | Posizione |1086| Valore | Descrizione | Posizione |

1087| :- | :- | :- |1087| :- | :- | :- |

1088| `"user"` | Impostazioni utente globali | `~/.claude/settings.json` |1088| `"user"` | Impostazioni utente globali | `~/.claude/settings.json` |

1089| `"project"` | Impostazioni di progetto condivise (controllate dalla versione) | `.claude/settings.json` |1089| `"project"` | Impostazioni di progetto condivise (sotto controllo di versione) | `.claude/settings.json` |

1090| `"local"` | Impostazioni di progetto locali, gitignored quando Claude Code salva un'impostazione in essa | `.claude/settings.local.json` |1090| `"local"` | Impostazioni di progetto locali, aggiunte a gitignore quando Claude Code vi salva un'impostazione | `.claude/settings.local.json` |

1091 1091 

1092<h4 id="default-behavior">1092<h4 id="default-behavior">

1093 Comportamento predefinito1093 Comportamento predefinito

1094</h4>1094</h4>

1095 1095 

1096Quando `setting_sources` è omesso o `None` e `skills` non è impostato, `query()` carica le stesse impostazioni del filesystem della CLI di Claude Code: utente, progetto e locale. Con `skills` impostato, la riga [`setting_sources`](#claudeagentoptions) descrive il valore predefinito corrente. La politica gestita dall'endpoint viene caricata in tutti i casi; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Per ulteriori informazioni, vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control).1096Quando `setting_sources` è omesso o `None` e `skills` non è impostato, `query()` carica le stesse impostazioni del filesystem della CLI di Claude Code: utente, progetto e locale. Con `skills` impostato, la riga [`setting_sources`](#claudeagentoptions) descrive il valore predefinito corrente. La politica gestita dall'endpoint viene caricata in tutti i casi; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale dell'organizzazione su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Per ulteriori informazioni, vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control).

1097 1097 

1098<h4 id="why-use-setting_sources">1098<h4 id="why-use-setting_sources">

1099 Perché usare setting\_sources1099 Perché usare setting\_sources


1192 `AgentDefinition`1192 `AgentDefinition`

1193</h3>1193</h3>

1194 1194 

1195Configurazione per un subagente definito programmaticamente.1195Configurazione per un subagent definito programmaticamente.

1196 1196 

1197```python theme={null}1197```python theme={null}

1198@dataclass1198@dataclass


1216| :- | :- | :- |1216| :- | :- | :- |

1217| `description` | Sì | Descrizione in linguaggio naturale di quando utilizzare questo agente |1217| `description` | Sì | Descrizione in linguaggio naturale di quando utilizzare questo agente |

1218| `prompt` | Sì | Il prompt di sistema dell'agente |1218| `prompt` | Sì | Il prompt di sistema dell'agente |

1219| `tools` | No | Array di nomi di strumenti consentiti. Se omesso, eredita ogni [strumento disponibile ai subagenti](/docs/it/sub-agents#available-tools) |1219| `tools` | No | Array di nomi di strumenti consentiti. Se omesso, eredita ogni [strumento disponibile ai subagent](/docs/it/sub-agents#available-tools) |

1220| `disallowedTools` | No | Array di nomi di strumenti da rimuovere dal set di strumenti dell'agente. Sono accettati anche i pattern a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni strumento da quel server, e `mcp__*` rimuove ogni strumento MCP da qualsiasi server |1220| `disallowedTools` | No | Array di nomi di strumenti da rimuovere dal set di strumenti dell'agente. Sono accettati anche i pattern a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni strumento da quel server, e `mcp__*` rimuove ogni strumento MCP da qualsiasi server |

1221| `model` | No | Override del modello per questo agente. Accetta un alias come `"sonnet"`, `"opus"`, `"haiku"`, o `"inherit"`, o un ID modello completo. Quando lo ometti, Claude Code sceglie il modello nell'[ordine del modello subagente](/docs/it/sub-agents#choose-a-model) |1221| `model` | No | Override del modello per questo agente. Accetta un alias come `"sonnet"`, `"opus"`, `"haiku"`, o `"inherit"`, o un ID modello completo. Quando lo ometti, Claude Code sceglie il modello secondo l'[ordine dei modelli dei subagent](/docs/it/sub-agents#choose-a-model) |

1222| `skills` | No | Elenco dei nomi di skills da precaricare nel contesto dell'agente all'avvio. Le skills non elencate rimangono invocabili attraverso lo strumento Skill |1222| `skills` | No | Elenco dei nomi di skill da precaricare nel contesto dell'agente all'avvio. Le skill non elencate rimangono invocabili attraverso lo strumento Skill |

1223| `memory` | No | Fonte di memoria per questo agente: `"user"`, `"project"`, o `"local"` |1223| `memory` | No | Fonte di memoria per questo agente: `"user"`, `"project"`, o `"local"` |

1224| `mcpServers` | No | Server MCP disponibili per questo agente. Ogni voce è un nome di server o un dict `{name: config}` inline |1224| `mcpServers` | No | Server MCP disponibili per questo agente. Ogni voce è un nome di server o un dict `{name: config}` inline |

1225| `initialPrompt` | No | Auto-inviato come il primo turno utente quando questo agente viene eseguito come agente del thread principale |1225| `initialPrompt` | No | Inviato automaticamente come primo turno utente quando questo agente viene eseguito come agente del thread principale |

1226| `maxTurns` | No | Numero massimo di turni agentici prima che l'agente si fermi |1226| `maxTurns` | No | Numero massimo di turni agentici prima che l'agente si fermi |

1227| `background` | No | Esegui questo agente come attività in background non bloccante quando invocato |1227| `background` | No | Esegui questo agente come attività in background non bloccante quando invocato |

1228| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello denominato o un numero intero. Vedi [`EffortLevel`](#effortlevel) |1228| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello denominato o un numero intero. Vedi [`EffortLevel`](#effortlevel) |

1229| `permissionMode` | No | Modalità di autorizzazione per l'esecuzione dello strumento all'interno di questo agente. Le [regole di eredità del subagente](/docs/it/agent-sdk/permissions#available-modes) decidono quando si applica. Vedi [`PermissionMode`](#permissionmode) |1229| `permissionMode` | No | Modalità di permesso per l'esecuzione degli strumenti all'interno di questo agente. Le [regole di ereditarietà dei subagent](/docs/it/agent-sdk/permissions#available-modes) decidono quando si applica. Vedi [`PermissionMode`](#permissionmode) |

1230 1230 

1231<Note>1231<Note>

1232 I nomi dei campi `AgentDefinition` usano camelCase, come `disallowedTools`, `permissionMode` e `maxTurns`. Questi nomi si mappano direttamente al formato wire condiviso con TypeScript SDK. Questo differisce da `ClaudeAgentOptions`, che usa Python snake\_case per i campi di livello superiore equivalenti come `disallowed_tools` e `permission_mode`. Poiché `AgentDefinition` è una dataclass, passare una parola chiave snake\_case genera un `TypeError` al momento della costruzione.1232 I nomi dei campi di `AgentDefinition` usano camelCase, come `disallowedTools`, `permissionMode` e `maxTurns`. Questi nomi si mappano direttamente al formato wire condiviso con TypeScript SDK. Questo differisce da `ClaudeAgentOptions`, che usa lo snake\_case di Python per i campi di livello superiore equivalenti come `disallowed_tools` e `permission_mode`. Poiché `AgentDefinition` è una dataclass, passare una parola chiave snake\_case genera un `TypeError` al momento della costruzione.

1233</Note>1233</Note>

1234 1234 

1235<h3 id="permissionmode">1235<h3 id="permissionmode">

1236 `PermissionMode`1236 `PermissionMode`

1237</h3>1237</h3>

1238 1238 

1239Modalità di autorizzazione per controllare l'esecuzione dello strumento.1239Modalità di permesso per controllare l'esecuzione degli strumenti.

1240 1240 

1241```python theme={null}1241```python theme={null}

1242PermissionMode = Literal[1242PermissionMode = Literal[


1253 `EffortLevel`1253 `EffortLevel`

1254</h3>1254</h3>

1255 1255 

1256Livelli di sforzo per guidare la profondità del pensiero.1256Livelli di sforzo per guidare la profondità del ragionamento.

1257 1257 

1258```python theme={null}1258```python theme={null}

1259EffortLevel = Literal[1259EffortLevel = Literal[


1269 `CanUseTool`1269 `CanUseTool`

1270</h3>1270</h3>

1271 1271 

1272Alias di tipo per le funzioni di callback di autorizzazione dello strumento.1272Alias di tipo per le funzioni di callback dei permessi degli strumenti.

1273 1273 

1274```python theme={null}1274```python theme={null}

1275CanUseTool = Callable[1275CanUseTool = Callable[


1283* `input_data`: I parametri di input dello strumento1283* `input_data`: I parametri di input dello strumento

1284* `context`: Un `ToolPermissionContext` con informazioni aggiuntive1284* `context`: Un `ToolPermissionContext` con informazioni aggiuntive

1285 1285 

1286Restituisce un `PermissionResult` (sia `PermissionResultAllow` che `PermissionResultDeny`).1286Restituisce un `PermissionResult` (`PermissionResultAllow` oppure `PermissionResultDeny`).

1287 1287 

1288Il callback è il sostituto SDK per il prompt di autorizzazione interattivo: viene invocato solo quando il [flusso di valutazione delle autorizzazioni](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in un prompt. Le chiamate dello strumento già approvate da una voce `allowed_tools`, una regola di autorizzazione nelle impostazioni, o la modalità di autorizzazione, come `acceptEdits` o `bypassPermissions`, non lo invocano mai. Per controllare ogni chiamata dello strumento, usa un [hook `PreToolUse`](/docs/it/agent-sdk/hooks) invece.1288Il callback è il sostituto SDK della richiesta di permesso interattiva: viene invocato solo quando il [flusso di valutazione dei permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in una richiesta di permesso. Le chiamate agli strumenti già approvate da una voce `allowed_tools`, da una regola di consenso nelle impostazioni, o dalla modalità di permesso, come `acceptEdits` o `bypassPermissions`, non lo invocano mai. Per controllare ogni chiamata a uno strumento, usa invece un [hook `PreToolUse`](/docs/it/agent-sdk/hooks).

1289 1289 

1290Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves); vedi [Come vengono valutate le autorizzazioni](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) per quali di esse raggiungono il callback e cosa accade in modalità `dontAsk` e `auto`.1290Una regola di consenso non pre-approva le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves); vedi [Come vengono valutati i permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) per sapere quali di esse raggiungono il callback e cosa accade in modalità `dontAsk` e `auto`.

1291 1291 

1292<h3 id="toolpermissioncontext">1292<h3 id="toolpermissioncontext">

1293 `ToolPermissionContext`1293 `ToolPermissionContext`

1294</h3>1294</h3>

1295 1295 

1296Informazioni di contesto passate ai callback di autorizzazione dello strumento.1296Informazioni di contesto passate ai callback dei permessi degli strumenti.

1297 1297 

1298```python theme={null}1298```python theme={null}

1299@dataclass1299@dataclass


1312| Campo | Tipo | Descrizione |1312| Campo | Tipo | Descrizione |

1313| :- | :- | :- |1313| :- | :- | :- |

1314| `signal` | `Any \| None` | Riservato per il supporto futuro del segnale di interruzione |1314| `signal` | `Any \| None` | Riservato per il supporto futuro del segnale di interruzione |

1315| `suggestions` | `list[PermissionUpdate]` | Suggerimenti di aggiornamento delle autorizzazioni dalla CLI. I prompt Bash includono un suggerimento con la destinazione `localSettings`, quindi restituirlo in `updated_permissions` scrive la regola in `.claude/settings.local.json` e persiste tra le sessioni. |1315| `suggestions` | `list[PermissionUpdate]` | Suggerimenti di aggiornamento dei permessi dalla CLI. Le richieste di permesso di Bash includono un suggerimento con la destinazione `localSettings`, quindi restituirlo in `updated_permissions` scrive la regola in `.claude/settings.local.json` e persiste tra le sessioni. |

1316| `tool_use_id` | `str \| None` | Identificatore della chiamata dello strumento specifica per cui è questo prompt. Sempre popolato quando consegnato a `can_use_tool` |1316| `tool_use_id` | `str \| None` | Identificatore della specifica chiamata allo strumento a cui si riferisce questa richiesta. Sempre popolato quando consegnato a `can_use_tool` |

1317| `agent_id` | `str \| None` | ID del sub-agente quando la chiamata proviene da un subagente; `None` per l'agente principale |1317| `agent_id` | `str \| None` | ID del subagent quando la chiamata proviene da un subagent; `None` per l'agente principale |

1318| `blocked_path` | `str \| None` | Percorso del file che ha attivato la richiesta di autorizzazione, se applicabile. Ad esempio, quando un comando Bash tenta di accedere a un percorso al di fuori delle directory consentite |1318| `blocked_path` | `str \| None` | Percorso del file che ha attivato la richiesta di permesso, se applicabile. Ad esempio, quando un comando Bash tenta di accedere a un percorso al di fuori delle directory consentite |

1319| `decision_reason` | `str \| None` | Motivo per cui questa richiesta di autorizzazione è stata attivata. Inoltrato dal `permissionDecisionReason` di un hook PreToolUse quando l'hook ha restituito `"ask"` |1319| `decision_reason` | `str \| None` | Motivo per cui questa richiesta di permesso è stata attivata. Inoltrato dal `permissionDecisionReason` di un hook PreToolUse quando l'hook ha restituito `"ask"` |

1320| `title` | `str \| None` | Frase completa del prompt di autorizzazione, come `Claude wants to read foo.txt`. Usa come testo del prompt principale quando presente |1320| `title` | `str \| None` | Frase completa della richiesta di permesso, come `Claude wants to read foo.txt`. Usala come testo principale della richiesta quando presente |

1321| `display_name` | `str \| None` | Breve frase nominale per l'azione dello strumento, come `Read file`, adatta per etichette di pulsanti |1321| `display_name` | `str \| None` | Breve frase nominale per l'azione dello strumento, come `Read file`, adatta per etichette di pulsanti |

1322| `description` | `str \| None` | Sottotitolo leggibile per l'interfaccia utente di autorizzazione |1322| `description` | `str \| None` | Sottotitolo leggibile per l'interfaccia utente dei permessi |

1323 1323 

1324<h3 id="permissionresult">1324<h3 id="permissionresult">

1325 `PermissionResult`1325 `PermissionResult`

1326</h3>1326</h3>

1327 1327 

1328Tipo di unione per i risultati del callback di autorizzazione.1328Tipo di unione per i risultati del callback dei permessi.

1329 1329 

1330```python theme={null}1330```python theme={null}

1331PermissionResult = PermissionResultAllow | PermissionResultDeny1331PermissionResult = PermissionResultAllow | PermissionResultDeny


1335 `PermissionResultAllow`1335 `PermissionResultAllow`

1336</h3>1336</h3>

1337 1337 

1338Risultato che indica che la chiamata dello strumento deve essere consentita.1338Risultato che indica che la chiamata allo strumento deve essere consentita.

1339 1339 

1340```python theme={null}1340```python theme={null}

1341@dataclass1341@dataclass


1349| :- | :- | :- | :- |1349| :- | :- | :- | :- |

1350| `behavior` | `Literal["allow"]` | `"allow"` | Deve essere "allow" |1350| `behavior` | `Literal["allow"]` | `"allow"` | Deve essere "allow" |

1351| `updated_input` | `dict[str, Any] \| None` | `None` | Input modificato da utilizzare al posto dell'originale |1351| `updated_input` | `dict[str, Any] \| None` | `None` | Input modificato da utilizzare al posto dell'originale |

1352| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Aggiornamenti delle autorizzazioni da applicare |1352| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Aggiornamenti dei permessi da applicare |

1353 1353 

1354<h3 id="permissionresultdeny">1354<h3 id="permissionresultdeny">

1355 `PermissionResultDeny`1355 `PermissionResultDeny`

1356</h3>1356</h3>

1357 1357 

1358Risultato che indica che la chiamata dello strumento deve essere negata.1358Risultato che indica che la chiamata allo strumento deve essere negata.

1359 1359 

1360```python theme={null}1360```python theme={null}

1361@dataclass1361@dataclass


1375 `PermissionUpdate`1375 `PermissionUpdate`

1376</h3>1376</h3>

1377 1377 

1378Configurazione per l'aggiornamento delle autorizzazioni a livello di programmazione.1378Configurazione per l'aggiornamento dei permessi a livello di programmazione.

1379 1379 

1380```python theme={null}1380```python theme={null}

1381@dataclass1381@dataclass


1399 1399 

1400| Campo | Tipo | Descrizione |1400| Campo | Tipo | Descrizione |

1401| :- | :- | :- |1401| :- | :- | :- |

1402| `type` | `Literal[...]` | Il tipo di operazione di aggiornamento delle autorizzazioni |1402| `type` | `Literal[...]` | Il tipo di operazione di aggiornamento dei permessi |

1403| `rules` | `list[PermissionRuleValue] \| None` | Regole per le operazioni add/replace/remove |1403| `rules` | `list[PermissionRuleValue] \| None` | Regole per le operazioni add/replace/remove |

1404| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Comportamento per le operazioni basate su regole |1404| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Comportamento per le operazioni basate su regole |

1405| `mode` | `PermissionMode \| None` | Modalità per l'operazione setMode |1405| `mode` | `PermissionMode \| None` | Modalità per l'operazione setMode |

1406| `directories` | `list[str] \| None` | Directory per le operazioni add/remove directory |1406| `directories` | `list[str] \| None` | Directory per le operazioni add/remove directory |

1407| `destination` | `Literal[...] \| None` | Dove applicare l'aggiornamento delle autorizzazioni |1407| `destination` | `Literal[...] \| None` | Dove applicare l'aggiornamento dei permessi |

1408 1408 

1409<h3 id="permissionrulevalue">1409<h3 id="permissionrulevalue">

1410 `PermissionRuleValue`1410 `PermissionRuleValue`

1411</h3>1411</h3>

1412 1412 

1413Una regola da aggiungere, sostituire o rimuovere in un aggiornamento delle autorizzazioni.1413Una regola da aggiungere, sostituire o rimuovere in un aggiornamento dei permessi.

1414 1414 

1415```python theme={null}1415```python theme={null}

1416@dataclass1416@dataclass


1435 `ThinkingConfig`1435 `ThinkingConfig`

1436</h3>1436</h3>

1437 1437 

1438Controlla il comportamento del pensiero esteso. Un'unione di tre configurazioni:1438Controlla il comportamento del ragionamento esteso. Un'unione di tre configurazioni:

1439 1439 

1440```python theme={null}1440```python theme={null}

1441ThinkingDisplay = Literal["summarized", "omitted"]1441ThinkingDisplay = Literal["summarized", "omitted"]


1461 1461 

1462| Variante | Campi | Descrizione |1462| Variante | Campi | Descrizione |

1463| :- | :- | :- |1463| :- | :- | :- |

1464| `adaptive` | `type`, `display` | Claude decide adattivamente quando pensare |1464| `adaptive` | `type`, `display` | Claude decide in modo adattivo quando ragionare |

1465| `enabled` | `type`, `budget_tokens`, `display` | Abilita il pensiero con un budget di token specifico |1465| `enabled` | `type`, `budget_tokens`, `display` | Abilita il ragionamento con un budget di token specifico |

1466| `disabled` | `type` | Disabilita il pensiero |1466| `disabled` | `type` | Disabilita il ragionamento |

1467 1467 

1468Il 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 negli output [`ThinkingBlock`](#thinkingblock). Claude Code non invia `display` ad Amazon Bedrock o alla piattaforma agente di Google Cloud, quindi su quei provider Opus 4.7 e versioni successive restituiscono output `ThinkingBlock` vuoti anche quando imposti `display` a `"summarized"`.1468Il campo opzionale `display` controlla se il testo del 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 del ragionamento negli output [`ThinkingBlock`](#thinkingblock). Claude Code non passa il tuo valore `display` ad alcuni provider, come Amazon Bedrock e l'Agent Platform di Google Cloud. Su quei provider, Opus 4.7 e versioni successive restituiscono output `ThinkingBlock` vuoti anche quando imposti `display` a `"summarized"`.

1469 1469 

1470Poiché queste sono classi `TypedDict`, sono dicts semplici in fase di esecuzione. Costruiscile come letterali dict o chiama la classe come costruttore; entrambi producono un `dict`. Accedi ai campi con `config["budget_tokens"]`, non `config.budget_tokens`:1470Poiché queste sono classi `TypedDict`, sono dict semplici in fase di esecuzione. Costruiscile come letterali dict o chiama la classe come un costruttore; entrambi producono un `dict`. Accedi ai campi con `config["budget_tokens"]`, non `config.budget_tokens`:

1471 1471 

1472```python theme={null}1472```python theme={null}

1473from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled1473from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled


1577 `McpServerStatusConfig`1577 `McpServerStatusConfig`

1578</h3>1578</h3>

1579 1579 

1580La configurazione di un server MCP come riportato da [`get_mcp_status()`](#methods). Questa è l'unione di tutte le varianti di trasporto [`McpServerConfig`](#mcpserverconfig) più una variante di output-only `claudeai-proxy` per i server proxy attraverso claude.ai.1580La configurazione di un server MCP come riportata da [`get_mcp_status()`](#methods). Questa è l'unione di tutte le varianti di trasporto di [`McpServerConfig`](#mcpserverconfig) più una variante di solo output `claudeai-proxy` per i server instradati tramite proxy attraverso claude.ai.

1581 1581 

1582```python theme={null}1582```python theme={null}

1583McpServerStatusConfig = (1583McpServerStatusConfig = (


1589)1589)

1590```1590```

1591 1591 

1592`McpSdkServerConfigStatus` è la forma serializzabile di [`McpSdkServerConfig`](#mcpsdkserverconfig) con solo i campi `type` (`"sdk"`) e `name` (`str`); l'`instance` in-process viene omesso. `McpClaudeAIProxyServerConfig` ha i campi `type` (`"claudeai-proxy"`), `url` (`str`), e `id` (`str`).1592`McpSdkServerConfigStatus` è la forma serializzabile di [`McpSdkServerConfig`](#mcpsdkserverconfig) con solo i campi `type` (`"sdk"`) e `name` (`str`); l'`instance` in-process viene omessa. `McpClaudeAIProxyServerConfig` ha i campi `type` (`"claudeai-proxy"`), `url` (`str`), e `id` (`str`).

1593 1593 

1594<h3 id="mcpstatusresponse">1594<h3 id="mcpstatusresponse">

1595 `McpStatusResponse`1595 `McpStatusResponse`

1596</h3>1596</h3>

1597 1597 

1598Risposta da [`ClaudeSDKClient.get_mcp_status()`](#methods). Avvolge l'elenco degli stati del server sotto la chiave `mcpServers`.1598Risposta da [`ClaudeSDKClient.get_mcp_status()`](#methods). Racchiude l'elenco degli stati dei server sotto la chiave `mcpServers`.

1599 1599 

1600```python theme={null}1600```python theme={null}

1601class McpStatusResponse(TypedDict):1601class McpStatusResponse(TypedDict):


1622| Campo | Tipo | Descrizione |1622| Campo | Tipo | Descrizione |

1623| :- | :- | :- |1623| :- | :- | :- |

1624| `name` | `str` | Nome del server |1624| `name` | `str` | Nome del server |

1625| `status` | `str` | Uno di `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, o `"disabled"` |1625| `status` | `str` | Uno tra `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, o `"disabled"` |

1626| `serverInfo` | `dict` (opzionale) | Nome e versione del server (`{"name": str, "version": str}`) |1626| `serverInfo` | `dict` (opzionale) | Nome e versione del server (`{"name": str, "version": str}`) |

1627| `error` | `str` (opzionale) | Messaggio di errore se il server non si è connesso |1627| `error` | `str` (opzionale) | Messaggio di errore se il server non si è connesso |

1628| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig) (opzionale) | Configurazione del server. Stessa forma di [`McpServerConfig`](#mcpserverconfig) (stdio, SSE, HTTP, o SDK), più una variante `claudeai-proxy` per i server connessi tramite claude.ai |1628| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig) (opzionale) | Configurazione del server. Stessa forma di [`McpServerConfig`](#mcpserverconfig) (stdio, SSE, HTTP, o SDK), più una variante `claudeai-proxy` per i server connessi tramite claude.ai |


1633 `ContextUsageResponse`1633 `ContextUsageResponse`

1634</h3>1634</h3>

1635 1635 

1636Risposta da [`ClaudeSDKClient.get_context_usage()`](#methods). Questo è lo stesso payload che Claude Code renderizza per il comando `/context` in una sessione interattiva, quindi insieme ai conteggi dei token contiene campi di visualizzazione come `color` e `gridRows` che Claude Code utilizza per disegnare la griglia di utilizzo `/context`.1636Risposta da [`ClaudeSDKClient.get_context_usage()`](#methods). Questo è lo stesso payload che Claude Code visualizza per il comando `/context` in una sessione interattiva, quindi insieme ai conteggi dei token contiene campi di visualizzazione come `color` e `gridRows` che Claude Code utilizza per disegnare la griglia di utilizzo di `/context`.

1637 1637 

1638Claude Code costruisce questo payload inviando diverse richieste all'API di [token-counting](https://platform.claude.com/docs/en/build-with-claude/token-counting). Queste richieste non appaiono nel flusso di messaggi, quindi il tracciamento dei costi che legge il flusso non le vedrà. Sull'API Anthropic, il conteggio dei token non viene fatturato.1638Claude Code costruisce questo payload inviando diverse richieste all'API di [token-counting](https://platform.claude.com/docs/en/build-with-claude/token-counting). Queste richieste non appaiono nel flusso di messaggi, quindi il tracciamento dei costi che legge il flusso non le vedrà. Sull'API Anthropic, il conteggio dei token non viene fatturato.

1639 1639 


1660 apiUsage: NotRequired[dict[str, Any] | None]1660 apiUsage: NotRequired[dict[str, Any] | None]

1661```1661```

1662 1662 

1663Ogni voce `ContextUsageCategory` contiene `name`, `tokens`, `color` e un flag opzionale `isDeferred`. `totalTokens` è l'utilizzo del contesto corrente della sessione, e `maxTokens` è la finestra rispetto alla quale viene misurato l'utilizzo. Quella finestra è la finestra di contesto del modello, o la finestra di auto-compattazione inferiore quando se ne applica una, e `rawMaxTokens` contiene lo stesso valore di `maxTokens`. `apiUsage` contiene l'utilizzo dalla risposta API più recente, non un totale in esecuzione per la sessione. Claude Code lascia i campi opzionali `deferredBuiltinTools`, `systemTools` e `systemPromptSections` non impostati, quindi aspettati che siano assenti anche se il tipo li dichiara.1663Ogni voce `ContextUsageCategory` contiene `name`, `tokens`, `color` e un flag opzionale `isDeferred`. `totalTokens` è l'utilizzo del contesto corrente della sessione, e `maxTokens` è la finestra rispetto alla quale viene misurato l'utilizzo. Quella finestra è la finestra di contesto del modello, o la finestra di compattazione automatica inferiore quando se ne applica una, e `rawMaxTokens` contiene lo stesso valore di `maxTokens`. `apiUsage` contiene l'utilizzo dalla risposta API più recente, non un totale progressivo per la sessione. Claude Code lascia non impostate le chiavi opzionali `deferredBuiltinTools`, `systemTools` e `systemPromptSections`, quindi aspettati che siano assenti anche se il tipo le dichiara.

1664 1664 

1665<h3 id="sdkpluginconfig">1665<h3 id="sdkpluginconfig">

1666 `SdkPluginConfig`1666 `SdkPluginConfig`


1738 1738 

1739L'SDK passa `tool_use_result` attraverso dalla CLI senza modifiche. Per uno strumento su un server MCP esterno il cui risultato contiene blocchi `resource_link`, il dict ha una chiave `resourceLinks` che contiene un elenco di dict con le chiavi del tipo TypeScript [`SDKMcpResourceLink`](/docs/it/agent-sdk/typescript#sdkmcpresourcelink). Claude riceve ogni link come una riga di testo nel risultato dello strumento. Per renderizzare i file restituiti dal server, leggi `resourceLinks` invece di analizzare quel testo. La chiave `resourceLinks` richiede Python Agent SDK 0.2.150 o successivo e Claude Code v2.1.257 o successivo; la CLI fornita con quella versione dell'SDK soddisfa il requisito di Claude Code.1739L'SDK passa `tool_use_result` attraverso dalla CLI senza modifiche. Per uno strumento su un server MCP esterno il cui risultato contiene blocchi `resource_link`, il dict ha una chiave `resourceLinks` che contiene un elenco di dict con le chiavi del tipo TypeScript [`SDKMcpResourceLink`](/docs/it/agent-sdk/typescript#sdkmcpresourcelink). Claude riceve ogni link come una riga di testo nel risultato dello strumento. Per renderizzare i file restituiti dal server, leggi `resourceLinks` invece di analizzare quel testo. La chiave `resourceLinks` richiede Python Agent SDK 0.2.150 o successivo e Claude Code v2.1.257 o successivo; la CLI fornita con quella versione dell'SDK soddisfa il requisito di Claude Code.

1740 1740 

1741La CLI omette la chiave quando il risultato non ha link e sui risultati dei subagenti. La CLI mantiene al massimo 50 link per risultato e smette di aggiungere link una volta che l'elenco raggiunge 64 KiB di JSON serializzato. Uno strumento che definisci in-process con [`tool()`](#tool) non produce mai la chiave, perché l'SDK appiattisce i suoi blocchi `resource_link` a testo prima che la CLI veda il risultato.1741La CLI omette la chiave quando il risultato non ha link e sui risultati dei subagent. La CLI mantiene al massimo 50 link per risultato e smette di aggiungere link una volta che l'elenco raggiunge 64 KiB di JSON serializzato. Uno strumento che definisci in-process con [`tool()`](#tool) non produce mai la chiave, perché l'SDK appiattisce i suoi blocchi `resource_link` a testo prima che la CLI veda il risultato.

1742 1742 

1743<h3 id="assistantmessage">1743<h3 id="assistantmessage">

1744 `AssistantMessage`1744 `AssistantMessage`


1847* `terminal_reason`: perché il ciclo di query è terminato, come `"completed"`, `"max_turns"`, `"api_error"`, `"aborted_streaming"`, o `"aborted_tools"`. Un valore di `"aborted_streaming"` o `"aborted_tools"` significa che il turno è stato interrotto prima del completamento. Le cause comuni sono [`interrupt()`](#claudesdkclient) e un callback di permesso che restituisce [`PermissionResultDeny`](#permissionresultdeny) con `interrupt=True`. `None` su versioni CLI che precedono il campo, su risultati da comandi locali come `/voice` o `/usage`, che bypassano il ciclo di query, o su risultati di errore sintetizzati emessi quando la sessione fallisce fatalmente. Rispecchia il [`SDKResultMessage.terminal_reason`](/docs/it/agent-sdk/typescript#sdkresultmessage) dell'SDK TypeScript, che elenca l'insieme completo di valori.1847* `terminal_reason`: perché il ciclo di query è terminato, come `"completed"`, `"max_turns"`, `"api_error"`, `"aborted_streaming"`, o `"aborted_tools"`. Un valore di `"aborted_streaming"` o `"aborted_tools"` significa che il turno è stato interrotto prima del completamento. Le cause comuni sono [`interrupt()`](#claudesdkclient) e un callback di permesso che restituisce [`PermissionResultDeny`](#permissionresultdeny) con `interrupt=True`. `None` su versioni CLI che precedono il campo, su risultati da comandi locali come `/voice` o `/usage`, che bypassano il ciclo di query, o su risultati di errore sintetizzati emessi quando la sessione fallisce fatalmente. Rispecchia il [`SDKResultMessage.terminal_reason`](/docs/it/agent-sdk/typescript#sdkresultmessage) dell'SDK TypeScript, che elenca l'insieme completo di valori.

1848* `origin`: origine del messaggio utente che ha attivato questo turno. In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), controlla questo per distinguere il risultato del tuo prompt, dove `origin` è `None` o `{"kind": "human"}`, dal risultato di un turno iniettato come una notifica di attività in background. Richiede Python Agent SDK 0.2.137 o successivo.1848* `origin`: origine del messaggio utente che ha attivato questo turno. In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), controlla questo per distinguere il risultato del tuo prompt, dove `origin` è `None` o `{"kind": "human"}`, dal risultato di un turno iniettato come una notifica di attività in background. Richiede Python Agent SDK 0.2.137 o successivo.

1849 1849 

1850Il dict `usage` copre solo il ciclo dell'agente principale ed esclude i subagenti e altre chiamate di modello nidificate o ausiliarie. In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), i valori sono per turno. Preferisci `model_usage` per la contabilità dei token e dei costi. Il dict `usage` contiene le seguenti chiavi quando presenti:1850Il dict `usage` copre solo il ciclo dell'agente principale ed esclude i subagent e altre chiamate di modello nidificate o ausiliarie. In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), i valori sono per turno. Preferisci `model_usage` per la contabilità dei token e dei costi. Il dict `usage` contiene le seguenti chiavi quando presenti:

1851 1851 

1852| Chiave | Tipo | Descrizione |1852| Chiave | Tipo | Descrizione |

1853| - | - | - |1853| - | - | - |

1854| `input_tokens` | `int` | Token di input consumati dal ciclo dell'agente di livello superiore. [I token dei subagenti non sono inclusi](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); usa `model_usage` per la contabilità dell'intero albero. |1854| `input_tokens` | `int` | Token di input consumati dal ciclo dell'agente di livello superiore. [I token dei subagent non sono inclusi](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); usa `model_usage` per la contabilità dell'intero albero. |

1855| `output_tokens` | `int` | Token di output generati dal ciclo dell'agente di livello superiore. I token dei subagenti non sono inclusi. |1855| `output_tokens` | `int` | Token di output generati dal ciclo dell'agente di livello superiore. I token dei subagent non sono inclusi. |

1856| `cache_creation_input_tokens` | `int` | Token utilizzati per creare nuove voci di cache. |1856| `cache_creation_input_tokens` | `int` | Token utilizzati per creare nuove voci di cache. |

1857| `cache_read_input_tokens` | `int` | Token letti dalle voci di cache esistenti. |1857| `cache_read_input_tokens` | `int` | Token letti dalle voci di cache esistenti. |

1858 1858 

1859Il dict `model_usage` mappa i nomi dei modelli all'utilizzo per modello. Copre ogni chiamata di modello effettuata attraverso la pipeline di query: il ciclo principale, i subagenti e le chiamate interne come la compattazione e gli agenti Workflow. Le chiamate helper al di fuori di quella pipeline, come il classificatore di permessi e le richieste di conteggio dei token, sono escluse da `model_usage`. Tratta `model_usage` come una stima, non come un estratto conto di fatturazione.1859Il dict `model_usage` mappa i nomi dei modelli all'utilizzo per modello. Copre ogni chiamata di modello effettuata attraverso la pipeline di query: il ciclo principale, i subagent e le chiamate interne come la compattazione e gli agenti Workflow. Le chiamate helper al di fuori di quella pipeline, come il classificatore di permessi e le richieste di conteggio dei token, sono escluse da `model_usage`. Tratta `model_usage` come una stima, non come un estratto conto di fatturazione.

1860 1860 

1861In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), `model_usage` e `total_cost_usd` sono cumulativi tra i turni, quindi leggi il risultato più recente piuttosto che sommare tra i risultati. Una chiamata che riprende una sessione conta anche i [totali ripristinati dalle chiamate precedenti della sessione](/docs/it/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Vedi [Traccia i costi in modalità input streaming](/docs/it/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) per i ripristini e [Recupera i totali dopo un crash della sessione](/docs/it/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) per i risultati azzerati.1861In [modalità input streaming](/docs/it/agent-sdk/streaming-vs-single-mode), `model_usage` e `total_cost_usd` sono cumulativi tra i turni, quindi leggi il risultato più recente piuttosto che sommare tra i risultati. Una chiamata che riprende una sessione conta anche i [totali ripristinati dalle chiamate precedenti della sessione](/docs/it/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Vedi [Traccia i costi in modalità input streaming](/docs/it/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) per i ripristini e [Recupera i totali dopo un crash della sessione](/docs/it/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) per i risultati azzerati.

1862 1862 


1869| `cacheReadInputTokens` | `int` | Token di lettura della cache per questo modello. |1869| `cacheReadInputTokens` | `int` | Token di lettura della cache per questo modello. |

1870| `cacheCreationInputTokens` | `int` | Token di creazione della cache per questo modello. |1870| `cacheCreationInputTokens` | `int` | Token di creazione della cache per questo modello. |

1871| `webSearchRequests` | `int` | Richieste di ricerca web effettuate da questo modello. |1871| `webSearchRequests` | `int` | Richieste di ricerca web effettuate da questo modello. |

1872| `thinkingTokens` | `int` | Token di thinking generati da questo modello, già contati in `outputTokens`. Assenti fino a quando un turno non viene eseguito su una versione di Claude Code che lo registra, e non dichiarati sul TypedDict, quindi leggilo con `.get()`. Richiede Python Agent SDK 0.2.150 o successivo, il cui CLI fornito lo registra. |1872| `thinkingTokens` | `int` | Token di ragionamento generati da questo modello, già contati in `outputTokens`. Assenti fino a quando un turno non viene eseguito su una versione di Claude Code che lo registra, e non dichiarati sul TypedDict, quindi leggilo con `.get()`. Richiede Python Agent SDK 0.2.150 o successivo, il cui CLI fornito lo registra. |

1873| `costUSD` | `float` | Costo stimato in USD per questo modello, calcolato lato client. Vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per avvertenze di fatturazione. |1873| `costUSD` | `float` | Costo stimato in USD per questo modello, calcolato lato client. Vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per avvertenze di fatturazione. |

1874| `contextWindow` | `int` | Dimensione della finestra di contesto per questo modello. |1874| `contextWindow` | `int` | Dimensione della finestra di contesto per questo modello. |

1875| `maxOutputTokens` | `int` | Limite massimo di token di output per questo modello. |1875| `maxOutputTokens` | `int` | Limite massimo di token di output per questo modello. |

1876| `canonicalModel` | `str` | ID del modello canonico utilizzato per la ricerca dei prezzi. Può differire dalla stringa del modello grezzo per cui la voce è codificata, come un ID specifico del provider o un alias. Non sempre presente. |1876| `canonicalModel` | `str` | ID del modello canonico utilizzato per la ricerca dei prezzi. Può differire dalla stringa del modello grezzo per cui la voce è codificata, come un ID specifico del provider o un alias. Non sempre presente. |

1877| `provider` | `str` | Provider API che ha servito questo modello, come `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle`, o `gateway`. Non sempre presente. |1877| `provider` | `str` | Provider API che ha servito questo modello, come `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle`, o `gateway`. Non sempre presente. |

1878| `costBasis` | `str` | Tabella dei prezzi usata per calcolare il prezzo dell'ultima richiesta di questo modello: `list` per il prezzo di listino, `managed` per una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing), o `unknown` quando nessuna delle due corrispondeva all'ID del modello. Non sempre presente, e non dichiarato sul TypedDict, quindi leggilo con `.get()`. Richiede Claude Code v2.1.246 o successivo. |

1878 1879 

1879<h3 id="streamevent">1880<h3 id="streamevent">

1880 `StreamEvent`1881 `StreamEvent`


1896| `uuid` | `str` | Identificatore univoco per questo evento |1897| `uuid` | `str` | Identificatore univoco per questo evento |

1897| `session_id` | `str` | Identificatore di sessione |1898| `session_id` | `str` | Identificatore di sessione |

1898| `event` | `dict[str, Any]` | I dati dell'evento di flusso dell'API Claude grezzo |1899| `event` | `dict[str, Any]` | I dati dell'evento di flusso dell'API Claude grezzo |

1899| `parent_tool_use_id` | `str \| None` | Sempre `None`. Gli eventi di flusso vengono emessi solo per la sessione principale. Per l'attribuzione dei subagenti, utilizza messaggi completi come [`AssistantMessage`](#assistantmessage) |1900| `parent_tool_use_id` | `str \| None` | Sempre `None`. Gli eventi di flusso vengono emessi solo per la sessione principale. Per l'attribuzione dei subagent, utilizza messaggi completi come [`AssistantMessage`](#assistantmessage) |

1900 1901 

1901<h3 id="ratelimitevent">1902<h3 id="ratelimitevent">

1902 `RateLimitEvent`1903 `RateLimitEvent`

1903</h3>1904</h3>

1904 1905 

1905Emesso quando lo stato del limite di velocità cambia (ad esempio, da `"allowed"` a `"allowed_warning"`). Usalo per avvertire gli utenti prima che raggiungano un limite rigido, o per fare backoff quando lo stato è `"rejected"`.1906Emesso quando lo stato del rate limit cambia (ad esempio, da `"allowed"` a `"allowed_warning"`). Usalo per avvertire gli utenti prima che raggiungano un limite rigido, o per fare backoff quando lo stato è `"rejected"`.

1906 1907 

1907```python theme={null}1908```python theme={null}

1908@dataclass1909@dataclass


1914 1915 

1915| Campo | Tipo | Descrizione |1916| Campo | Tipo | Descrizione |

1916| :- | :- | :- |1917| :- | :- | :- |

1917| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Stato del limite di velocità corrente |1918| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Stato corrente del rate limit |

1918| `uuid` | `str` | Identificatore di evento univoco |1919| `uuid` | `str` | Identificatore di evento univoco |

1919| `session_id` | `str` | Identificatore di sessione |1920| `session_id` | `str` | Identificatore di sessione |

1920 1921 


1922 `RateLimitInfo`1923 `RateLimitInfo`

1923</h3>1924</h3>

1924 1925 

1925Stato del limite di velocità trasportato da [`RateLimitEvent`](#ratelimitevent).1926Stato del rate limit trasportato da [`RateLimitEvent`](#ratelimitevent).

1926 1927 

1927```python theme={null}1928```python theme={null}

1928RateLimitStatus = Literal["allowed", "allowed_warning", "rejected"]1929RateLimitStatus = Literal["allowed", "allowed_warning", "rejected"]


1946| Campo | Tipo | Descrizione |1947| Campo | Tipo | Descrizione |

1947| :- | :- | :- |1948| :- | :- | :- |

1948| `status` | `RateLimitStatus` | Stato corrente, uno di `"allowed"`, `"allowed_warning"`, o `"rejected"`. `"allowed_warning"` significa avvicinarsi al limite; `"rejected"` significa che il limite è stato raggiunto |1949| `status` | `RateLimitStatus` | Stato corrente, uno di `"allowed"`, `"allowed_warning"`, o `"rejected"`. `"allowed_warning"` significa avvicinarsi al limite; `"rejected"` significa che il limite è stato raggiunto |

1949| `resets_at` | `int \| None` | Timestamp Unix quando la finestra del limite di velocità si ripristina |1950| `resets_at` | `int \| None` | Timestamp Unix quando la finestra del rate limit si ripristina |

1950| `rate_limit_type` | `RateLimitType \| None` | Quale finestra del limite di velocità si applica |1951| `rate_limit_type` | `RateLimitType \| None` | Quale finestra del rate limit si applica |

1951| `utilization` | `float \| None` | Frazione del limite di velocità consumato (0.0 a 1.0) |1952| `utilization` | `float \| None` | Frazione del rate limit consumata (0.0 a 1.0) |

1952| `overage_status` | `RateLimitStatus \| None` | Stato dell'utilizzo di overage pay-as-you-go, se applicabile |1953| `overage_status` | `RateLimitStatus \| None` | Stato dell'utilizzo di overage pay-as-you-go, se applicabile |

1953| `overage_resets_at` | `int \| None` | Timestamp Unix quando la finestra di overage si ripristina |1954| `overage_resets_at` | `int \| None` | Timestamp Unix quando la finestra di overage si ripristina |

1954| `overage_disabled_reason` | `str \| None` | Perché l'overage non è disponibile, se lo stato è `"rejected"` |1955| `overage_disabled_reason` | `str \| None` | Perché l'overage non è disponibile, se lo stato è `"rejected"` |


1978 `TaskStartedMessage`1979 `TaskStartedMessage`

1979</h3>1980</h3>

1980 1981 

1981Emesso quando un'attività in background inizia. Un'attività in background è qualsiasi cosa tracciata al di fuori del turno principale: un comando Bash in background, un watch [Monitor](#monitor), un subagente generato tramite lo strumento Agent, o un agente remoto. Il campo `task_type` ti dice quale. Questo nome non è correlato al rinomina dello strumento `Task`-to-`Agent`.1982Emesso quando un'attività in background inizia. Un'attività in background è qualsiasi cosa tracciata al di fuori del turno principale: un comando Bash in background, un watch [Monitor](#monitor), un subagent generato tramite lo strumento Agent, o un agente remoto. Il campo `task_type` ti dice quale. Questo nome non è correlato alla rinomina dello strumento da `Task` ad `Agent`.

1982 1983 

1983```python theme={null}1984```python theme={null}

1984@dataclass1985@dataclass


2045 `TaskNotificationMessage`2046 `TaskNotificationMessage`

2046</h3>2047</h3>

2047 2048 

2048Emesso quando un'attività in background si completa, fallisce o viene interrotta. Le attività in background includono comandi Bash `run_in_background`, watch Monitor e subagenti in background.2049Emesso quando un'attività in background si completa, fallisce o viene interrotta. Le attività in background includono comandi Bash `run_in_background`, watch Monitor e subagent in background.

2049 2050 

2050```python theme={null}2051```python theme={null}

2051@dataclass2052@dataclass


2071| `tool_use_id` | `str \| None` | ID di utilizzo dello strumento associato |2072| `tool_use_id` | `str \| None` | ID di utilizzo dello strumento associato |

2072| `usage` | `TaskUsage \| None` | Utilizzo dei token finale per l'attività |2073| `usage` | `TaskUsage \| None` | Utilizzo dei token finale per l'attività |

2073 2074 

2074Quando la CLI [sposta una lunga chiamata di strumento MCP in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), il risultato dello strumento per quella chiamata contiene solo un placeholder e il risultato reale della chiamata arriva in questo messaggio. Su una notifica `"completed"` per tale chiamata, la CLI aggiunge una chiave `resource_links` che elenca i file restituiti dallo strumento per riferimento, con le stesse voci e limiti della chiave `resourceLinks` su [`UserMessage.tool_use_result`](#usermessage). La chiave `resource_links` richiede Python Agent SDK 0.2.150 o successivo e Claude Code v2.1.257 o successivo; la CLI fornita con quella versione dell'SDK soddisfa il requisito di Claude Code.2075Quando la CLI [sposta una lunga chiamata a uno strumento MCP in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), il risultato dello strumento per quella chiamata contiene solo un placeholder e il risultato reale della chiamata arriva in questo messaggio. Su una notifica `"completed"` per tale chiamata, la CLI aggiunge una chiave `resource_links` che elenca i file restituiti dallo strumento per riferimento, con le stesse voci e limiti della chiave `resourceLinks` su [`UserMessage.tool_use_result`](#usermessage). La chiave `resource_links` richiede Python Agent SDK 0.2.150 o successivo e Claude Code v2.1.257 o successivo; la CLI fornita con quella versione dell'SDK soddisfa il requisito di Claude Code.

2075 2076 

2076La dataclass non ha un campo per `resource_links`. Leggilo dal dict `data` che il messaggio eredita da [`SystemMessage`](#systemmessage): `message.data.get("resource_links")`. Abbina la notifica alla chiamata con `tool_use_id`. La CLI omette la chiave quando il risultato non aveva link e su notifiche per attività che non sono chiamate di strumento MCP.2077La dataclass non ha un campo per `resource_links`. Leggilo dal dict `data` che il messaggio eredita da [`SystemMessage`](#systemmessage): `message.data.get("resource_links")`. Abbina la notifica alla chiamata con `tool_use_id`. La CLI omette la chiave quando il risultato non aveva link e su notifiche per attività che non sono chiamate a strumenti MCP.

2077 2078 

2078<h2 id="content-block-types">2079<h2 id="content-block-types">

2079 Tipi di blocco di contenuto2080 Tipi di blocco di contenuto


2153 Tipi di errore2154 Tipi di errore

2154</h2>2155</h2>

2155 2156 

2156I tipi di seguito definiscono cosa il vostro codice cattura. Per le voci associate ai messaggi di errore che questi tipi generano, con la causa e la correzione per ciascuno, consultate [Troubleshooting](/docs/it/agent-sdk/troubleshooting).2157I tipi di seguito definiscono cosa il tuo codice cattura. Per le voci associate ai messaggi di errore che questi tipi generano, con la causa e la correzione per ciascuno, consulta [Risoluzione dei problemi](/docs/it/agent-sdk/troubleshooting).

2157 2158 

2158<h3 id="claudesdkerror">2159<h3 id="claudesdkerror">

2159 `ClaudeSDKError`2160 `ClaudeSDKError`


2166 """Base error for Claude SDK."""2167 """Base error for Claude SDK."""

2167```2168```

2168 2169 

2169Quando una singola `query()` termina con un risultato di errore, ad esempio un errore di limite di turni, l'SDK genera un [`ResultError`](#resulterror) dopo aver restituito il messaggio di risultato finale. Le versioni di Python Agent SDK precedenti alla 0.2.140 generavano una semplice `Exception` che non era una sottoclasse di `ClaudeSDKError`.2170Quando una singola `query()` termina con un risultato di errore, ad esempio un errore di limite di turni, l'SDK genera un [`ResultError`](#resulterror).

2170 2171 

2171<h3 id="clinotfounderror">2172<h3 id="clinotfounderror">

2172 `CLINotFoundError`2173 `CLINotFoundError`


2216 `ResultError`2217 `ResultError`

2217</h3>2218</h3>

2218 2219 

2219Generato dopo il [`ResultMessage`](#resultmessage) finale quando il processo Claude Code esce perché l'esecuzione è terminata con un risultato di errore, come un errore di limite di turni o un errore API. `ResultError` è una sottoclasse di `ProcessError`, quindi un gestore `except ProcessError` esistente lo cattura anche. I suoi attributi contengono i campi di quel messaggio di risultato, quindi potete distinguere il motivo del fallimento dell'esecuzione senza analizzare il testo del messaggio. Richiede Python Agent SDK 0.2.140 o successivo.2220Generato quando il processo Claude Code esce perché l'esecuzione è terminata con un [messaggio di risultato](#resultmessage) di errore, come un errore di limite di turni o un errore API. `ResultError` è una sottoclasse di `ProcessError`, quindi un gestore `except ProcessError` esistente lo cattura anche. I suoi attributi contengono i campi di quel messaggio di risultato, quindi puoi distinguere il motivo del fallimento dell'esecuzione senza analizzare il testo del messaggio. Richiede Python Agent SDK 0.2.140 o successivo.

2220 2221 

2221```python theme={null}2222```python theme={null}

2222class ResultError(ProcessError):2223class ResultError(ProcessError):

2223 subtype: str | None # "error_max_turns", "error_during_execution", ...; "success" quando l'esecuzione è terminata su una richiesta non riuscita2224 subtype: str | None # "error_max_turns", "error_during_execution", ...; "success" when the run ended on a failed request

2224 errors: list[str] # un elenco vuoto quando il messaggio di risultato non ne ha segnalati2225 errors: list[str] # an empty list when the result message reported none

2225 result: str | None2226 result: str | None

2226 api_error_status: int | None2227 api_error_status: int | None

2227 terminal_reason: str | None # "max_turns", "api_error", ...; controllate questo prima di subtype2228 terminal_reason: str | None # "max_turns", "api_error", ...; check this before subtype

2228 session_id: str | None2229 session_id: str | None

2229 data: dict[str, Any] # il payload del messaggio di risultato grezzo2230 data: dict[str, Any] # the raw result message payload

2230```2231```

2231 2232 

2232Per distinguere i fallimenti, controllate `terminal_reason` prima di `subtype`. Quando la richiesta finale fallisce, ad esempio su un errore API, Claude Code segnala `subtype` `"success"` con la causa in `terminal_reason`, ad esempio `"api_error"`; quando un limite che avete impostato termina l'esecuzione, come `max_turns` o `max_budget_usd`, segnala un `subtype` di tipo `error_*`.2233Per distinguere i fallimenti, controlla `terminal_reason` prima di `subtype`. Quando la richiesta finale fallisce, ad esempio su un errore API, Claude Code segnala `subtype` `"success"` con la causa in `terminal_reason`, ad esempio `"api_error"`; quando un limite che hai impostato termina l'esecuzione, come `max_turns` o `max_budget_usd`, segnala un `subtype` di tipo `error_*`.

2233 2234 

2234<h3 id="clijsondecodeerror">2235<h3 id="clijsondecodeerror">

2235 `CLIJSONDecodeError`2236 `CLIJSONDecodeError`


2253 Tipi di Hook2254 Tipi di Hook

2254</h2>2255</h2>

2255 2256 

2256Per una guida completa sull'utilizzo degli hooks con esempi e modelli comuni, vedi la [guida Hooks](/docs/it/agent-sdk/hooks).2257Per una guida completa sull'utilizzo degli hook con esempi e modelli comuni, vedi la [guida Hooks](/docs/it/agent-sdk/hooks).

2257 2258 

2258<h3 id="hookevent">2259<h3 id="hookevent">

2259 `HookEvent`2260 `HookEvent`


2368| Campo | Tipo | Descrizione |2369| Campo | Tipo | Descrizione |

2369| :- | :- | :- |2370| :- | :- | :- |

2370| `session_id` | `str` | Identificatore di sessione corrente |2371| `session_id` | `str` | Identificatore di sessione corrente |

2371| `transcript_path` | `str` | Percorso al file di trascritto della sessione |2372| `transcript_path` | `str` | Percorso al file di trascrizione della sessione |

2372| `cwd` | `str` | Directory di lavoro corrente |2373| `cwd` | `str` | Directory di lavoro corrente |

2373| `permission_mode` | `str` (opzionale) | Modalità di autorizzazione corrente |2374| `permission_mode` | `str` (opzionale) | Modalità di permesso corrente |

2374 2375 

2375<h3 id="pretoolusehookinput">2376<h3 id="pretoolusehookinput">

2376 `PreToolUseHookInput`2377 `PreToolUseHookInput`


2394| `tool_name` | `str` | Nome dello strumento che sta per essere eseguito |2395| `tool_name` | `str` | Nome dello strumento che sta per essere eseguito |

2395| `tool_input` | `dict[str, Any]` | Parametri di input per lo strumento |2396| `tool_input` | `dict[str, Any]` | Parametri di input per lo strumento |

2396| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |2397| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |

2397| `agent_id` | `str` (opzionale) | Identificatore del subagente, presente quando l'hook si attiva all'interno di un subagente |2398| `agent_id` | `str` (opzionale) | Identificatore del subagent, presente quando l'hook si attiva all'interno di un subagent |

2398| `agent_type` | `str` (opzionale) | Tipo di subagente, presente quando l'hook si attiva all'interno di un subagente |2399| `agent_type` | `str` (opzionale) | Tipo di subagent, presente quando l'hook si attiva all'interno di un subagent |

2399 2400 

2400<h3 id="posttoolusehookinput">2401<h3 id="posttoolusehookinput">

2401 `PostToolUseHookInput`2402 `PostToolUseHookInput`


2421| `tool_input` | `dict[str, Any]` | Parametri di input che sono stati utilizzati |2422| `tool_input` | `dict[str, Any]` | Parametri di input che sono stati utilizzati |

2422| `tool_response` | `Any` | Risposta dall'esecuzione dello strumento |2423| `tool_response` | `Any` | Risposta dall'esecuzione dello strumento |

2423| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |2424| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |

2424| `agent_id` | `str` (opzionale) | Identificatore del subagente, presente quando l'hook si attiva all'interno di un subagente |2425| `agent_id` | `str` (opzionale) | Identificatore del subagent, presente quando l'hook si attiva all'interno di un subagent |

2425| `agent_type` | `str` (opzionale) | Tipo di subagente, presente quando l'hook si attiva all'interno di un subagente |2426| `agent_type` | `str` (opzionale) | Tipo di subagent, presente quando l'hook si attiva all'interno di un subagent |

2426 2427 

2427<h3 id="posttoolusefailurehookinput">2428<h3 id="posttoolusefailurehookinput">

2428 `PostToolUseFailureHookInput`2429 `PostToolUseFailureHookInput`


2450| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |2451| `tool_use_id` | `str` | Identificatore univoco per questo utilizzo dello strumento |

2451| `error` | `str` | Messaggio di errore dall'esecuzione fallita |2452| `error` | `str` | Messaggio di errore dall'esecuzione fallita |

2452| `is_interrupt` | `bool` (opzionale) | True quando il fallimento è arrivato a Claude Code come un'interruzione piuttosto che come un errore segnalato dallo strumento. L'annullamento di uno strumento in esecuzione con `interrupt()` non attiva questo hook; il risultato dello strumento contiene il messaggio di interruzione |2453| `is_interrupt` | `bool` (opzionale) | True quando il fallimento è arrivato a Claude Code come un'interruzione piuttosto che come un errore segnalato dallo strumento. L'annullamento di uno strumento in esecuzione con `interrupt()` non attiva questo hook; il risultato dello strumento contiene il messaggio di interruzione |

2453| `agent_id` | `str` (opzionale) | Identificatore del subagente, presente quando l'hook si attiva all'interno di un subagente |2454| `agent_id` | `str` (opzionale) | Identificatore del subagent, presente quando l'hook si attiva all'interno di un subagent |

2454| `agent_type` | `str` (opzionale) | Tipo di subagente, presente quando l'hook si attiva all'interno di un subagente |2455| `agent_type` | `str` (opzionale) | Tipo di subagent, presente quando l'hook si attiva all'interno di un subagent |

2455 2456 

2456<h3 id="userpromptsubmithookinput">2457<h3 id="userpromptsubmithookinput">

2457 `UserPromptSubmitHookInput`2458 `UserPromptSubmitHookInput`


2506| :- | :- | :- |2507| :- | :- | :- |

2507| `hook_event_name` | `Literal["SubagentStop"]` | Sempre "SubagentStop" |2508| `hook_event_name` | `Literal["SubagentStop"]` | Sempre "SubagentStop" |

2508| `stop_hook_active` | `bool` | Se l'hook di arresto è attivo |2509| `stop_hook_active` | `bool` | Se l'hook di arresto è attivo |

2509| `agent_id` | `str` | Identificatore univoco per il subagente |2510| `agent_id` | `str` | Identificatore univoco per il subagent |

2510| `agent_transcript_path` | `str` | Percorso al file di trascritto del subagente |2511| `agent_transcript_path` | `str` | Percorso al file di trascrizione del subagent |

2511| `agent_type` | `str` | Tipo del subagente |2512| `agent_type` | `str` | Tipo del subagent |

2512 2513 

2513<h3 id="precompacthookinput">2514<h3 id="precompacthookinput">

2514 `PreCompactHookInput`2515 `PreCompactHookInput`


2566| Campo | Tipo | Descrizione |2567| Campo | Tipo | Descrizione |

2567| :- | :- | :- |2568| :- | :- | :- |

2568| `hook_event_name` | `Literal["SubagentStart"]` | Sempre "SubagentStart" |2569| `hook_event_name` | `Literal["SubagentStart"]` | Sempre "SubagentStart" |

2569| `agent_id` | `str` | Identificatore univoco per il subagente |2570| `agent_id` | `str` | Identificatore univoco per il subagent |

2570| `agent_type` | `str` | Tipo del subagente |2571| `agent_type` | `str` | Tipo del subagent |

2571 2572 

2572<h3 id="permissionrequesthookinput">2573<h3 id="permissionrequesthookinput">

2573 `PermissionRequestHookInput`2574 `PermissionRequestHookInput`

2574</h3>2575</h3>

2575 2576 

2576Dati di input per gli eventi hook `PermissionRequest`. Consente agli hook di gestire le decisioni di autorizzazione a livello di programmazione.2577Dati di input per gli eventi hook `PermissionRequest`. Consente agli hook di gestire le decisioni di permesso a livello di programmazione.

2577 2578 

2578```python theme={null}2579```python theme={null}

2579class PermissionRequestHookInput(BaseHookInput):2580class PermissionRequestHookInput(BaseHookInput):


2588| Campo | Tipo | Descrizione |2589| Campo | Tipo | Descrizione |

2589| :- | :- | :- |2590| :- | :- | :- |

2590| `hook_event_name` | `Literal["PermissionRequest"]` | Sempre "PermissionRequest" |2591| `hook_event_name` | `Literal["PermissionRequest"]` | Sempre "PermissionRequest" |

2591| `tool_name` | `str` | Nome dello strumento che richiede l'autorizzazione |2592| `tool_name` | `str` | Nome dello strumento che richiede il permesso |

2592| `tool_input` | `dict[str, Any]` | Parametri di input per lo strumento |2593| `tool_input` | `dict[str, Any]` | Parametri di input per lo strumento |

2593| `permission_suggestions` | `list[Any]` (opzionale) | Aggiornamenti di autorizzazione suggeriti dalla CLI |2594| `permission_suggestions` | `list[Any]` (opzionale) | Aggiornamenti dei permessi suggeriti dalla CLI |

2594| `agent_id` | `str` (opzionale) | Identificatore del subagente, presente quando l'hook si attiva all'interno di un subagente |2595| `agent_id` | `str` (opzionale) | Identificatore del subagent, presente quando l'hook si attiva all'interno di un subagent |

2595| `agent_type` | `str` (opzionale) | Tipo di subagente, presente quando l'hook si attiva all'interno di un subagente |2596| `agent_type` | `str` (opzionale) | Tipo di subagent, presente quando l'hook si attiva all'interno di un subagent |

2596 2597 

2597<h3 id="hookjsonoutput">2598<h3 id="hookjsonoutput">

2598 `HookJSONOutput`2599 `HookJSONOutput`


2634 `HookSpecificOutput`2635 `HookSpecificOutput`

2635</h4>2636</h4>

2636 2637 

2637Un'unione discriminata di tipi di output specifici dell'evento `TypedDict`. Il campo `hookEventName` determina quali campi sono validi. Per i dettagli completi sui campi disponibili per evento hook, vedi [Controlla l'esecuzione con gli hooks](/docs/it/agent-sdk/hooks#outputs).2638Un'unione discriminata di tipi di output specifici dell'evento `TypedDict`. Il campo `hookEventName` determina quali campi sono validi. Per i dettagli completi sui campi disponibili per evento hook, vedi [Controlla l'esecuzione con gli hook](/docs/it/agent-sdk/hooks#outputs).

2638 2639 

2639```python theme={null}2640```python theme={null}

2640class PreToolUseHookSpecificOutput(TypedDict):2641class PreToolUseHookSpecificOutput(TypedDict):


2649 hookEventName: Literal["PostToolUse"]2650 hookEventName: Literal["PostToolUse"]

2650 additionalContext: NotRequired[str]2651 additionalContext: NotRequired[str]

2651 updatedToolOutput: NotRequired[Any]2652 updatedToolOutput: NotRequired[Any]

2652 updatedMCPToolOutput: NotRequired[Any] # Deprecated: use updatedToolOutput, which works for all tools2653 updatedMCPToolOutput: NotRequired[Any] # MCP tools only. Prefer updatedToolOutput, which works for all tools

2653 2654 

2654 2655 

2655class PostToolUseFailureHookSpecificOutput(TypedDict):2656class PostToolUseFailureHookSpecificOutput(TypedDict):


2708 Esempio di utilizzo di Hook2709 Esempio di utilizzo di Hook

2709</h3>2710</h3>

2710 2711 

2711Questo esempio registra due hook: uno che blocca i comandi bash pericolosi come `rm -rf /`, e un altro che registra tutto l'utilizzo dello strumento per il controllo. L'hook di sicurezza viene eseguito solo sui comandi Bash (tramite il `matcher`), mentre l'hook di registrazione viene eseguito su tutti gli strumenti.2712Questo esempio registra due hook: uno che blocca i comandi Bash pericolosi come `rm -rf /`, e un altro che registra nei log tutto l'utilizzo degli strumenti per il controllo. L'hook di sicurezza viene eseguito solo sui comandi Bash (tramite il `matcher`), mentre l'hook di logging viene eseguito su tutti gli strumenti.

2712 2713 

2713```python theme={null}2714```python theme={null}

2714import asyncio2715import asyncio


2767 Tipi di input/output dello strumento2768 Tipi di input/output dello strumento

2768</h2>2769</h2>

2769 2770 

2770Documentazione degli schemi di input/output per tutti gli strumenti Claude Code integrati. Mentre Python SDK non esporta questi come tipi, rappresentano la struttura degli input e output dello strumento nei messaggi.2771Documentazione degli schemi di input/output per gli strumenti Claude Code integrati. Mentre Python SDK non esporta questi come tipi, rappresentano la struttura degli input e output dello strumento nei messaggi.

2771 2772 

2772Ogni output mostrato è il valore che leggete da [`UserMessage.tool_use_result`](#usermessage) per quello strumento. I nomi delle chiavi appaiono esattamente come Claude Code li emette. Una chiave annotata `| None` con un commento "presente quando" o "opzionale" viene omessa quando non si applica.2773Ogni output mostrato è il valore che leggi da [`UserMessage.tool_use_result`](#usermessage) per quello strumento. I nomi delle chiavi appaiono esattamente come Claude Code li emette. Una chiave annotata `| None` con un commento "presente quando" o "opzionale" viene omessa quando non si applica.

2773 2774 

2774<h3 id="agent">2775<h3 id="agent">

2775 Agent2776 Agent


2788 "run_in_background": bool | None, # Gli agenti vengono eseguiti in background per impostazione predefinita; impostare su False per eseguire in modo sincrono2789 "run_in_background": bool | None, # Gli agenti vengono eseguiti in background per impostazione predefinita; impostare su False per eseguire in modo sincrono

2789 "name": str | None, # Nome per l'agente generato2790 "name": str | None, # Nome per l'agente generato

2790 "team_name": str | None, # Deprecato; ignorato2791 "team_name": str | None, # Deprecato; ignorato

2791 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Deprecato; ignorato. Le regole di ereditarietà dei subagenti decidono la modalità di autorizzazione di un subagente2792 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Deprecato; ignorato. Le regole di ereditarietà dei subagent decidono la modalità di permesso di un subagent

2792 "isolation": "worktree" | "remote" | None, # Modalità di isolamento per le modifiche dell'agente2793 "isolation": "worktree" | "remote" | None, # Modalità di isolamento per le modifiche dell'agente

2793}2794}

2794```2795```


2873}2874}

2874```2875```

2875 2876 

2876Restituisce il risultato dal subagente. L'output è discriminato sul campo `status`: `"completed"` per compiti terminati, `"async_launched"` per compiti in background, e `"remote_launched"` per compiti che Claude Code ha inviato a una sessione cloud, dove `sessionUrl` si collega a quella sessione e `taskId` l'identifica. Se Claude Code [ha mantenuto il worktree isolato del subagente](/docs/it/worktrees#isolate-subagents-with-worktrees), `worktreePath` sulla variante `completed` è dove trovarlo, e `worktreeBranch` è il suo ramo quando Claude Code ha creato il worktree con git.2877Restituisce il risultato dal subagent. L'output è discriminato sul campo `status`: `"completed"` per compiti terminati, `"async_launched"` per compiti in background, e `"remote_launched"` per compiti che Claude Code ha inviato a una sessione cloud, dove `sessionUrl` si collega a quella sessione e `taskId` l'identifica. Se Claude Code [ha mantenuto il worktree isolato del subagent](/docs/it/worktrees#isolate-subagents-with-worktrees), `worktreePath` sulla variante `completed` è dove trovarlo, e `worktreeBranch` è il suo branch quando Claude Code ha creato il worktree con git.

2877 2878 

2878Sulla variante `completed`, `resolvedModel` nomina il modello su cui il subagente ha iniziato, che può differire dal `model` input richiesto quando [`availableModels`](/docs/it/model-config#restrict-model-selection) o un altro override si applica. Questo campo richiede Claude Code v2.1.174 o successivo. Sulla variante `async_launched`, `resolvedModel` nomina il modello in uso quando l'agente si è spostato in background, quindi uno scambio che è accaduto prima del backgrounding si riflette lì. Il campo `modelsUsed` su entrambe le varianti elenca i modelli utilizzati in ordine, con ripetizioni consecutive compresse; è impostato solo quando il modello è stato scambiato durante l'esecuzione. `modelsUsed` e il comportamento di `resolvedModel` al momento del backgrounding richiedono Claude Code v2.1.212 o successivo.2879Sulla variante `completed`, `resolvedModel` nomina il modello su cui il subagent ha iniziato, che può differire dal `model` input richiesto quando [`availableModels`](/docs/it/model-config#restrict-model-selection) o un altro override si applica. Questo campo richiede Claude Code v2.1.174 o successivo. Sulla variante `async_launched`, `resolvedModel` nomina il modello in uso quando l'agente si è spostato in background, quindi uno scambio che è accaduto prima del backgrounding si riflette lì. Il campo `modelsUsed` su entrambe le varianti elenca i modelli utilizzati in ordine, con ripetizioni consecutive compresse; è impostato solo quando il modello è stato scambiato durante l'esecuzione. `modelsUsed` e il comportamento di `resolvedModel` al momento del backgrounding richiedono Claude Code v2.1.212 o successivo.

2879 2880 

2880Claude Code riempie `usage` e `totalTokens` dalla richiesta API finale del subagent, non dall'intera esecuzione. Quando presente, `thinking_tokens` sotto `output_tokens_details` in `usage` è il numero di token di output di quella richiesta che erano token di ragionamento. La chiave `output_tokens_details` richiede Python SDK v0.2.136 o successivo, che raggruppa Claude Code v2.1.228. La chiave `fallback_credit` richiede Python SDK v0.2.162 o successivo, che raggruppa Claude Code v2.1.285.2881Claude Code riempie `usage` e `totalTokens` dalla richiesta API finale del subagent, non dall'intera esecuzione. Quando presente, `thinking_tokens` sotto `output_tokens_details` in `usage` è il numero di token di output di quella richiesta che erano token di ragionamento. La chiave `output_tokens_details` richiede Python SDK v0.2.136 o successivo, che raggruppa Claude Code v2.1.228. La chiave `fallback_credit` richiede Python SDK v0.2.162 o successivo, che raggruppa Claude Code v2.1.285.

2881 2882 


2906 }2907 }

2907 ],2908 ],

2908 "answers": dict[str, str] | None,2909 "answers": dict[str, str] | None,

2909 # Risposte dell'utente popolate dal sistema di autorizzazione. Le risposte2910 # Risposte dell'utente popolate dal sistema di permessi. Le risposte

2910 # multi-select sono una stringa unita da virgole delle etichette selezionate; un2911 # multi-select sono una stringa unita da virgole delle etichette selezionate; un

2911 # elenco di etichette è accettato su input e coercizzato in quella forma2912 # elenco di etichette è accettato su input e coercizzato in quella forma

2912 "annotations": dict[str, dict] | None,2913 "annotations": dict[str, dict] | None,


2933 # Le risposte multi-select sono separate da virgole2934 # Le risposte multi-select sono separate da virgole

2934 "response": str | None,2935 "response": str | None,

2935 # Risposta in testo libero digitata invece di rispondere alle domande; quando impostato,2936 # Risposta in testo libero digitata invece di rispondere alle domande; quando impostato,

2936 # Claude riceve "L'utente ha risposto: ..." al posto dell'elenco di risposte2937 # Claude riceve "The user responded: ..." al posto dell'elenco di risposte

2937 "annotations": dict[str, dict] | None, # "preview" e "notes" per domanda dalle selezioni dell'utente2938 "annotations": dict[str, dict] | None, # "preview" e "notes" per domanda dalle selezioni dell'utente

2938 "afkTimeoutMs": int | None, # Impostato quando la finestra di dialogo si è auto-risolta dopo questo numero di millisecondi di inattività dell'utente; assente quando l'utente ha risposto2939 "afkTimeoutMs": int | None, # Impostato quando la finestra di dialogo si è auto-risolta dopo questo numero di millisecondi di inattività dell'utente; assente quando l'utente ha risposto

2939}2940}


2976 2977 

2977**Nome dello strumento:** `Monitor`2978**Nome dello strumento:** `Monitor`

2978 2979 

2979Esegue una sorgente in background e fornisce ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket ed emette un evento per frame di testo. Fornire esattamente uno tra `command` o `ws`.2980Esegue una sorgente in background e fornisce ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket ed emette un evento per frame di testo. Fornisci esattamente uno tra `command` o `ws`.

2980 2981 

2981Quando Monitor esegue un comando, segue le stesse regole di autorizzazione di Bash; un monitoraggio WebSocket richiede l'approvazione separatamente. L'origine `ws` richiede Claude Code v2.1.195 o successivo. Vedi il [riferimento dello strumento Monitor](/docs/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.2982Quando Monitor esegue un comando, segue le stesse regole di permesso di Bash; un monitoraggio WebSocket richiede l'approvazione separatamente. L'origine `ws` richiede Claude Code v2.1.195 o successivo. Vedi il [riferimento dello strumento Monitor](/docs/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.

2982 2983 

2983**Input:**2984**Input:**

2984 2985 


3065}3066}

3066```3067```

3067 3068 

3068L'output assume una delle seguenti forme a seconda di ciò che Claude ha letto. Controllare la chiave `type` per distinguerle.3069L'output assume una delle seguenti forme a seconda di ciò che Claude ha letto. Controlla la chiave `type` per distinguerle.

3069 3070 

3070**Output (type: `"text"`):**3071**Output (type: `"text"`):**

3071 3072 


3150 "file": {3151 "file": {

3151 "filePath": str,3152 "filePath": str,

3152 },3153 },

3153 "source": "seeded" | None, # Presente quando la copia precedente proveniva da un file CLAUDE.md o memory caricato all'avvio piuttosto che da una chiamata Read3154 "source": "seeded" | None, # Presente quando la copia precedente proveniva da un file CLAUDE.md o di memoria caricato all'avvio piuttosto che da una chiamata Read

3154}3155}

3155```3156```

3156 3157 


3544 TaskOutput3545 TaskOutput

3545</h3>3546</h3>

3546 3547 

3547Rimosso in Claude Code v2.1.277. In precedenza recuperava l'output da un'attività in background o completata in esecuzione, con `BashOutput` accettato come alias; Claude legge il file di output di un'attività in background con `Read` invece.3548Rimosso in Claude Code v2.1.277. In precedenza recuperava l'output da un'attività in background in esecuzione o completata, con `BashOutput` accettato come alias; Claude legge invece il file di output di un'attività in background con `Read`.

3548 3549 

3549Una voce `disallowed_tools` o una regola di negazione che ancora nomina uno dei due nomi viene ignorata senza un avviso.3550Una voce `disallowed_tools` o una regola di negazione che ancora nomina uno dei due nomi viene ignorata senza un avviso.

3550 3551 


3584 3585 

3585```python theme={null}3586```python theme={null}

3586{3587{

3587 "plan": str # Il piano da eseguire dall'utente per l'approvazione3588 "plan": str # Il piano da sottoporre all'utente per l'approvazione

3588}3589}

3589```3590```

3590 3591 


3593```python theme={null}3594```python theme={null}

3594{3595{

3595 "plan": str | None, # Il piano che è stato presentato all'utente3596 "plan": str | None, # Il piano che è stato presentato all'utente

3596 "isAgent": bool, # True quando un subagente ha chiamato lo strumento3597 "isAgent": bool, # True quando un subagent ha chiamato lo strumento

3597 "filePath": str | None, # Presente quando il piano è stato salvato in un file3598 "filePath": str | None, # Presente quando il piano è stato salvato in un file

3598 "hasTaskTool": bool | None, # Opzionale; se lo strumento Agent è disponibile nel contesto corrente3599 "hasTaskTool": bool | None, # Opzionale; se lo strumento Agent è disponibile nel contesto corrente

3599 "planWasEdited": bool | None, # Presente e True quando l'utente ha modificato il piano prima di approvarlo3600 "planWasEdited": bool | None, # Presente e True quando l'utente ha modificato il piano prima di approvarlo

Details

60 60 

61Per utilizzare gli output strutturati, definire uno [JSON Schema](https://json-schema.org/understanding-json-schema/about) che descriva la forma dei dati desiderati, quindi passarlo a `query()` tramite l'opzione `outputFormat` (TypeScript) o `output_format` (Python). Quando l'agente termina, il messaggio di risultato include un campo `structured_output` con dati convalidati corrispondenti allo schema.61Per utilizzare gli output strutturati, definire uno [JSON Schema](https://json-schema.org/understanding-json-schema/about) che descriva la forma dei dati desiderati, quindi passarlo a `query()` tramite l'opzione `outputFormat` (TypeScript) o `output_format` (Python). Quando l'agente termina, il messaggio di risultato include un campo `structured_output` con dati convalidati corrispondenti allo schema.

62 62 

63L'esempio seguente chiede all'agente di ricercare Anthropic e restituire il nome dell'azienda, l'anno di fondazione e la sede come output strutturato.63Prima di eseguire gli esempi in questa pagina, installa il Claude Agent SDK seguendo la [guida rapida](/docs/it/agent-sdk/quickstart#setup). L'esempio seguente chiede all'agente di ricercare Anthropic e restituire il nome dell'azienda, l'anno di fondazione e la sede come output strutturato.

64 64 

65<CodeGroup>65<CodeGroup>

66 ```typescript TypeScript theme={null}66 ```typescript TypeScript theme={null}


390 Gestione degli errori390 Gestione degli errori

391</h2>391</h2>

392 392 

393La generazione di output strutturati può non riuscire quando l'agente non può produrre JSON valido corrispondente allo schema. Questo accade in genere quando lo schema è troppo complesso per l'attività, l'attività stessa è ambigua o l'agente raggiunge il limite di tentativi cercando di correggere gli errori di convalida. Può anche accadere senza alcun errore di convalida: un [fallback del modello](/docs/it/model-config#automatic-model-fallback) può ritirare un output già completato a metà flusso, e se nessun nuovo tentativo lo sostituisce, l'esecuzione termina con lo stesso errore. Controllare l'elenco `errors` sul messaggio di risultato per distinguere le due cause prima di eseguire il debug dello schema.393La generazione di output strutturati può non riuscire quando l'agente non può produrre JSON valido corrispondente al tuo schema. Questo accade in genere quando lo schema è troppo complesso per l'attività, l'attività stessa è ambigua o l'agente raggiunge il limite di tentativi cercando di correggere gli errori di convalida. Può anche accadere senza alcun errore di convalida: un [fallback del modello](/docs/it/model-config#automatic-model-fallback) può ritirare un output già completato a metà flusso, e se nessun nuovo tentativo lo sostituisce, l'esecuzione termina con lo stesso errore. Controlla l'elenco `errors` sul messaggio di risultato per distinguere le due cause prima di eseguire il debug del tuo schema.

394 394 

395Quando si verifica un errore, il messaggio di risultato ha un `subtype` che indica cosa è andato storto:395Quando si verifica un errore, il messaggio di risultato ha un `subtype` che indica cosa è andato storto:

396 396 

Details

6 6 

7> Riferimento API completo per l'Agent SDK TypeScript, incluse tutte le funzioni, i tipi e le interfacce.7> Riferimento API completo per l'Agent SDK TypeScript, incluse tutte le funzioni, i tipi e le interfacce.

8 8 

9<script src="/docs/components/typescript-sdk-type-links.js" defer />

10 

11<h2 id="installation">9<h2 id="installation">

12 Installazione10 Installazione

13</h2>11</h2>


186 console.error("Claim failed:", error.message);184 console.error("Claim failed:", error.message);

187});185});

188 186 

189for await (const message of claimedQuery) {187try {

188 for await (const message of claimedQuery) {

190 console.log(message);189 console.log(message);

190 }

191} catch (error) {

192 // Dopo un claim rifiutato, la query rivendicata genera un'eccezione una volta prodotto il risultato di errore

193 console.error(`Session ended with an error: ${error}`);

191}194}

192```195```

193 196 


539| Proprietà | Tipo | Predefinito | Descrizione |542| Proprietà | Tipo | Predefinito | Descrizione |

540| :- | :- | :- | :- |543| :- | :- | :- | :- |

541| `abortController` | `AbortController` | `new AbortController()` | Controller per annullare le operazioni |544| `abortController` | `AbortController` | `new AbortController()` | Controller per annullare le operazioni |

542| `additionalDirectories` | `string[]` | `[]` | Directory aggiuntive a cui Claude può accedere. L'SDK passa ogni voce a Claude Code come `--add-dir`, quindi con l'impostazione `project` source Claude Code [carica anche le skill, i comandi e i subagent della directory](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) |545| `additionalDirectories` | `string[]` | `[]` | Directory aggiuntive a cui Claude può accedere. L'SDK passa ogni voce a Claude Code come `--add-dir`, quindi con l'origine di impostazioni `project` Claude Code [carica anche le skill, i comandi e i subagent della directory](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) |

543| `agent` | `string` | `undefined` | Nome dell'agente per il thread principale. L'agente deve essere definito nell'opzione `agents` o nelle impostazioni |546| `agent` | `string` | `undefined` | Nome dell'agente per il thread principale. L'agente deve essere definito nell'opzione `agents` o nelle impostazioni |

544| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Definire i subagent a livello di programmazione |547| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Definisci i subagent a livello di codice |

545| `agentProgressSummaries` | `boolean` | `false` | Quando `true`, genera riepiloghi di progresso su una riga per i subagent e li inoltra su eventi [`task_progress`](#sdktaskprogressmessage) tramite il campo `summary`. Si applica ai subagent in primo piano e in background |548| `agentProgressSummaries` | `boolean` | `false` | Quando è `true`, genera riepiloghi di avanzamento di una riga per i subagent e li inoltra negli eventi [`task_progress`](#sdktaskprogressmessage) tramite il campo `summary`. Si applica ai subagent in primo piano e in background |

546| `allowDangerouslySkipPermissions` | `boolean` | `false` | Abilita il bypass dei permessi. Richiesto quando si utilizza `permissionMode: 'bypassPermissions'`, all'avvio o successivamente tramite `setPermissionMode()`. Vedere [plan mode](/docs/it/agent-sdk/permissions#plan-mode-plan) per come interagisce con `permissionMode: 'plan'` |549| `allowDangerouslySkipPermissions` | `boolean` | `false` | Abilita l'aggiramento dei permessi. Obbligatorio quando usi `permissionMode: 'bypassPermissions'`, all'avvio o in seguito tramite `setPermissionMode()`. Consulta [plan mode](/docs/it/agent-sdk/permissions#plan-mode-plan) per come interagisce con `permissionMode: 'plan'` |

547| `allowedTools` | `string[]` | `[]` | Strumenti da approvare automaticamente senza richiedere conferma. Questo non limita Claude solo a questi strumenti. Se nomini uno dei [task-tracking tools](/docs/it/agent-sdk/todo-tracking#model-availability) qui, Claude Code opta anche la sessione. Gli altri strumenti non elencati ricadono in `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare gli strumenti. Vedi [Permissions](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |550| `allowedTools` | `string[]` | `[]` | Strumenti da approvare automaticamente senza chiedere conferma. Questo non limita Claude solo a questi strumenti. Se qui indichi uno degli [strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability), Claude Code abilita anche la sessione al loro uso. Gli altri strumenti non elencati passano a `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare gli strumenti. Consulta [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |

548| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Abilita le funzioni beta |551| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Abilita le funzionalità beta |

549| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata, invocata solo quando il [flusso di permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate pre-approvate da `allowedTools`, regole di autorizzazione o `permissionMode`. Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves). Vedi [`CanUseTool`](#canusetool) per i dettagli |552| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata, invocata solo quando il [flusso dei permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) arriva a una richiesta di permesso. Non viene invocata per le chiamate approvate automaticamente da `allowedTools`, dalle regole allow o da `permissionMode`. Una regola allow non pre-approva le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves). Consulta [`CanUseTool`](#canusetool) per i dettagli |

550| `continue` | `boolean` | `false` | Continua la conversazione più recente |553| `continue` | `boolean` | `false` | Continua la conversazione più recente |

551| `cwd` | `string` | `process.cwd()` | Directory di lavoro corrente |554| `cwd` | `string` | `process.cwd()` | Directory di lavoro corrente |

552| `debug` | `boolean` | `false` | Abilita la modalità debug per il processo Claude Code |555| `debug` | `boolean` | `false` | Abilita la modalità di debug per il processo Claude Code |

553| `debugFile` | `string` | `undefined` | Scrivi i log di debug in un percorso file specifico. Abilita implicitamente la modalità debug |556| `debugFile` | `string` | `undefined` | Scrive i log di debug in un percorso di file specifico. Abilita implicitamente la modalità di debug |

554| `disallowedTools` | `string[]` | `[]` | Strumenti da negare. Un nome semplice come `"Bash"` rimuove lo strumento dal contesto di Claude. Una regola con ambito come `"Bash(rm *)"` lascia lo strumento disponibile e nega le chiamate corrispondenti in ogni modalità di permesso, incluso `bypassPermissions`, per il comando [come scritto](/docs/it/permissions#bash-rule-limits). Vedi [Permissions](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |557| `disallowedTools` | `string[]` | `[]` | Strumenti da negare. Un nome semplice come `"Bash"` rimuove lo strumento dal contesto di Claude. Una regola con ambito come `"Bash(rm *)"` lascia lo strumento disponibile e nega le chiamate corrispondenti in ogni modalità di permesso, incluso `bypassPermissions`, per il comando [così come è scritto](/docs/it/permissions#bash-rule-limits). Consulta [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |

555| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Controlla quanto sforzo Claude dedica alla sua risposta. Funziona con il pensiero adattivo per guidare la profondità del pensiero. Vedi [regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |558| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Controlla quanto sforzo Claude dedica alla risposta. Funziona con il ragionamento adattivo per guidare la profondità del ragionamento. Consulta [regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

556| `enableFileCheckpointing` | `boolean` | `false` | Abilita il tracciamento dei cambiamenti di file per il rewind. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |559| `enableFileCheckpointing` | `boolean` | `false` | Abilita il tracciamento delle modifiche ai file per il riavvolgimento. Consulta [Checkpointing dei file](/docs/it/agent-sdk/file-checkpointing) |

557| `env` | `Record<string, string \| undefined>` | `process.env` | Variabili di ambiente. Quando impostato, questo sostituisce l'ambiente del subprocess invece di unirsi a `process.env`, quindi passa `{ ...process.env, YOUR_VAR: 'value' }` per mantenere le variabili ereditate come `PATH`. Vedi [Gestire risposte API lente o bloccate](#handle-slow-or-stalled-api-responses) per un esempio di questo modello, e [Variabili di ambiente](/docs/it/env-vars) per le variabili che la CLI sottostante legge. Imposta `CLAUDE_AGENT_SDK_CLIENT_APP` per identificare la tua app nell'intestazione User-Agent |560| `env` | `Record<string, string \| undefined>` | `process.env` | Variabili d'ambiente. Quando è impostato, sostituisce l'ambiente del sottoprocesso invece di fare il merge con `process.env`, quindi passa `{ ...process.env, YOUR_VAR: 'value' }` per mantenere le variabili ereditate come `PATH`. Consulta [Gestire risposte API lente o bloccate](#handle-slow-or-stalled-api-responses) per un esempio di questo pattern, e [Variabili d'ambiente](/docs/it/env-vars) per le variabili lette dalla CLI sottostante. Imposta `CLAUDE_AGENT_SDK_CLIENT_APP` per identificare la tua app nell'header User-Agent |

558| `executable` | `'bun' \| 'deno' \| 'node'` | Rilevato automaticamente | Runtime JavaScript da utilizzare |561| `executable` | `'bun' \| 'deno' \| 'node'` | Rilevato automaticamente | Runtime JavaScript da usare |

559| `executableArgs` | `string[]` | `[]` | Argomenti da passare all'eseguibile |562| `executableArgs` | `string[]` | `[]` | Argomenti da passare all'eseguibile |

560| `extraArgs` | `Record<string, string \| null>` | `{}` | Argomenti aggiuntivi |563| `extraArgs` | `Record<string, string \| null>` | `{}` | Argomenti aggiuntivi |

561| `fallbackModel` | `string` | `undefined` | Modello da utilizzare se il modello primario fallisce. Accetta un elenco separato da virgole. Per l'ordine e il limite, vedi [Fallback model chains](/docs/it/model-config#fallback-model-chains). Per indicazioni, vedi [Scegli un modello](/docs/it/agent-sdk/configuration#choose-a-model) |564| `fallbackModel` | `string` | `undefined` | Modello da usare se il modello principale non riesce. Accetta un elenco separato da virgole. Per l'ordine e il limite, consulta [Catene di modelli di fallback](/docs/it/model-config#fallback-model-chains). Per indicazioni, consulta [Scegliere un modello](/docs/it/agent-sdk/configuration#choose-a-model) |

562| `forkSession` | `boolean` | `false` | Quando si riprende con `resume`, esegui il fork a un nuovo ID di sessione invece di continuare la sessione originale |565| `forkSession` | `boolean` | `false` | Quando riprendi con `resume`, esegue il fork verso un nuovo ID di sessione invece di continuare la sessione originale |

563| `forwardSubagentText` | `boolean` | `false` | Inoltra i blocchi di testo e pensiero del subagent come messaggi di assistente e utente con `parent_tool_use_id` impostato, in modo che i consumer possano rendere una trascrizione nidificata. Senza questa opzione, Claude Code emette blocchi `tool_use` e `tool_result` del subagent ma non testo o pensiero. I messaggi dai subagent a ogni profondità di nidificazione vengono inoltrati su Claude Code v2.1.219 e successivi; prima di v2.1.219, solo i messaggi dai subagent di profondità-1 apparivano. I messaggi dei subagent che una skill con fork genera, e delle skill con fork nidificate, richiedono v2.1.275 o successivo |566| `forwardSubagentText` | `boolean` | `false` | Inoltra il testo e i blocchi di ragionamento dei subagent come messaggi assistant e user con `parent_tool_use_id` impostato, così i consumer possono mostrare una trascrizione annidata. Senza questa opzione, Claude Code omette il testo e i blocchi di ragionamento di un subagent eseguito in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background). Per i subagent annidati, le skill con `context: fork` e la versione di Claude Code richiesta da ciascuno, consulta [Seguire i messaggi dei subagent](/docs/it/headless#follow-subagent-messages) |

564| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Callback hook per gli eventi |567| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Callback degli hook per gli eventi |

565| `includeHookEvents` | `boolean` | `false` | Includi gli eventi del ciclo di vita hook nel flusso di messaggi come [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage), e [`SDKHookResponseMessage`](#sdkhookresponsemessage). Gli eventi del ciclo di vita per gli hook `SessionStart` e `Setup` sono sempre inclusi e non necessitano di questa opzione. Alcuni eventi hook, come `Notification`, `SessionEnd`, `PreCompact`, e `PostCompact`, non producono mai un `SDKHookStartedMessage`, anche con questa opzione. Per questi eventi, Claude Code emette comunque un `SDKHookProgressMessage` mentre un hook di comando che viene eseguito per più di un secondo produce output, ed emette un `SDKHookResponseMessage` solo quando un hook [che viene eseguito in background](/docs/it/hooks#run-hooks-in-the-background) termina |568| `includeHookEvents` | `boolean` | `false` | Include gli eventi del ciclo di vita degli hook nel flusso dei messaggi come [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage). Gli eventi del ciclo di vita per gli hook `SessionStart` e `Setup` sono sempre inclusi e non richiedono questa opzione. Alcuni eventi hook, come `Notification`, `SessionEnd`, `PreCompact` e `PostCompact`, non producono mai un `SDKHookStartedMessage`, nemmeno con questa opzione. Per questi eventi, Claude Code emette comunque un `SDKHookProgressMessage` mentre un hook di comando che dura più di un secondo produce output, ed emette un `SDKHookResponseMessage` solo quando termina un hook [eseguito in background](/docs/it/hooks#run-hooks-in-the-background) |

566| `includePartialMessages` | `boolean` | `false` | Includi gli eventi di messaggi parziali |569| `includePartialMessages` | `boolean` | `false` | Include gli eventi dei messaggi parziali |

567| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in millisecondi per ogni chiamata `sessionStore.load()` e `sessionStore.listSubkeys()` durante la materializzazione del resume. Se l'adapter non si stabilizza entro questa finestra, la query fallisce invece di bloccarsi. Ignorato quando `sessionStore` non è impostato |570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in millisecondi per ogni chiamata a `sessionStore.load()` e `sessionStore.listSubkeys()` durante la materializzazione della ripresa. Se l'adattatore non si risolve entro questo intervallo, la query fallisce invece di bloccarsi. Ignorato quando `sessionStore` non è impostato |

568| `managedSettings` | `Settings` | `undefined` | Impostazioni a livello di policy che il tuo processo host fornisce alla sessione generata. Su macchine con impostazioni gestite distribuite dall'amministratore, Claude Code ignora queste a meno che la fonte gestita di priorità più alta dell'amministratore non imposti `parentSettingsBehavior: 'merge'`, e non le unisce mai mentre un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite. I valori uniti passano attraverso un filtro solo restrittivo; [Limita le impostazioni padre](/docs/it/claude-apps-gateway#restrict-parent-settings) copre ciò che il filtro ammette e i blocchi `allowManaged*Only`. Un host che imposta [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars) ha tre chiavi lette direttamente da questo payload: la sua [configurazione del modello](/docs/it/model-config#restrict-model-selection) su Claude Code v2.1.222 o successivo, [`modelPricing`](/docs/it/settings-reference#modelpricing) quando nessuna fonte gestita lo imposta su v2.1.246 o successivo, e la sua voce `ENABLE_TOOL_SEARCH` env su v2.1.247 o successivo |571| `managedSettings` | `Settings` | `undefined` | Impostazioni di livello policy che il tuo processo host fornisce alla sessione avviata. Sui computer con impostazioni gestite distribuite dall'amministratore, Claude Code le ignora a meno che la fonte gestita con la massima priorità dell'amministratore non imposti `parentSettingsBehavior: 'merge'`, e non ne esegue mai il merge mentre un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite. I valori sottoposti a merge passano attraverso un filtro solo restrittivo; [Limitare le impostazioni padre](/docs/it/claude-apps-gateway#restrict-parent-settings) descrive cosa ammette il filtro e i blocchi `allowManaged*Only`. Un host che imposta [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars) legge invece tre chiavi direttamente da questo payload: la sua [configurazione del modello](/docs/it/model-config#restrict-model-selection) su Claude Code v2.1.222 o successivo, [`modelPricing`](/docs/it/settings-reference#modelpricing) quando nessuna fonte gestita lo imposta su v2.1.246 o successivo, e la sua voce env `ENABLE_TOOL_SEARCH` su v2.1.247 o successivo |

569| `maxBudgetUsd` | `number` | `undefined` | Interrompi la query quando la stima del costo lato client raggiunge questo valore in USD. Conta solo la spesa della chiamata stessa; i totali ripristinati da una sessione ripresa non contano. Per le avvertenze di accuratezza e il comportamento di reset, vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) |572| `maxBudgetUsd` | `number` | `undefined` | Interrompe la query quando la stima dei costi lato client raggiunge questo valore in USD. Conta solo la spesa della chiamata stessa; i totali ripristinati da una sessione ripresa non vengono conteggiati. Per le avvertenze sulla precisione e il comportamento di azzeramento, consulta [Tracciare costi e utilizzo](/docs/it/agent-sdk/cost-tracking) |

570| `maxThinkingTokens` | `number` | `undefined` | *Deprecato:* Usa `thinking` invece. Token massimi per il processo di pensiero |573| `maxThinkingTokens` | `number` | `undefined` | *Deprecato:* usa invece `thinking`. Numero massimo di token per il processo di ragionamento |

571| `maxTurns` | `number` | `undefined` | Turni agentici massimi (round trip di utilizzo di strumenti) |574| `maxTurns` | `number` | `undefined` | Numero massimo di turni agentici (round trip di uso degli strumenti) |

572| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurazioni del server MCP |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurazioni dei server MCP |

573| `model` | `string` | Predefinito da CLI | Alias del modello Claude o nome completo del modello. Vedi [valori accettati e ID specifici del provider](/docs/it/model-config#available-models) |576| `model` | `string` | Predefinito dalla CLI | Alias del modello Claude o nome completo del modello. Consulta [valori accettati e ID specifici del provider](/docs/it/model-config#available-models) |

574| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback per gestire le richieste di elicitazione MCP. Chiamato quando un server MCP richiede input dell'utente e nessun hook lo gestisce per primo. Quando non fornito, le richieste di elicitazione non gestite vengono rifiutate automaticamente |577| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback per gestire le richieste di elicitation MCP. Viene chiamata quando un server MCP richiede input dall'utente e nessun hook la gestisce prima. Se non fornita, le richieste di elicitation non gestite vengono rifiutate automaticamente |

575| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definisci il formato di output per i risultati dell'agente. Vedi [Structured outputs](/docs/it/agent-sdk/structured-outputs) per i dettagli |578| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definisce il formato di output per i risultati dell'agente. Consulta [Output strutturati](/docs/it/agent-sdk/structured-outputs) per i dettagli |

576| `outputStyle` | `string` | `undefined` | Non è un campo `Options`. Imposta `outputStyle` nell'oggetto [`settings`](/docs/it/settings) inline o in un file di impostazioni. Vedi [Attiva uno stile di output](/docs/it/agent-sdk/modifying-system-prompts#activate-an-output-style) |579| `outputStyle` | `string` | `undefined` | Non è un campo di `Options`. Imposta invece `outputStyle` nell'oggetto [`settings`](/docs/it/settings) inline o in un file di impostazioni. Consulta [Attivare uno stile di output](/docs/it/agent-sdk/modifying-system-prompts#activate-an-output-style) |

577| `pathToClaudeCodeExecutable` | `string` | Auto-risolto dal binario nativo in bundle | Percorso all'eseguibile Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o la tua piattaforma non è nel set supportato |580| `pathToClaudeCodeExecutable` | `string` | Risolto automaticamente dal binario nativo incluso | Percorso dell'eseguibile di Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o se la tua piattaforma non è tra quelle supportate |

578| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modalità di permesso per la sessione. Se la ometti, la sessione può iniziare in modalità auto. Vedi [Permission modes](/docs/it/agent-sdk/permissions#permission-modes) per come Claude Code sceglie la modalità di permesso iniziale |581| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modalità di permesso per la sessione. Se la ometti, la sessione può avviarsi in modalità auto. Consulta [Modalità di permesso](/docs/it/agent-sdk/permissions#permission-modes) per come Claude Code sceglie la modalità di permesso iniziale |

579| `permissionPromptToolName` | `string` | `undefined` | Nome dello strumento MCP per i prompt di permesso |582| `permissionPromptToolName` | `string` | `undefined` | Nome dello strumento MCP per le richieste di permesso |

580| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Chi risponde ai prompt di permesso: `'host'` li instrada al tuo callback [`canUseTool`](#canusetool) o allo strumento `permissionPromptToolName`, e `'none'` [nega le chiamate che avrebbero richiesto](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated). Richiede Claude Code v2.1.259 o successivo |583| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Chi risponde alle richieste di permesso: `'host'` le instrada alla tua callback [`canUseTool`](#canusetool) o allo strumento `permissionPromptToolName`, mentre `'none'` [nega le chiamate che avrebbero richiesto conferma](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated). Richiede Claude Code v2.1.259 o successivo |

581| `persistSession` | `boolean` | `true` | Quando `false`, disabilita la persistenza della sessione su disco. Le sessioni non possono essere riprese in seguito |584| `persistSession` | `boolean` | `true` | Quando è `false`, disabilita la persistenza della sessione su disco. Le sessioni non possono essere riprese in seguito |

582| `planModeInstructions` | `string` | `undefined` | Istruzioni di flusso di lavoro personalizzate per la modalità plan. Quando `permissionMode` è `'plan'`, questa stringa sostituisce il corpo del flusso di lavoro della modalità plan predefinito. La CLI lo avvolge comunque con il preambolo di applicazione di sola lettura e il footer del protocollo ExitPlanMode |585| `planModeInstructions` | `string` | `undefined` | Istruzioni di workflow personalizzate per il plan mode. Quando `permissionMode` è `'plan'`, questa stringa sostituisce il corpo predefinito del workflow del plan mode. La CLI la racchiude comunque con il preambolo di applicazione della sola lettura e il piè di pagina del protocollo ExitPlanMode |

583| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Carica plugin personalizzati da percorsi locali. Vedi [Plugins](/docs/it/agent-sdk/plugins) per i dettagli |586| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Carica plugin personalizzati da percorsi locali. Consulta [Plugin](/docs/it/agent-sdk/plugins) per i dettagli |

584| `projectConfigRoot` | `string` | `undefined` | Percorso assoluto del checkout attendibile di cui `cwd` è un worktree. Claude Code legge le impostazioni del progetto, `.mcp.json`, e i comandi, agenti, skill, flussi di lavoro, routine e stili di output del progetto `.claude/` da questa directory invece che da `cwd`, e imposta `CLAUDE_PROJECT_DIR` su di essa. Gli hook, gli script helper come `apiKeyHelper`, e i server MCP stdio iniziano con questa directory come loro directory di lavoro. I file `CLAUDE.md` e `.claude/rules/` caricano comunque da `cwd`. Richiede Claude Code v2.1.275 o successivo |587| `projectConfigRoot` | `string` | `undefined` | Percorso assoluto del checkout attendibile di cui `cwd` è un worktree. Claude Code legge le impostazioni di progetto, `.mcp.json` e i comandi, gli agenti, le skill, i workflow, le routine e gli stili di output in `.claude/` del progetto da questa directory invece che da `cwd`, e imposta `CLAUDE_PROJECT_DIR` su di essa. Gli hook, gli script di supporto come `apiKeyHelper` e i server MCP stdio si avviano con questa directory come directory di lavoro. I file `CLAUDE.md` e `.claude/rules/` vengono comunque caricati da `cwd`. Richiede Claude Code v2.1.275 o successivo |

585| `promptSuggestions` | `boolean` | `false` | Abilita i suggerimenti di prompt. Dopo un turno, Claude Code emette un messaggio `prompt_suggestion` che trasporta un prompt utente previsto successivo. Claude Code non genera suggerimenti per alcuni turni, come quando il tuo account è vicino o al limite di utilizzo. Vedi [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions) |588| `promptSuggestions` | `boolean` | `false` | Abilita i suggerimenti di prompt. Dopo un turno, Claude Code emette un messaggio `prompt_suggestion` che contiene un prompt utente successivo previsto. Claude Code non genera alcun suggerimento per alcuni turni, ad esempio quando il tuo account è vicino al limite di utilizzo o lo ha raggiunto. Consulta [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions) |

586| `resume` | `string` | `undefined` | ID della sessione da riprendere |589| `resume` | `string` | `undefined` | ID della sessione da riprendere |

587| `resumeDropsTurn` | `string` | `undefined` | Con `resumeSessionAt`: l'UUID del prompt del turno che il resume di troncamento intende scartare. Claude Code rifiuta il resume quando l'intervallo scartato contiene qualcosa non attribuibile a quel turno, come messaggi in coda assorbiti o notifiche di attività, e nomina il flag `--resume-drops-turn` nel messaggio di rifiuto. Solo l'Agent SDK e i resume in modalità print leggono la coppia. Richiede Claude Code v2.1.223 o successivo |590| `resumeDropsTurn` | `string` | `undefined` | Con `resumeSessionAt`: l'UUID del prompt del turno che la ripresa con troncamento intende scartare. Claude Code rifiuta la ripresa quando l'intervallo scartato contiene qualcosa non attribuibile a quel turno, come messaggi in coda assorbiti o notifiche di attività, e indica il flag `--resume-drops-turn` nel messaggio di rifiuto. Solo l'Agent SDK e le riprese in modalità print leggono la coppia. Richiede Claude Code v2.1.223 o successivo |

588| `resumeSessionAt` | `string` | `undefined` | Riprendi la sessione a un UUID di messaggio specifico |591| `resumeSessionAt` | `string` | `undefined` | Riprende la sessione a un UUID di messaggio specifico |

589| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Configura il comportamento della sandbox a livello di programmazione. Vedi [Sandbox settings](#sandboxsettings) per i dettagli |592| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Configura il comportamento della sandbox a livello di codice. Consulta [Impostazioni della sandbox](#sandboxsettings) per i dettagli |

590| `sessionId` | `string` | Auto-generato | Usa un UUID specifico per la sessione invece di generarne uno automaticamente |593| `sessionId` | `string` | Generato automaticamente | Usa un UUID specifico per la sessione invece di generarne uno automaticamente |

591| `sessionStore` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Specchia le trascrizioni della sessione in un backend esterno in modo che un altro host possa riprenderle. Vedi [Persist sessions to external storage](/docs/it/agent-sdk/session-storage) |594| `sessionStore` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Replica le trascrizioni delle sessioni su un backend esterno così che un altro host possa riprenderle. Consulta [Rendere persistenti le sessioni in uno storage esterno](/docs/it/agent-sdk/session-storage) |

592| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Modalità di flush per `sessionStore`. Ignorato quando `sessionStore` non è impostato |595| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Modalità di flush per `sessionStore`. Ignorato quando `sessionStore` non è impostato |

593| `settings` | `string \| Settings` | `undefined` | Oggetto [settings](/docs/it/settings) inline, percorso file di impostazioni, o stringa JSON inline. Popola il livello flag-settings nell'[ordine di precedenza](/docs/it/settings#settings-precedence). Cambia a runtime con [`applyFlagSettings()`](#applyflagsettings) |596| `settings` | `string \| Settings` | `undefined` | Oggetto di [impostazioni](/docs/it/settings) inline, percorso di un file di impostazioni o stringa JSON inline. Popola il livello delle impostazioni da flag nell'[ordine di precedenza](/docs/it/settings#settings-precedence). Modificalo in fase di esecuzione con [`applyFlagSettings()`](#applyflagsettings) |

594| `settingSources` | [`SettingSource`](#settingsource)`[]` | Impostazioni predefinite CLI (tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, progetto e locali. [Endpoint-managed policy](/docs/it/managed-settings#delivery-mechanisms) carica comunque; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Vedi [Usa le funzioni Claude Code](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |597| `settingSources` | [`SettingSource`](#settingsource)`[]` | Predefiniti della CLI (tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, di progetto e locali. La [policy gestita dagli endpoint](/docs/it/managed-settings#delivery-mechanisms) viene caricata in ogni caso; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale dell'organizzazione su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Consulta [Usare le funzionalità di Claude Code](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

595| `skills` | `string[] \| 'all'` | `undefined` | Skill disponibili per la sessione. Passa `'all'` per abilitare ogni skill scoperta, o un elenco di nomi di skill. Passa solo nomi esatti. Su Agent SDK v0.3.221 o successivo, l'SDK rifiuta i nomi malformati e in forma wildcard con un errore prima di avviare il processo Claude Code. Quando impostato, l'SDK aggiunge automaticamente lo strumento Skill a `allowedTools`. Se passi anche `tools`, includi `'Skill'` in quell'elenco. Vedi [Skills](/docs/it/agent-sdk/skills) |598| `skills` | `string[] \| 'all'` | `undefined` | Skill disponibili per la sessione. Passa `'all'` per abilitare ogni skill rilevata, oppure un elenco di nomi di skill. Passa solo nomi esatti. Su Agent SDK v0.3.221 o successivo, l'SDK rifiuta i nomi non validi e in forma wildcard con un errore prima di avviare il processo Claude Code. Quando è impostato, l'SDK aggiunge automaticamente lo strumento Skill a `allowedTools`. Se passi anche `tools`, includi `'Skill'` in quell'elenco. Consulta [Skill](/docs/it/agent-sdk/skills) |

596| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Funzione personalizzata per generare il processo Claude Code. Usa per eseguire Claude Code in VM, container o ambienti remoti |599| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Funzione personalizzata per avviare il processo Claude Code. Usala per eseguire Claude Code in VM, container o ambienti remoti |

597| `stderr` | `(data: string) => void` | `undefined` | Callback per l'output stderr |600| `stderr` | `(data: string) => void` | `undefined` | Callback per l'output stderr |

598| `strictMcpConfig` | `boolean` | `false` | Usa solo i server passati in `mcpServers` e ignora il progetto `.mcp.json`, le impostazioni utente, i server MCP forniti dal plugin, e i [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) |601| `strictMcpConfig` | `boolean` | `false` | Usa solo i server passati in `mcpServers` e ignora il `.mcp.json` del progetto, le impostazioni utente, i server MCP forniti dai plugin e i [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) |

599| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (prompt minimo) | Configurazione del prompt di sistema. Passa una stringa per un prompt personalizzato, o `{ type: 'preset', preset: 'claude_code' }` per usare il prompt di sistema di Claude Code. Passa un array di stringhe con la costante esportata `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` tra le parti statiche e per-richiesta per [memorizzare nella cache la parte statica di un prompt personalizzato](/docs/it/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). Quando usi la forma dell'oggetto preset, aggiungi `append` per estenderlo con istruzioni aggiuntive, e imposta `excludeDynamicSections: true` per spostare il contesto per-sessione nel primo messaggio utente per [un migliore riutilizzo della cache dei prompt tra le macchine](/docs/it/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines). Imposta `snapshot: false` per ricostruire il prompt su ogni richiesta invece di [riutilizzare il prompt che la sessione ha registrato sulla sua prima richiesta](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Per impostare `snapshot` su un prompt personalizzato, passa la forma `{ type: 'custom', prompt }`. La forma `{ type: 'custom' }` e il campo `snapshot` richiedono TypeScript Agent SDK v0.3.257 o successivo |602| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (prompt minimo) | Configurazione del prompt di sistema. Passa una stringa per un prompt personalizzato, oppure `{ type: 'preset', preset: 'claude_code' }` per usare il prompt di sistema di Claude Code. Passa un array di stringhe con la costante esportata `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` tra la parte statica e quella per richiesta per [memorizzare nella cache la parte statica di un prompt personalizzato](/docs/it/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). Quando usi la forma a oggetto preset, aggiungi `append` per estenderlo con istruzioni aggiuntive, e imposta `excludeDynamicSections: true` per spostare il contesto per sessione nel primo messaggio utente per [un miglior riutilizzo della cache dei prompt tra computer](/docs/it/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines). Imposta `snapshot: false` per ricostruire il prompt a ogni richiesta invece di [riutilizzare il prompt che la sessione ha registrato alla prima richiesta](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Per impostare `snapshot` su un prompt personalizzato, passa la forma `{ type: 'custom', prompt }`. La forma `{ type: 'custom' }` e il campo `snapshot` richiedono TypeScript Agent SDK v0.3.257 o successivo |

600| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Budget di attività lato API in token. Quando impostato, al modello viene detto il suo budget di token rimanente in modo che possa regolare l'utilizzo dello strumento e concludere prima del limite |603| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Budget dell'attività lato API in token. Quando è impostato, al modello viene comunicato il budget di token rimanente, così può dosare l'uso degli strumenti e concludere prima del limite |

601| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` per i modelli supportati | Controlla il comportamento di pensiero/ragionamento di Claude. Vedi [`ThinkingConfig`](#thinkingconfig) per le opzioni |604| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` per i modelli supportati | Controlla il comportamento di ragionamento di Claude. Consulta [`ThinkingConfig`](#thinkingconfig) per le opzioni |

602| `title` | `string` | `undefined` | Titolo di visualizzazione per la sessione. Quando si riprende tramite `resume` o `continue`, il titolo persistente della sessione ripresa ha la precedenza; usa [`renameSession()`](#renamesession) per rinominare una sessione esistente |605| `title` | `string` | `undefined` | Titolo visualizzato per la sessione. Quando riprendi tramite `resume` o `continue`, il titolo salvato della sessione ripresa ha la precedenza; usa [`renameSession()`](#renamesession) per rinominare una sessione esistente |

603| `toolAliases` | `Record<string, string>` | `undefined` | Mappa i nomi degli strumenti incorporati ai nomi degli strumenti MCP in modo che Claude chiami la tua implementazione MCP al posto di quella incorporata. Ad esempio, `{ Bash: 'mcp__workspace__bash' }` |606| `toolAliases` | `Record<string, string>` | `undefined` | Mappa i nomi degli strumenti integrati ai nomi di strumenti MCP, così che Claude chiami la tua implementazione MCP al posto di quella integrata. Ad esempio, `{ Bash: 'mcp__workspace__bash' }` |

604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configurazione per il comportamento dello strumento incorporato. Vedi [`ToolConfig`](#toolconfig) per i dettagli |607| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configurazione del comportamento degli strumenti integrati. Consulta [`ToolConfig`](#toolconfig) per i dettagli |

605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configurazione dello strumento. Passa un array di nomi di strumenti o usa il preset per ottenere gli strumenti predefiniti di Claude Code |608| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configurazione degli strumenti. Passa un array di nomi di strumenti o usa il preset per ottenere gli strumenti predefiniti di Claude Code |

606| `verbatimPrompts` | `boolean` | `false` | Consegna ogni prompt come scritto. L'SDK invia ogni messaggio utente con `client_composed: true`. Vedi [`client_composed`](#sdkusermessage) per cosa Claude Code salta su quei messaggi. Usa questa opzione quando il testo del tuo prompt include contenuto che l'utente finale non ha digitato. Per il controllo per turno, lascialo disattivato e imposta `client_composed` su messaggi trasmessi individuali. Richiede TypeScript Agent SDK v0.3.280 o successivo e Claude Code v2.1.248 o successivo; la versione di Claude Code in bundle con quelle versioni SDK soddisfa il requisito di versione di Claude Code |609| `verbatimPrompts` | `boolean` | `false` | Recapita ogni prompt così come è scritto. L'SDK invia ogni messaggio utente con `client_composed: true`. Consulta [`client_composed`](#sdkusermessage) per ciò che Claude Code salta su quei messaggi. Usa questa opzione quando il testo del prompt include contenuti che l'utente finale non ha digitato. Per il controllo per turno, lasciala disattivata e imposta invece `client_composed` sui singoli messaggi in streaming. Richiede TypeScript Agent SDK v0.3.280 o successivo e Claude Code v2.1.248 o successivo; la versione di Claude Code inclusa in quelle versioni dell'SDK soddisfa il requisito di Claude Code |

607 610 

608<h4 id="handle-slow-or-stalled-api-responses">611<h4 id="handle-slow-or-stalled-api-responses">

609 Gestire risposte API lente o bloccate612 Gestire risposte API lente o bloccate

610</h4>613</h4>

611 614 

612Il subprocess CLI legge diverse variabili di ambiente che controllano i timeout dell'API e il rilevamento dei blocchi. Passale tramite l'opzione `env`:615Il sottoprocesso della CLI legge diverse variabili d'ambiente che controllano i timeout delle API e il rilevamento dei blocchi. Passale tramite l'opzione `env`:

613 616 

614```typescript theme={null}617```typescript theme={null}

615import { query } from "@anthropic-ai/claude-agent-sdk";618import { query } from "@anthropic-ai/claude-agent-sdk";


627});630});

628```631```

629 632 

630* `API_TIMEOUT_MS`: timeout per-richiesta sul client Anthropic, in millisecondi. Predefinito `600000`. Si applica al loop principale e a tutti i subagent.633* `API_TIMEOUT_MS`: timeout per richiesta sul client Anthropic, in millisecondi. Valore predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.

631* `CLAUDE_CODE_MAX_RETRIES`: tentativi API massimi. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la sua finestra `API_TIMEOUT_MS`, quindi il tempo di parete nel caso peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per le esecuzioni incustodite che devono aspettare attraverso interruzioni più lunghe, imposta [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/it/errors#tune-retry-behavior): ritenta gli errori di capacità transienti indefinitamente e, su Claude Code v2.1.199 o successivo, aumenta il predefinito per altri errori transienti a `300` e rimuove il limite su questa variabile.634* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di nuovi tentativi delle API. Valore predefinito `10`, con un limite di `15`. Ogni nuovo tentativo ha la propria finestra `API_TIMEOUT_MS`, quindi il tempo reale nel caso peggiore è circa `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più il backoff. Per le esecuzioni non presidiate che devono attendere interruzioni più lunghe, imposta [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/it/errors#tune-retry-behavior): riprova indefinitamente in caso di errori di capacità transitori e, su Claude Code v2.1.199 o successivo, porta il valore predefinito per gli altri errori transitori a `300` e rimuove il limite su questa variabile.

632* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagent. Mentre il watchdog del flusso è attivo, il predefinito è `CLAUDE_STREAM_IDLE_TIMEOUT_MS` più 5 minuti, che arriva a `600000` a meno che non aumenti quella variabile. Con il watchdog del flusso spento, il predefinito è `600000`. Prima di v2.1.257, il predefinito era sempre `600000`.635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog dei blocchi per i subagent. Mentre il watchdog dello stream è attivo, il valore predefinito è `CLAUDE_STREAM_IDLE_TIMEOUT_MS` più 5 minuti, ovvero `600000` a meno che tu non aumenti quella variabile. Con il watchdog dello stream disattivato, il valore predefinito è `600000`. Prima della v2.1.257, il valore predefinito era sempre `600000`.

633 636 

634 Il timer si ripristina su ogni evento del flusso. Su un blocco, Claude Code interrompe il subagent e segnala il blocco al genitore. Per un subagent in background, contrassegna anche l'attività come non riuscita e allega qualsiasi risultato parziale.637 Il timer si azzera a ogni evento dello stream. In caso di blocco, Claude Code interrompe il subagent e segnala il blocco al padre. Per un subagent in background, contrassegna anche l'attività come non riuscita e allega l'eventuale risultato parziale.

635* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: watchdog del flusso che interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` e viene bloccato a quel minimo. Dopo l'interruzione, [Automatic retries](/docs/it/errors#automatic-retries) copre cosa fa Claude Code, in base a quanto la risposta aveva progredito.638* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: watchdog dello stream che interrompe la richiesta quando gli header sono arrivati ma il corpo della risposta smette di essere trasmesso. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ha come valore predefinito `300000` e non può scendere sotto tale minimo. Dopo l'interruzione, [Nuovi tentativi automatici](/docs/it/errors#automatic-retries) descrive cosa fa Claude Code, in base a quanto era avanzata la risposta.

636 639 

637 Mentre il watchdog aspetta una risposta che un gateway dietro `ANTHROPIC_BASE_URL` tiene aperta con ping keep-alive, un host che imposta `includePartialMessages` continua a ricevere eventi di `ping` [stream](#sdkpartialassistantmessage), quindi leggi quei frame come vivacità piuttosto che cronometrare la sessione su silenzio. Prima di v2.1.257, i frame si fermavano 5 minuti dopo l'ultimo evento di flusso reale.640 Mentre il watchdog attende una risposta che un gateway dietro `ANTHROPIC_BASE_URL` mantiene aperta con ping keep-alive, un host che imposta `includePartialMessages` continua a ricevere [eventi dello stream](#sdkpartialassistantmessage) `ping`, quindi interpreta quei frame come segnali di attività invece di far scadere la sessione per il silenzio. Prima della v2.1.257, i frame si interrompevano 5 minuti dopo l'ultimo evento reale dello stream.

638 641 

639<h3 id="query-object">642<h3 id="query-object">

640 Oggetto `Query`643 Oggetto `Query`


696 699 

697| Metodo | Descrizione |700| Metodo | Descrizione |

698| :- | :- |701| :- | :- |

699| `interrupt()` | Interrompe la query. Disponibile solo in modalità di input in streaming. Quando la CLI pubblicizza la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage), si risolve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che elenca i messaggi che erano in sospeso quando l'interruzione è arrivata. Si risolve `undefined` su CLI prima di v2.1.205 |702| `interrupt()` | Interrompe la query. Disponibile solo in modalità di input in streaming. Quando la CLI dichiara la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage), si risolve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che elenca i messaggi in sospeso al momento dell'arrivo dell'interruzione. Si risolve con `undefined` sulle CLI precedenti alla v2.1.205 |

700| `rewindFiles(userMessageId, options?)` | Ripristina i file al loro stato al messaggio utente specificato. Passa `{ dryRun: true }` per visualizzare in anteprima le modifiche. Richiede `enableFileCheckpointing: true`. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |703| `rewindFiles(userMessageId, options?)` | Ripristina i file allo stato in cui si trovavano al messaggio utente specificato. Passa `{ dryRun: true }` per visualizzare un'anteprima delle modifiche. Richiede `enableFileCheckpointing: true`. Consulta [Checkpointing dei file](/docs/it/agent-sdk/file-checkpointing) |

701| `setPermissionMode()` | Cambia la modalità di permesso (disponibile solo in modalità di input in streaming) |704| `setPermissionMode()` | Cambia la modalità di permesso (disponibile solo in modalità di input in streaming) |

702| `setModel()` | Cambia il modello (disponibile solo in modalità di input in streaming). Passare `undefined` o la stringa `"default"` ripristina il [modello predefinito di Claude Code](/docs/it/model-config) |705| `setModel()` | Cambia il modello (disponibile solo in modalità di input in streaming). Passare `undefined` o la stringa `"default"` ripristina il [modello predefinito di Claude Code](/docs/it/model-config) |

703| `setMaxThinkingTokens()` | *Deprecato:* Usa l'opzione `thinking` invece. Cambia i token di pensiero massimi. Passare `null` ripristina il pensiero al predefinito della sessione: un override mid-session viene cancellato, e il pensiero rimane disattivato per le sessioni che lo hanno disabilitato |706| `setMaxThinkingTokens()` | *Deprecato:* usa invece l'opzione `thinking`. Cambia il numero massimo di token di ragionamento. Passare `null` ripristina il ragionamento al valore predefinito della sessione: un override impostato a metà sessione viene rimosso, e il ragionamento resta disattivato per le sessioni in cui è disabilitato |

704| `applyFlagSettings(settings)` | Unisce le impostazioni nel livello flag settings della sessione a runtime (disponibile solo in modalità di input in streaming). Vedi [`applyFlagSettings()`](#applyflagsettings) |707| `applyFlagSettings(settings)` | Esegue il merge delle impostazioni nel livello delle impostazioni da flag della sessione in fase di esecuzione (disponibile solo in modalità di input in streaming). Consulta [`applyFlagSettings()`](#applyflagsettings) |

705| `updateSettings(source, settings)` | Scrive una chiave consentita nel file di impostazioni locali del progetto o nel file di impostazioni utente, in modo che il valore persista per le sessioni successive. Vedi [`updateSettings()`](#updatesettings). Richiede TypeScript SDK v0.3.257 o successivo, che raggruppa Claude Code v2.1.257 |708| `updateSettings(source, settings)` | Scrive una chiave consentita nel file di impostazioni locali del progetto o nel tuo file di impostazioni utente, così che il valore persista per le sessioni successive. Consulta [`updateSettings()`](#updatesettings). Richiede TypeScript SDK v0.3.257 o successivo, che include Claude Code v2.1.257 |

706| `initializationResult()` | Restituisce il risultato di inizializzazione completo inclusi i comandi supportati, i modelli, le informazioni dell'account e la configurazione dello stile di output |709| `initializationResult()` | Restituisce il risultato completo dell'inizializzazione, inclusi comandi supportati, modelli, informazioni sull'account e configurazione dello stile di output |

707| `reinitialize()` | Invia di nuovo la richiesta di controllo `initialize` alla CLI in esecuzione e restituisce un risultato fresco invece del risultato memorizzato nella cache della prima connessione. Usalo dopo un gap di trasporto, come il ricollegamento a una sessione dopo una disconnessione, in modo che le richieste di permesso in sospeso raggiungano di nuovo il tuo callback `canUseTool`. Rendi il callback idempotente per ID di richiesta, perché una richiesta la cui risposta è stata persa viene inviata di nuovo. Richiede Claude Code v2.1.195 o successivo |710| `reinitialize()` | Invia di nuovo la richiesta di controllo `initialize` alla CLI in esecuzione e restituisce un risultato aggiornato invece del risultato memorizzato della prima connessione. Usalo dopo un'interruzione del trasporto, ad esempio quando ti ricolleghi a una sessione dopo una disconnessione, così che le richieste di permesso in sospeso raggiungano di nuovo la tua callback `canUseTool`. Rendi la callback idempotente per ID di richiesta, perché una richiesta la cui risposta è andata persa viene inviata di nuovo. Richiede Claude Code v2.1.195 o successivo |

708| `supportedCommands()` | Restituisce i comandi disponibili. Da Agent SDK v0.3.216 l'elenco riflette i cambiamenti di comando mid-session; vedi [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |711| `supportedCommands()` | Restituisce i comandi disponibili. A partire da Agent SDK v0.3.216 l'elenco riflette le modifiche ai comandi avvenute a metà sessione; consulta [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

709| `supportedModels()` | Restituisce i modelli disponibili con informazioni di visualizzazione |712| `supportedModels()` | Restituisce i modelli disponibili con le informazioni di visualizzazione |

710| `supportedAgents()` | Restituisce i subagent disponibili come [`AgentInfo`](#agentinfo)`[]` |713| `supportedAgents()` | Restituisce i subagent disponibili come [`AgentInfo`](#agentinfo)`[]` |

711| `mcpServerStatus()` | Restituisce lo stato dei server MCP connessi come [`McpServerStatus`](#mcpserverstatus)`[]` |714| `mcpServerStatus()` | Restituisce lo stato dei server MCP connessi come [`McpServerStatus`](#mcpserverstatus)`[]` |

712| `getContextUsage(opts?)` | Restituisce un [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) che suddivide l'utilizzo della finestra di contesto della sessione per categoria, skill e strumento. Con il predefinito `detail`, sono gli stessi dati che `/context` mostra in una sessione interattiva, calcolati con richieste API di conteggio dei token che non appaiono nel flusso di messaggi; vedi [come queste richieste vengono gestite](#sdkcontrolgetcontextusageresponse). L'[opzione `detail`](#sdkcontrolgetcontextusageresponse) richiede Agent SDK v0.3.257 o successivo |715| `getContextUsage(opts?)` | Restituisce un [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) che suddivide l'utilizzo della finestra di contesto della sessione per categoria, skill e strumento. Con il `detail` predefinito, sono gli stessi dati che `/context` mostra in una sessione interattiva, calcolati con richieste API di conteggio dei token che non compaiono nel flusso dei messaggi; consulta [come vengono gestite queste richieste](#sdkcontrolgetcontextusageresponse). L'[opzione `detail`](#sdkcontrolgetcontextusageresponse) richiede Agent SDK v0.3.257 o successivo |

713| `readFile(path, options?)` | Legge un file dal filesystem della sessione. Claude Code risolve il percorso rispetto a `cwd`; [Cosa `readFile()` può leggere](#what-readfile-can-read) elenca i file che serve. Passa `{ maxBytes }` per cambiare il limite di lettura (predefinito 1 MB, massimo 10 MB) e `{ encoding: 'base64' }` per file binari come immagini. Si risolve con un [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), o `null` su rifiuto di permesso, file mancante, o errore di trasporto. Richiede TypeScript SDK v0.2.121 o successivo |716| `readFile(path, options?)` | Legge un file dal filesystem della sessione. Claude Code risolve il percorso rispetto a `cwd`; [Cosa può leggere `readFile()`](#what-readfile-can-read) elenca i file che fornisce. Passa `{ maxBytes }` per cambiare il limite di lettura (predefinito 1 MB, massimo 10 MB) e `{ encoding: 'base64' }` per i file binari come le immagini. Si risolve con un [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), oppure con `null` in caso di permesso negato, file mancante o errore di trasporto. Richiede TypeScript SDK v0.2.121 o successivo |

714| `reloadPlugins(options?)` | Ricarica i plugin dal disco, in modo che i plugin che installi o modifichi mid-session raggiungano la sessione in esecuzione. Si risolve con un [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) che elenca i comandi, i subagent, i plugin e lo stato del server MCP della sessione. Richiede Agent SDK v0.2.85 o successivo. L'[opzione `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) richiede Agent SDK v0.3.268 o successivo |717| `reloadPlugins(options?)` | Ricarica i plugin dal disco, così che i plugin che installi o modifichi a metà sessione raggiungano la sessione in esecuzione. Si risolve con un [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) che elenca i comandi, i subagent, i plugin e lo stato dei server MCP della sessione. Richiede Agent SDK v0.2.85 o successivo. L'[opzione `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) richiede Agent SDK v0.3.268 o successivo |

715| `reloadSkills()` | Ricarica le skill dal disco, in modo che le skill che aggiungi o modifichi mid-session diventino disponibili per la sessione in esecuzione. Si risolve con un [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) che elenca le skill disponibili dopo il ricaricamento. Richiede Agent SDK v0.3.163 o successivo |718| `reloadSkills()` | Ricarica le skill dal disco, così che le skill che aggiungi o modifichi a metà sessione diventino disponibili per la sessione in esecuzione. Si risolve con un [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) che elenca le skill disponibili dopo il ricaricamento. Richiede Agent SDK v0.3.163 o successivo |

716| `reloadOutputStyles()` | Re-legge gli [stili di output](/docs/it/output-styles) dal disco, in modo che un file di stile che aggiungi o modifichi mid-session diventi disponibile per la sessione in esecuzione. Si risolve con un [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) che elenca i nomi di stile disponibili dopo il ricaricamento. Richiede Agent SDK v0.3.261 o successivo |719| `reloadOutputStyles()` | Rilegge gli [stili di output](/docs/it/output-styles) dal disco, così che un file di stile che aggiungi o modifichi a metà sessione diventi disponibile per la sessione in esecuzione. Si risolve con un [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) che elenca i nomi degli stili disponibili dopo il ricaricamento. Richiede Agent SDK v0.3.261 o successivo |

717| `accountInfo()` | Restituisce le informazioni dell'account |720| `accountInfo()` | Restituisce le informazioni sull'account |

718| `reconnectMcpServer(serverName)` | Ricollega un server MCP per nome. Se il nome corrisponde anche a una voce in un file di impostazioni come `.mcp.json` o `~/.claude.json`, Claude Code ricollega il server che hai configurato tramite [`mcpServers`](#options) o `setMcpServers()`, non la voce del file di impostazioni. Quell'ordine di risoluzione richiede Claude Code v2.1.257 o successivo |721| `reconnectMcpServer(serverName)` | Riconnette un server MCP per nome. Se il nome corrisponde anche a una voce in un file di impostazioni come `.mcp.json` o `~/.claude.json`, Claude Code riconnette il server che hai configurato tramite [`mcpServers`](#options) o `setMcpServers()`, non la voce del file di impostazioni. Questo ordine di risoluzione richiede Claude Code v2.1.257 o successivo |

719| `toggleMcpServer(serverName, enabled)` | Abilita o disabilita un server MCP per nome, con la stessa risoluzione dei nomi di `reconnectMcpServer()`. Disabilitare un server lo disconnette e ne rimuove gli strumenti. Consulta [`toggleMcpServer()`](#togglemcpserver) per la versione di Claude Code necessaria per ciascun tipo di server |722| `toggleMcpServer(serverName, enabled)` | Abilita o disabilita un server MCP per nome, con la stessa risoluzione dei nomi di `reconnectMcpServer()`. Disabilitare un server lo disconnette e ne rimuove gli strumenti. Consulta [`toggleMcpServer()`](#togglemcpserver) per la versione di Claude Code richiesta per ciascun tipo di server |

720| `setMcpServers(servers)` | Sostituisci dinamicamente l'insieme dei server MCP per questa sessione. Si risolve con un [`McpSetServersResult`](#mcpsetserversresult) che nomina quali server sono stati aggiunti e rimossi, e eventuali errori |723| `setMcpServers(servers)` | Sostituisce i server MCP gestiti da questo metodo: i server aggiunti tramite esso e i [server SDK in-process](#createsdkmcpserver). Si risolve con un [`McpSetServersResult`](#mcpsetserversresult) che indica quali server sono stati aggiunti e rimossi, più eventuali errori; quella sezione indica quali altri server restano connessi |

721| `readMcpResource(serverName, uri)` | *Alpha.* Legge una risorsa MCP Apps `ui://` da un server MCP connesso in modo che la tua applicazione possa rendere il widget di uno strumento. Si risolve con un [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse). Richiede TypeScript Agent SDK v0.3.280 o successivo |724| `readMcpResource(serverName, uri)` | *Alpha.* Legge una risorsa MCP Apps `ui://` da un server MCP connesso, così che la tua applicazione possa mostrare il widget di uno strumento. Si risolve con un [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse). Richiede TypeScript Agent SDK v0.3.280 o successivo |

722| `streamInput(stream)` | Trasmetti i messaggi di input alla query per conversazioni multi-turno |725| `streamInput(stream)` | Trasmette in streaming i messaggi di input alla query per le conversazioni a più turni |

723| `stopTask(taskId)` | Interrompi un'attività in background in esecuzione per ID |726| `stopTask(taskId)` | Interrompe un'attività in background in esecuzione tramite ID |

724| `close()` | Chiudi la query e termina il processo sottostante. Termina forzatamente la query e pulisce tutte le risorse |727| `close()` | Chiude la query e termina il processo sottostante. Termina forzatamente la query e libera tutte le risorse |

725 728 

726<h4 id="applyflagsettings">729<h4 id="applyflagsettings">

727 `applyFlagSettings()`730 `applyFlagSettings()`

728</h4>731</h4>

729 732 

730Cambia le [impostazioni](/docs/it/settings) su una sessione in esecuzione senza riavviare la query. Usalo quando un'impostazione che non ha un setter dedicato deve cambiare mid-session, come l'irrigidimento di `permissions` dopo che l'agente legge input non attendibile. `setModel()` e `setPermissionMode()` sono setter dedicati per quelle due chiavi; `applyFlagSettings()` è la forma generale che accetta qualsiasi sottoinsieme delle chiavi di impostazioni, e passare `model` qui si comporta come `setModel()`.733Modifica le [impostazioni](/docs/it/settings) di una sessione in esecuzione senza riavviare la query. Usalo quando un'impostazione priva di un setter dedicato deve cambiare a metà sessione, ad esempio per restringere `permissions` dopo che l'agente ha letto input non attendibile. `setModel()` e `setPermissionMode()` sono setter dedicati per quelle due chiavi; `applyFlagSettings()` è la forma generale che accetta qualsiasi sottoinsieme delle chiavi delle impostazioni, e passare `model` qui si comporta allo stesso modo di `setModel()`.

731 734 

732Solo alcune chiavi hanno effetto mid-session:735Solo alcune chiavi hanno effetto a metà sessione:

733 736 

734* **Applicate al turno successivo**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Passare a `agent` applica anche l'override del modello e gli hook di quell'agente al turno successivo. Il suo prompt di sistema si applica al turno successivo, o, in una sessione che [riutilizza un prompt di sistema registrato](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session), una volta che la sessione è compattata.737* **Applicate al turno successivo**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Cambiare `agent` applica al turno successivo anche l'override del modello e gli hook di quell'agente. Il suo prompt di sistema si applica al turno successivo oppure, in una sessione che [riutilizza un prompt di sistema registrato](/docs/it/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session), una volta che la sessione viene compattata.

735* **Applicate durante il turno corrente**: `model`. Se cambi `model` mentre Claude sta lavorando su un turno, la risposta che Claude sta già generando termina sul modello vecchio, e il resto del turno, a partire dalla prossima chiamata che Claude Code fa al modello, usa quello nuovo. I subagent mantengono il loro modello. Prima di v2.1.212, un cambio mid-turn aspettava il turno successivo.738* **Applicate durante il turno corrente**: `model`. Se cambi `model` mentre Claude sta lavorando a un turno, la risposta che Claude sta già generando termina con il vecchio modello, e il resto del turno, a partire dalla chiamata successiva che Claude Code fa al modello, usa quello nuovo. I subagent mantengono il proprio modello. Prima della v2.1.212, un cambio a metà turno attendeva il turno successivo.

736* **Nessun effetto mid-session**: le opzioni del prompt di sistema. Questi vengono risolti una volta all'avvio, quindi la sessione in esecuzione mantiene il valore originale anche se la chiamata ha successo. Per cambiarli, avvia una nuova sessione.739* **Nessun effetto a metà sessione**: le opzioni del prompt di sistema. Vengono risolte una sola volta all'avvio, quindi la sessione in esecuzione mantiene il valore originale anche se la chiamata riesce. Per cambiarle, avvia una nuova sessione.

737 740 

738`effortLevel` accetta un nome di [livello di sforzo](/docs/it/model-config#adjust-effort-level). Accetta anche `"ultracode"`, che richiede uno sforzo `xhigh` con [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode) attivo. `applyFlagSettings()` dichiara `effortLevel` senza quel valore, quindi in TypeScript passa `{ ultracode: true, effortLevel: "xhigh" }` per lo stesso risultato, o la chiave [`ultracode`](/docs/it/settings-reference#ultracode) da sola per attivare ultracode al livello di sforzo corrente della sessione. Il valore `ultracode` richiede Claude Code v2.1.203 o successivo ed è accettato solo da `applyFlagSettings()`, non dalla chiave `effortLevel` in un file di impostazioni. Prima di v2.1.284, la chiave `ultracode` da sola impostava anche il livello a `xhigh`.741`effortLevel` accetta il nome di un [livello di sforzo](/docs/it/model-config#adjust-effort-level). Accetta anche `"ultracode"`, che richiede lo sforzo `xhigh` con [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode) attivo. `applyFlagSettings()` dichiara `effortLevel` senza quel valore, quindi in TypeScript passa `{ ultracode: true, effortLevel: "xhigh" }` per ottenere lo stesso risultato, oppure la sola chiave [`ultracode`](/docs/it/settings-reference#ultracode) per attivare ultracode al livello di sforzo corrente della sessione. Il valore `ultracode` richiede Claude Code v2.1.203 o successivo ed è accettato solo da `applyFlagSettings()`, non dalla chiave `effortLevel` in un file di impostazioni. Prima della v2.1.284, la sola chiave `ultracode` impostava anche il livello su `xhigh`.

739 742 

740I valori vengono scritti nel livello flag-settings, lo stesso livello che l'opzione `settings` inline di `query()` popola all'avvio. Questo è lo stesso livello che la [sezione di precedenza sulla pagina](#settings-precedence) chiama opzioni programmatiche.743I valori vengono scritti nel livello delle impostazioni da flag, sottoposti a merge sopra quanto impostato all'avvio dall'opzione `settings` inline di `query()`. Si tratta dello stesso livello che la [sezione sulla precedenza in questa pagina](#settings-precedence) chiama opzioni programmatiche.

741 744 

742Le chiamate successive uniscono superficialmente le chiavi di livello superiore. Una seconda chiamata con `{ permissions: {...} }` sostituisce l'intero oggetto `permissions` dalla chiamata precedente piuttosto che unirsi profondamente in esso.745Le chiamate successive eseguono un merge superficiale delle chiavi di primo livello. Una seconda chiamata con `{ permissions: {...} }` sostituisce l'intero oggetto `permissions` della chiamata precedente invece di eseguirne un merge profondo.

743 746 

744Per cancellare una chiave che hai impostato con `applyFlagSettings()`, passa `null` per quella chiave. La maggior parte delle chiavi ricade quindi su un valore che l'opzione `settings` di `query()` ha impostato all'avvio, quindi su fonti di precedenza inferiore. Un `model` cancellato si ripristina al [modello predefinito di Claude Code](/docs/it/model-config), anche quando un file di impostazioni imposta `model`. Passare `undefined` non ha effetto perché la serializzazione JSON lo elimina.747Per rimuovere una chiave impostata con `applyFlagSettings()`, passa `null` per quella chiave. La maggior parte delle chiavi ripiega quindi prima su un valore impostato all'avvio dall'opzione `settings` di `query()`, poi sulle fonti con precedenza inferiore. Un `model` rimosso torna al [modello predefinito di Claude Code](/docs/it/model-config), anche quando un file di impostazioni imposta `model`. Passare `undefined` non ha alcun effetto perché la serializzazione JSON lo scarta.

745 748 

746Tre chiavi oltre a `model` ripristinano lo stato della sessione invece di ricadere:749Oltre a `model`, tre chiavi reimpostano lo stato della sessione invece di ripiegare su un altro valore:

747 750 

748* `effortLevel: null` restituisce la sessione al livello di sforzo predefinito del modello, non all'opzione `effort` di `query()` o a un `effortLevel` da un file di impostazioni.751* `effortLevel: null` riporta la sessione al livello di sforzo predefinito del modello, non all'opzione `effort` di `query()` né a un `effortLevel` di un file di impostazioni.

749* `agent: null` esegue il thread principale senza agente, a partire dal turno successivo, piuttosto che ripristinare l'opzione `agent` di `query()` o un `agent` da un file di impostazioni. Se l'agente cancellato aveva applicato il suo modello, la sessione ritorna al modello che ha risolto all'avvio.752* `agent: null` esegue il thread principale senza agente, a partire dal turno successivo, invece di ripristinare l'opzione `agent` di `query()` o un `agent` di un file di impostazioni. Se l'agente rimosso aveva applicato il proprio modello, la sessione torna al modello risolto all'avvio.

750* `ultracode: null` disattiva ultracode, come `false` fa, piuttosto che ripristinare un valore `ultracode` da un file di impostazioni. La sessione mantiene il suo livello di sforzo corrente, quindi passa `effortLevel` nella stessa chiamata per cambiarlo.753* `ultracode: null` disattiva ultracode, come fa `false`, invece di ripristinare un valore `ultracode` di un file di impostazioni. La sessione mantiene il livello di sforzo corrente, quindi passa `effortLevel` nella stessa chiamata per cambiarlo.

751 754 

752Disponibile solo in modalità di input in streaming, lo stesso vincolo di `setModel()` e `setPermissionMode()`.755Disponibile solo in modalità di input in streaming, lo stesso vincolo di `setModel()` e `setPermissionMode()`.

753 756 

754L'esempio seguente cambia il modello attivo mid-session, quindi cancella l'override in modo che il modello si ripristini al [modello predefinito di Claude Code](/docs/it/model-config).757L'esempio seguente cambia il modello attivo a metà sessione, poi rimuove l'override così che il modello torni al [modello predefinito di Claude Code](/docs/it/model-config).

755 758 

756```typescript theme={null}759```typescript theme={null}

757import { query } from "@anthropic-ai/claude-agent-sdk";760import { query } from "@anthropic-ai/claude-agent-sdk";


766```769```

767 770 

768<Note>771<Note>

769 `applyFlagSettings()` è solo TypeScript. L'SDK Python non espone un metodo equivalente.772 `applyFlagSettings()` è disponibile solo in TypeScript. L'SDK Python non espone un metodo equivalente.

770</Note>773</Note>

771 774 

772<h4 id="updatesettings">775<h4 id="updatesettings">

773 `updateSettings()`776 `updateSettings()`

774</h4>777</h4>

775 778 

776Scrive una chiave consentita in un file di impostazioni su disco, in modo che il valore persista per le sessioni successive che caricano quella fonte. Ogni fonte accetta una chiave, con un valore stringa:779Scrive una chiave consentita in un file di impostazioni su disco, così che il valore persista per le sessioni successive che caricano quella fonte. Ogni fonte accetta una sola chiave, con un valore stringa:

777 780 

778* **`"localSettings"`**: accetta `outputStyle` e lo unisce nel file di impostazioni locali del progetto, `.claude/settings.local.json`. Il nuovo stile ha effetto sulla richiesta successiva della sessione.781* **`"localSettings"`**: accetta `outputStyle` e ne esegue il merge nel file di impostazioni locali del progetto, `.claude/settings.local.json`. Il nuovo stile ha effetto alla richiesta successiva della sessione.

779* **`"userSettings"`**: accetta `effortLevel` e lo salva come [livello di sforzo](/docs/it/model-config#adjust-effort-level) predefinito per il modello corrente della sessione, sotto [`modelSettings`](/docs/it/settings-reference#modelsettings) nel file di impostazioni utente. Passare `max` non scrive nulla, perché `max` è solo per sessione. La sessione in esecuzione mantiene il suo livello di sforzo corrente comunque, quindi chiama [`applyFlagSettings()`](#applyflagsettings) quando vuoi anche cambiare quello. Questa fonte richiede TypeScript SDK v0.3.277 o successivo, che raggruppa Claude Code v2.1.277.782* **`"userSettings"`**: accetta `effortLevel` e lo salva come [livello di sforzo](/docs/it/model-config#adjust-effort-level) predefinito per il modello corrente della sessione, sotto [`modelSettings`](/docs/it/settings-reference#modelsettings) nel tuo file di impostazioni utente. Passare `max` non scrive nulla, perché `max` vale solo per la sessione. In ogni caso la sessione in esecuzione mantiene il livello di sforzo corrente, quindi chiama [`applyFlagSettings()`](#applyflagsettings) quando vuoi cambiare anche quello. Questa fonte richiede TypeScript SDK v0.3.277 o successivo, che include Claude Code v2.1.277.

780 783 

781La chiamata rifiuta quando la richiesta trasporta qualsiasi altra chiave, quando la sessione viene eseguita su un trasporto remoto, e quando il [`settingSources`](#options) della sessione esclude la fonte che nomini. L'eliminazione di una chiave non è supportata.784La chiamata viene rifiutata quando la richiesta contiene qualsiasi altra chiave, quando la sessione viene eseguita su un trasporto remoto e quando le [`settingSources`](#options) della sessione escludono la fonte indicata. L'eliminazione di una chiave non è supportata.

782 785 

783<h4 id="togglemcpserver">786<h4 id="togglemcpserver">

784 `toggleMcpServer()`787 `toggleMcpServer()`


786 789 

787Disabilitare un server lo disconnette e ne rimuove gli strumenti dalla sessione. Per i server aggiunti a metà sessione e per i server in-process, questo dipende dalla tua versione di Claude Code:790Disabilitare un server lo disconnette e ne rimuove gli strumenti dalla sessione. Per i server aggiunti a metà sessione e per i server in-process, questo dipende dalla tua versione di Claude Code:

788 791 

789* Un server stdio, SSE o HTTP aggiunto a metà sessione con `setMcpServers()`: la rimozione dei suoi strumenti richiede Claude Code v2.1.285 o successiva.792* Un server stdio, SSE o HTTP aggiunto a metà sessione con `setMcpServers()`: la rimozione dei suoi strumenti richiede Claude Code v2.1.285 o successivo.

790* Un server in-process creato con [`createSdkMcpServer()`](#createsdkmcpserver), sia che tu lo abbia passato in `mcpServers` sia con `setMcpServers()`: disconnetterlo e rimuoverne gli strumenti richiede Claude Code v2.1.286 o successiva. Disabilitarne uno fa anche fallire le sue chiamate agli strumenti ancora in esecuzione, quindi Claude riceve immediatamente un risultato di errore per ciascuna di esse, senza attendere che il tuo handler restituisca un valore.793* Un server in-process creato con [`createSdkMcpServer()`](#createsdkmcpserver), che tu lo abbia passato in `mcpServers` o con `setMcpServers()`: la sua disconnessione e la rimozione dei suoi strumenti richiedono Claude Code v2.1.286 o successivo. Disabilitarne uno fa inoltre fallire le sue chiamate agli strumenti ancora in esecuzione, così Claude riceve immediatamente un risultato di errore per ciascuna di esse, senza attendere che il tuo handler restituisca un valore.

791 794 

792<h3 id="warmquery">795<h3 id="warmquery">

793 `WarmQuery`796 `WarmQuery`

794</h3>797</h3>

795 798 

796Handle restituito da [`startup()`](#startup). Il subprocess è già generato e inizializzato, quindi chiamare `query()` su questo handle scrive il prompt direttamente a un processo pronto senza latenza di avvio.799Handle restituito da [`startup()`](#startup). Il sottoprocesso è già avviato e inizializzato, quindi chiamare `query()` su questo handle scrive il prompt direttamente in un processo pronto, senza latenza di avvio.

797 800 

798```typescript theme={null}801```typescript theme={null}

799interface WarmQuery extends AsyncDisposable {802interface WarmQuery extends AsyncDisposable {


808 811 

809| Metodo | Descrizione |812| Metodo | Descrizione |

810| :- | :- |813| :- | :- |

811| `query(prompt)` | Invia un prompt al subprocess pre-riscaldato e restituisci un [`Query`](#query-object). Può essere chiamato solo una volta per `WarmQuery` |814| `query(prompt)` | Invia un prompt al sottoprocesso preriscaldato e restituisce una [`Query`](#query-object). Può essere chiamato una sola volta per `WarmQuery` |

812| `close()` | Chiudi il subprocess senza inviare un prompt. Usalo per scartare una warm query che non è più necessaria |815| `close()` | Chiude il sottoprocesso senza inviare un prompt. Usalo per scartare una warm query non più necessaria |

813 816 

814`WarmQuery` implementa `AsyncDisposable`, quindi può essere usato con `await using` per la pulizia automatica.817`WarmQuery` implementa `AsyncDisposable`, quindi può essere usato con `await using` per la pulizia automatica.

815 818 


817 `SpareProcess`820 `SpareProcess`

818</h3>821</h3>

819 822 

820*Alpha.* Handle restituito da [`prewarm()`](#prewarm): un processo Claude Code avviato che non è ancora vincolato a una sessione e può essere rivendicato una volta. Richiede TypeScript Agent SDK v0.3.282 o successivo.823*Alpha.* Handle restituito da [`prewarm()`](#prewarm): un processo Claude Code avviato che non è ancora associato a una sessione e può essere rivendicato una sola volta. Richiede TypeScript Agent SDK v0.3.282 o successivo.

821 824 

822```typescript theme={null}825```typescript theme={null}

823interface SpareProcess extends AsyncDisposable {826interface SpareProcess extends AsyncDisposable {


837 840 

838| Membro | Descrizione |841| Membro | Descrizione |

839| :- | :- |842| :- | :- |

840| `claim({ prompt, options })` | Vincola lo spare a una sessione in `options.cwd` e invia il suo primo messaggio. Restituisce un [`Query`](#query-object) in modo sincrono, come `query()` fa. Può essere chiamato solo una volta |843| `claim({ prompt, options })` | Associa il processo di riserva a una sessione in `options.cwd` e invia il primo messaggio. Restituisce una [`Query`](#query-object) in modo sincrono, come fa `query()`. Può essere chiamato una sola volta |

841| `claimed` | Si risolve con la directory di lavoro e l'ID della sessione una volta che Claude Code accetta la rivendicazione. Rifiuta quando Claude Code rifiuta la rivendicazione, quando il processo è uscito o è stato chiuso per primo, e, con un messaggio che inizia con `option_not_applied`, quando la sessione è in esecuzione senza il `model` o `maxThinkingTokens` che hai richiesto |844| `claimed` | Si risolve con la directory di lavoro e l'ID della sessione una volta che Claude Code accetta la rivendicazione. Viene rifiutata quando Claude Code rifiuta la rivendicazione, quando il processo è terminato o è stato chiuso prima e, con un messaggio che inizia con `option_not_applied`, quando la sessione è in esecuzione senza il `model` o il `maxThinkingTokens` che hai richiesto |

842| `exited` | Si stabilizza quando il processo esce, rivendicato o meno. Sostituisci uno spare che esce prima che tu lo rivendichi |845| `exited` | Si conclude quando il processo termina, rivendicato o meno. Sostituisci un processo di riserva che termina prima che tu lo rivendichi |

843| `close()` | Termina il processo. Prima di una rivendicazione questo scarta lo spare e rifiuta `claimed` |846| `close()` | Termina il processo. Prima di una rivendicazione, scarta il processo di riserva e rifiuta `claimed` |

844 847 

845`options.cwd` è richiesto. Una rivendicazione può anche impostare `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, un overlay flag-settings in `settings`, `appendSystemPrompt`, `title`, `agents`, e token per-sessione in `env`.848`options.cwd` è obbligatorio. Una rivendicazione può anche impostare `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, una sovrapposizione di impostazioni da flag in `settings`, `appendSystemPrompt`, `title`, `agents` e token per sessione in `env`.

846 849 

847Claude Code può rifiutare una rivendicazione, ad esempio per una cartella che non esiste o una le cui impostazioni del progetto impostano `env`, `agent`, o `model`. Quando `claimed` rifiuta con un messaggio che inizia con `option_not_applied`, la sessione è in esecuzione senza il `model` o `maxThinkingTokens` che hai richiesto. Dopo qualsiasi altro rifiuto il tuo prompt non ha eseguito, quindi avvia la sessione con `query()` invece.850Claude Code può rifiutare una rivendicazione, ad esempio per una cartella che non esiste o per una cartella le cui impostazioni di progetto impostano `env`, `agent` o `model`. Dopo un rifiuto, un prompt già inviato da `claim()` riceve un risultato di errore il cui testo inizia con `not_claimed`, e la query restituita genera quindi un'eccezione. Racchiudi il ciclo della query in un blocco try per proseguire oltre l'eccezione. Quando `claimed` viene rifiutata con un messaggio che inizia con `option_not_applied`, la sessione è in esecuzione senza il `model` o il `maxThinkingTokens` che hai richiesto. Dopo qualsiasi altro rifiuto il tuo prompt non è stato eseguito, quindi avvia invece la sessione con `query()`.

848 851 

849<h3 id="sdkcontrolinitializeresponse">852<h3 id="sdkcontrolinitializeresponse">

850 `SDKControlInitializeResponse`853 `SDKControlInitializeResponse`

851</h3>854</h3>

852 855 

853Tipo di ritorno di `initializationResult()`. Contiene i dati di inizializzazione della sessione.856Tipo restituito da `initializationResult()`. Contiene i dati di inizializzazione della sessione.

854 857 

855```typescript theme={null}858```typescript theme={null}

856type SDKControlInitializeResponse = {859type SDKControlInitializeResponse = {


874};877};

875```878```

876 879 

877`hooks_applied` segnala se Claude Code ha registrato gli `hooks` che la richiesta `initialize` ha trasportato. L'SDK invia quella richiesta una volta quando la sessione inizia e di nuovo su ogni chiamata [`reinitialize()`](#query-object). Il campo richiede Agent SDK v0.3.238 o successivo.880`hooks_applied` indica se Claude Code ha registrato gli `hooks` contenuti nella richiesta `initialize`. L'SDK invia quella richiesta una volta all'avvio della sessione e di nuovo a ogni chiamata a [`reinitialize()`](#query-object). Il campo richiede Agent SDK v0.3.238 o successivo.

878 881 

879Claude Code omette il campo quando la richiesta non ha trasportato hook. Quando la richiesta ha trasportato hook, il valore dipende dal fatto che la richiesta sia la prima inizializzazione della sessione e, per una ripetuta, da come ha raggiunto la sessione:882Claude Code omette il campo quando la richiesta non conteneva hook. Quando la richiesta conteneva hook, il valore dipende dal fatto che la richiesta sia il primo initialize della sessione e, per uno ripetuto, da come ha raggiunto la sessione:

880 883 

881* `true`: Claude Code ha registrato gli hook. Un'inizializzazione della prima sessione restituisce questo valore. Un'inizializzazione ripetuta inviata su stdin della CLI restituisce anche `true`. In quel caso gli hook nella nuova richiesta sostituiscono gli hook registrati in precedenza.884* `true`: Claude Code ha registrato gli hook. Il primo initialize di una sessione restituisce questo valore. Anche un initialize ripetuto inviato tramite lo stdin della CLI restituisce `true`. In quel caso gli hook della nuova richiesta sostituiscono quelli registrati in precedenza.

882* `false`: Claude Code ha ignorato gli hook. Un'inizializzazione ripetuta inviata a una sessione remota restituisce questo valore, quindi un secondo client che si unisce a una sessione non può sostituire gli hook che il primo client ha registrato.885* `false`: Claude Code ha ignorato gli hook. Un initialize ripetuto inviato a una sessione remota restituisce questo valore, così un secondo client che si unisce a una sessione non può sostituire gli hook registrati dal primo client.

883 886 

884Prima di Agent SDK v0.3.238, la risposta non ha mai trasportato il campo, e Claude Code ha ignorato `hooks` su ogni inizializzazione ripetuta.887Prima di Agent SDK v0.3.238, la risposta non conteneva mai il campo e Claude Code ignorava `hooks` a ogni initialize ripetuto.

885 888 

886Il campo `sdkMcpServerManifests` della richiesta e il campo `sdk_mcp_manifests_parked` della risposta riguardano i [server MCP dell'SDK](/docs/it/agent-sdk/custom-tools) in-process che hai creato con [`createSdkMcpServer()`](#createsdkmcpserver). La tua applicazione non imposta né legge nessuno dei due campi.889Il campo `sdkMcpServerManifests` della richiesta e il campo `sdk_mcp_manifests_parked` della risposta riguardano i [server MCP SDK](/docs/it/agent-sdk/custom-tools) in-process creati con [`createSdkMcpServer()`](#createsdkmcpserver). La tua applicazione non imposta né legge nessuno dei due campi.

887 890 

888La risposta segnala sempre `fast_mode_state`, e quando qualcosa blocca [fast mode](/docs/it/fast-mode), `fast_mode_disabled_reason` trasporta il codice della ragione insieme ad esso, in modo che tu possa spiegare lo stato bloccato invece di ri-derivare la disponibilità. Entrambi i comportamenti richiedono Claude Code v2.1.219 o successivo. Prima di v2.1.219, la risposta ometteva `fast_mode_state` quando fast mode non era disponibile e non trasportava mai una ragione. Per i codici della ragione e i loro significati, vedi [`fast_mode_disabled_reason`](#sdkresultmessage) sul messaggio di risultato.891La risposta riporta sempre `fast_mode_state` e, quando qualcosa blocca la [modalità veloce](/docs/it/fast-mode), `fast_mode_disabled_reason` contiene accanto ad esso il codice del motivo, così puoi spiegare lo stato bloccato invece di ricavare di nuovo la disponibilità. Entrambi i comportamenti richiedono Claude Code v2.1.219 o successivo. Prima della v2.1.219, la risposta ometteva `fast_mode_state` quando la modalità veloce non era disponibile e non conteneva mai un motivo. Per i codici dei motivi e il loro significato, consulta [`fast_mode_disabled_reason`](#sdkresultmessage) nel messaggio di risultato.

889 892 

890Il wrapper di risposta di controllo per un `initialize` riuscito trasporta anche un array `pending_permission_requests`. Il campo è sul wrapper di risposta stesso, non nel payload `SDKControlInitializeResponse` sopra. Ogni voce è un messaggio `control_request` completo con la stessa forma `{ type: "control_request", request_id, request }` che la sessione trasmette per le richieste di permesso durante l'esecuzione.893Il wrapper della risposta di controllo per un `initialize` riuscito contiene anche un array `pending_permission_requests`. Il campo si trova sul wrapper della risposta stesso, non nel payload `SDKControlInitializeResponse` riportato sopra. Ogni voce è un messaggio `control_request` completo, con la stessa forma `{ type: "control_request", request_id, request }` che la sessione trasmette in streaming per le richieste di permesso durante l'esecuzione.

891 894 

892L'array elenca le richieste di permesso che questo processo Claude Code ha emesso e non ancora risolto. L'SDK legge l'array per te e invia ogni voce al tuo callback [`canUseTool`](#canusetool), la stessa reinoltro che [`reinitialize()`](#query-object) attiva dopo un gap di trasporto. Gestisci gli ID di richiesta ripetuti in modo idempotente, perché una voce può ripetere una richiesta che il callback ha già ricevuto prima che la connessione si interrompesse.895L'array elenca le richieste di permesso che questo processo Claude Code ha emesso e non ha ancora risolto. L'SDK legge l'array al posto tuo e inoltra ogni voce alla tua callback [`canUseTool`](#canusetool), lo stesso nuovo recapito che [`reinitialize()`](#query-object) attiva dopo un'interruzione del trasporto. Gestisci gli ID di richiesta ripetuti in modo idempotente, perché una voce può ripetere una richiesta che la callback ha già ricevuto prima che la connessione cadesse.

893 896 

894L'array è sempre presente su una risposta `initialize` riuscita ed è vuoto quando questo processo non ha alcuna richiesta di permesso non risolta. Richiede Claude Code v2.1.268 o successivo. Le versioni precedenti potrebbero omettere il campo, quindi se analizzi il protocollo wire tu stesso, tratta un campo mancante come una CLI più vecchia piuttosto che come prova che nulla è in sospeso.897L'array è sempre presente in una risposta `initialize` riuscita ed è vuoto quando questo processo non ha richieste di permesso irrisolte. Richiede Claude Code v2.1.268 o successivo. Le versioni precedenti potevano omettere il campo, quindi se analizzi tu stesso il protocollo wire, considera un campo mancante come segno di una CLI meno recente e non come prova che non ci sia nulla in sospeso.

895 898 

896<h3 id="sdkcontrolinterruptresponse">899<h3 id="sdkcontrolinterruptresponse">

897 `SDKControlInterruptResponse`900 `SDKControlInterruptResponse`

898</h3>901</h3>

899 902 

900La ricevuta di interruzione: il valore che [`interrupt()`](#query-object) si risolve con su una CLI che pubblicizza la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage). Richiede Claude Code v2.1.205 o successivo. Le CLI precedenti rispondono all'interruzione con un payload di successo vuoto, quindi `interrupt()` si risolve a `undefined`.903La ricevuta dell'interruzione: il valore con cui [`interrupt()`](#query-object) si risolve su una CLI che dichiara la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage). Richiede Claude Code v2.1.205 o successivo. Le CLI precedenti rispondono all'interruzione con un payload di successo vuoto, quindi `interrupt()` si risolve con `undefined`.

901 904 

902```typescript theme={null}905```typescript theme={null}

903type SDKControlInterruptResponse = {906type SDKControlInterruptResponse = {


906};909};

907```910```

908 911 

909`still_queued` elenca gli UUID dei messaggi utente che erano in sospeso quando l'interruzione è arrivata: messaggi ancora nella coda, più eventuali messaggi che Claude Code aveva già tolto dalla coda per il turno successivo. Una volta che il primo turno della sessione ha iniziato, Claude Code elabora i messaggi elencati dopo l'interruzione a meno che non li annulli per primo, e può unire diversi in un turno. Se interrompi prima che il primo turno inizi, Claude Code interrompe quel turno non appena inizia, e i messaggi elencati in quel turno non ricevono risposta.912`still_queued` elenca gli UUID dei messaggi utente in sospeso al momento dell'arrivo dell'interruzione: i messaggi ancora in coda, più quelli che Claude Code aveva già prelevato dalla coda per il turno successivo. Una volta avviato il primo turno della sessione, Claude Code elabora i messaggi elencati dopo l'interruzione, a meno che tu non li annulli prima, e può accorparne diversi in un unico turno. Se interrompi prima dell'avvio del primo turno, Claude Code interrompe quel turno non appena inizia, e i messaggi elencati in quel turno non ricevono risposta.

910 913 

911Usa la ricevuta per decidere se inviare di nuovo qualcosa. Un messaggio elencato che non annulli entra nella conversazione indipendentemente dal fatto che riceva una risposta, quindi rinviarlo lo consegna a Claude due volte.914Usa la ricevuta per decidere se inviare di nuovo qualcosa. Un messaggio elencato che non annulli entra nella conversazione indipendentemente dal fatto che riceva una risposta, quindi inviarlo di nuovo lo recapita a Claude due volte.

912 915 

913Interpreta l'elenco con questi avvertimenti:916Interpreta l'elenco tenendo conto di queste avvertenze:

914 917 

915* Solo i messaggi che sono stati accodati con un UUID appaiono. Un array vuoto non significa che nient'altro verrà eseguito.918* Compaiono solo i messaggi accodati con un UUID. Un array vuoto non significa che non verrà eseguito nient'altro.

916* Solo i messaggi del thread principale sono elencati. I messaggi indirizzati a un subagent sono fuori portata.919* Vengono elencati solo i messaggi del thread principale. I messaggi indirizzati a un subagent non sono inclusi.

917* L'elenco può includere UUID che il tuo client non ha mai inviato, come i trigger di [attività pianificate](/docs/it/scheduled-tasks). Ignora gli UUID che non riconosci invece di trattarli come un errore.920* L'elenco può includere UUID che il tuo client non ha mai inviato, come i trigger delle [attività pianificate](/docs/it/scheduled-tasks). Ignora gli UUID che non riconosci invece di trattarli come un errore.

918 921 

919Un client che guida il protocollo di controllo della CLI direttamente, piuttosto che tramite `interrupt()`, può impostare `cancel_queued: true` sulla richiesta di controllo `interrupt`. Claude Code v2.1.219 e successivo pubblicizza il supporto con la capacità `interrupt_cancel_queued_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage); le CLI più vecchie ignorano il campo e lasciano i messaggi in coda per l'esecuzione come al solito. Tale interruzione annulla anche ogni messaggio che altrimenti sarebbe elencato sotto `still_queued`: la ricevuta li elenca sotto `cancelled` invece, `still_queued` è vuoto, e nessuno di loro viene eseguito.922Un client che gestisce direttamente il protocollo di controllo della CLI, invece di passare da `interrupt()`, può impostare `cancel_queued: true` nella richiesta di controllo `interrupt`. Claude Code v2.1.219 e successivi dichiarano il supporto con la capacità `interrupt_cancel_queued_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage); le CLI meno recenti ignorano il campo e lasciano che i messaggi in coda vengano eseguiti normalmente. Un'interruzione di questo tipo annulla anche ogni messaggio che altrimenti verrebbe elencato in `still_queued`: la ricevuta li elenca invece in `cancelled`, `still_queued` è vuoto e nessuno di essi viene eseguito.

920 923 

921L'elenco `cancelled` trasporta gli stessi avvertimenti di `still_queued`. Il metodo `interrupt()` non invia mai `cancel_queued`, quindi le ricevute che si risolve non trasportano `cancelled`.924L'elenco `cancelled` ha le stesse avvertenze di `still_queued`. Il metodo `interrupt()` non invia mai `cancel_queued`, quindi le ricevute con cui si risolve non contengono `cancelled`.

922 925 

923La ricevuta è uno snapshot scattato nel momento in cui l'interruzione viene elaborata, e su un'interruzione pulita arriva prima del [`SDKResultMessage`](#sdkresultmessage) del turno interrotto. Leggi la ricevuta piuttosto che ispezionare la coda dopo quel risultato: il loop avvia il turno in coda successivo immediatamente, quindi la coda che ispezioni dopo il risultato ha già cambiato.926La ricevuta è un'istantanea acquisita nel momento in cui l'interruzione viene elaborata e, in caso di interruzione pulita, arriva prima del [`SDKResultMessage`](#sdkresultmessage) del turno interrotto. Leggi la ricevuta invece di ispezionare la coda dopo quel risultato: il ciclo avvia immediatamente il turno successivo in coda, quindi la coda che ispezioni dopo il risultato è già cambiata.

924 927 

925<h3 id="sdkcontrolgetcontextusageresponse">928<h3 id="sdkcontrolgetcontextusageresponse">

926 `SDKControlGetContextUsageResponse`929 `SDKControlGetContextUsageResponse`

927</h3>930</h3>

928 931 

929Tipo di ritorno di [`getContextUsage()`](#query-object). Con il predefinito `detail`, questo è lo stesso payload che Claude Code rende per il comando `/context` in una sessione interattiva, quindi insieme ai conteggi di token trasporta campi di visualizzazione come `color` e `gridRows` che Claude Code usa per disegnare la griglia di utilizzo `/context`.932Tipo restituito da [`getContextUsage()`](#query-object). Con il `detail` predefinito, è lo stesso payload che Claude Code mostra per il comando `/context` in una sessione interattiva, quindi oltre ai conteggi dei token contiene campi di visualizzazione come `color` e `gridRows` che Claude Code usa per disegnare la griglia di utilizzo di `/context`.

930 933 

931L'argomento `detail` facoltativo del metodo sceglie come Claude Code conta ogni categoria. Il `detail` argomento richiede Agent SDK v0.3.257 o successivo.934L'argomento facoltativo `detail` del metodo sceglie come Claude Code conta ogni categoria. L'argomento `detail` richiede Agent SDK v0.3.257 o successivo.

932 935 

933* **`'full'`**: il predefinito. Claude Code conta ogni categoria con richieste API di [conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting). Queste richieste non appaiono nel flusso di messaggi, quindi il tracciamento dei costi che legge il flusso non le vedrà. Sull'API Anthropic, il conteggio dei token non è fatturato.936* **`'full'`**: il valore predefinito. Claude Code conta ogni categoria con richieste API di [conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting). Queste richieste non compaiono nel flusso dei messaggi, quindi un tracciamento dei costi basato sul flusso non le vede. Sull'API Anthropic, il conteggio dei token non viene addebitato.

934* **`'summary'`**: passa `{ detail: 'summary' }` per ottenere una risposta dall'utilizzo dell'ultima risposta e dalle stime locali. Nessuna richiesta di conteggio dei token esce, e i numeri per categoria sono approssimativi.937* **`'summary'`**: passa `{ detail: 'summary' }` per ottenere invece una risposta basata sull'utilizzo dell'ultima risposta e su stime locali. Non viene inviata alcuna richiesta di conteggio dei token, e i numeri per categoria sono approssimativi.

935 938 

936Quando invii `/context` come prompt invece di chiamare il metodo, Claude Code allega un payload [`SDKContextUsage`](#sdkcontextusage) al campo `context_usage` del messaggio dell'assistente che consegna il risultato. Quel campo richiede Agent SDK v0.3.232 o successivo.939Quando invii `/context` come prompt invece di chiamare il metodo, Claude Code allega un payload [`SDKContextUsage`](#sdkcontextusage) al campo `context_usage` del messaggio dell'assistente che restituisce il risultato. Quel campo richiede Agent SDK v0.3.232 o successivo.

937 940 

938```typescript theme={null}941```typescript theme={null}

939type SDKControlGetContextUsageResponse = {942type SDKControlGetContextUsageResponse = {


1030};1033};

1031```1034```

1032 1035 

1033Leggi l'attribuzione dei token dalle raccolte di campi:1036Leggi l'attribuzione dei token dai campi di tipo collezione:

1034 1037 

1035* `categories` contiene i totali per categoria. Ogni voce's `kind` classifica la riga con gli stessi valori di [`SDKContextUsageCategory`](#sdkcontextusagecategory). Classifica le righe su di esso piuttosto che sul `name` di visualizzazione. Il campo richiede Agent SDK v0.3.268 o successivo.1038* `categories` contiene i totali per categoria. Il campo `kind` di ogni voce classifica la riga con gli stessi valori di [`SDKContextUsageCategory`](#sdkcontextusagecategory). Classifica le righe in base a questo campo anziché al `name` visualizzato. Il campo richiede Agent SDK v0.3.268 o successivo.

1036* `mcpTools` e `agents` attribuiscono i token ai singoli strumenti MCP e subagent.1039* `mcpTools` e `agents` attribuiscono i token ai singoli strumenti MCP e ai subagent.

1037* `memoryFiles` elenca ogni file di memoria caricato con il suo costo.1040* `memoryFiles` elenca ogni file di memoria caricato con il relativo costo.

1038* `skills.skillFrontmatter` attribuisce i token della voce di skill a ogni skill inclusa. I conteggi per skill misurano ogni voce di skill come Claude Code effettivamente la invia, che può essere più breve del frontmatter completo della skill. Confronta `skills.totalSkills` con `skills.includedSkills` per vedere se ogni skill scoperta ha fatto parte dell'elenco.1041* `skills.skillFrontmatter` attribuisce i token dell'elenco delle skill a ciascuna skill inclusa. I conteggi per skill misurano la voce di elenco di ciascuna skill così come Claude Code la invia effettivamente, che può essere più breve del frontmatter completo della skill. Confronta `skills.totalSkills` con `skills.includedSkills` per verificare se ogni skill rilevata è stata inclusa nell'elenco.

1039 1042 

1040`totalTokens` è l'utilizzo di contesto corrente della sessione, e `maxTokens` è la finestra rispetto alla quale l'utilizzo viene misurato. Quella finestra è la finestra di contesto del modello, o la finestra di auto-compattazione inferiore quando una si applica. `rawMaxTokens` trasporta lo stesso valore di `maxTokens`, e `percentage` è `totalTokens` come percentuale arrotondata di quella finestra. `apiUsage` contiene l'utilizzo dall'ultima risposta API, non un totale in esecuzione per la sessione.1043`totalTokens` è l'utilizzo corrente del contesto della sessione, e `maxTokens` è la finestra rispetto alla quale viene misurato tale utilizzo. Quella finestra è la finestra di contesto del modello, oppure la finestra inferiore di compattazione automatica quando applicabile. `rawMaxTokens` contiene lo stesso valore di `maxTokens`, e `percentage` è `totalTokens` espresso come percentuale arrotondata di quella finestra. `apiUsage` contiene l'utilizzo dell'ultima risposta API, non un totale progressivo della sessione.

1041 1044 

1042Claude Code lascia i diagnostici facoltativi `deferredBuiltinTools`, `systemTools`, e `systemPromptSections` non impostati, quindi aspettati che siano assenti anche se il tipo li dichiara.1045Claude Code lascia non impostate le diagnostiche facoltative `deferredBuiltinTools`, `systemTools` e `systemPromptSections`, quindi aspettati che siano assenti anche se il tipo le dichiara.

1043 1046 

1044<h3 id="sdkcontrolreadfileresponse">1047<h3 id="sdkcontrolreadfileresponse">

1045 `SDKControlReadFileResponse`1048 `SDKControlReadFileResponse`

1046</h3>1049</h3>

1047 1050 

1048Tipo di ritorno di [`readFile()`](#query-object).1051Tipo restituito da [`readFile()`](#query-object).

1049 1052 

1050```typescript theme={null}1053```typescript theme={null}

1051type SDKControlReadFileResponse = {1054type SDKControlReadFileResponse = {


1056};1059};

1057```1060```

1058 1061 

1059`contents` contiene il testo del file, o dati base64 quando hai richiesto `encoding: 'base64'`; il campo `encoding` della risposta è impostato a `'base64'` in quel caso. `absPath` è il percorso assoluto risolto. `truncated` è impostato quando il file era più lungo del limite `maxBytes` e i contenuti sono stati tagliati a quel limite.1062`contents` contiene il testo del file, oppure dati base64 quando hai richiesto `encoding: 'base64'`; in quel caso il campo `encoding` della risposta è impostato su `'base64'`. `absPath` è il percorso assoluto risolto. `truncated` è impostato quando il file era più lungo del limite `maxBytes` e il contenuto è stato troncato a quel limite.

1060 1063 

1061<h4 id="what-readfile-can-read">1064<h4 id="what-readfile-can-read">

1062 Cosa `readFile()` può leggere1065 Cosa può leggere `readFile()`

1063</h4>1066</h4>

1064 1067 

1065`readFile()` serve un insieme più ristretto di file rispetto allo strumento Read:1068`readFile()` fornisce un insieme di file più ristretto rispetto allo strumento Read:

1066 1069 

1067* Un file regolare all'interno di una delle directory di lavoro della sessione, come `cwd` e `additionalDirectories`1070* Un file regolare all'interno di una delle directory di lavoro della sessione, come `cwd` e `additionalDirectories`

1068* Alcuni dei file di Claude Code stesso per la sessione, come i risultati degli strumenti1071* Alcuni file propri di Claude Code per la sessione, come i risultati degli strumenti

1069 1072 

1070Le regole di negazione e richiesta di Read bloccano comunque un percorso corrispondente, e una regola di autorizzazione Read ampia non apre il resto del filesystem a `readFile()`. Per qualsiasi altra cosa la chiamata si risolve con `null`.1073Le regole deny e ask di `Read` bloccano comunque un percorso corrispondente, e un'ampia regola allow di `Read` non apre il resto del filesystem a `readFile()`. Per qualsiasi altra cosa la chiamata si risolve con `null`.

1071 1074 

1072<h3 id="sdkcontrolreloadpluginsresponse">1075<h3 id="sdkcontrolreloadpluginsresponse">

1073 `SDKControlReloadPluginsResponse`1076 `SDKControlReloadPluginsResponse`

1074</h3>1077</h3>

1075 1078 

1076Tipo di ritorno di [`reloadPlugins()`](#query-object).1079Tipo restituito da [`reloadPlugins()`](#query-object).

1077 1080 

1078```typescript theme={null}1081```typescript theme={null}

1079type SDKControlReloadPluginsResponse = {1082type SDKControlReloadPluginsResponse = {


1096};1099};

1097```1100```

1098 1101 

1099I campi della raccolta descrivono la sessione dopo la chiamata:1102I campi di tipo collezione descrivono la sessione dopo la chiamata:

1100 1103 

1101* `commands`, `agents`, e `mcpServers`: i comandi, i subagent e lo stato del server MCP della sessione, nelle stesse forme che `supportedCommands()`, `supportedAgents()`, e `mcpServerStatus()` restituiscono. `supportedAgents()` continua a restituire l'elenco catturato all'inizializzazione, quindi leggi `agents` qui per l'insieme dopo un ricaricamento1104* `commands`, `agents` e `mcpServers`: i comandi, i subagent e lo stato dei server MCP della sessione, nelle stesse forme restituite da `supportedCommands()`, `supportedAgents()` e `mcpServerStatus()`. `supportedAgents()` continua a restituire l'elenco acquisito all'inizializzazione, quindi leggi `agents` qui per ottenere l'insieme dopo un ricaricamento

1102* `plugins`: ogni plugin caricato con il suo `name` e il percorso di installazione `path`. `version` ripete ciò che il manifest del plugin dichiara ed è controllato dall'autore del plugin, quindi convalidalo prima di fidarti. È omesso quando il manifest non dichiara nulla1105* `plugins`: ogni plugin caricato con il suo `name` e il `path` di installazione. `version` ripete quanto dichiarato nel manifest del plugin ed è controllato dall'autore del plugin, quindi convalidalo prima di considerarlo attendibile. Viene omesso quando il manifest non ne dichiara alcuno

1103* `error_count`: il numero di errori dal caricamento dei plugin1106* `error_count`: il numero di errori durante il caricamento dei plugin

1104 1107 

1105Passa `{ holdOnCacheImpact: true }` a `reloadPlugins()` per trattenere un ricaricamento che invaliderebbe la cache del prompt della conversazione invece di applicarlo. Claude Code esegue il controllo che il comando interattivo `/reload-plugins` fa prima di [avvertire del costo della cache](/docs/it/prompt-caching#enabling-or-disabling-a-plugin). L'opzione richiede Agent SDK v0.3.268 o successivo. Un eseguibile Claude Code più vecchio di v2.1.268, come uno che punti `pathToClaudeCodeExecutable` a, ignora l'opzione e applica il ricaricamento.1108Passa `{ holdOnCacheImpact: true }` a `reloadPlugins()` per trattenere, invece di applicarlo, un ricaricamento che invaliderebbe la cache dei prompt della conversazione. Claude Code esegue lo stesso controllo che il comando interattivo `/reload-plugins` effettua prima di [avvisare del costo per la cache](/docs/it/prompt-caching#enabling-or-disabling-a-plugin). L'opzione richiede Agent SDK v0.3.268 o successivo. Un eseguibile di Claude Code precedente alla v2.1.268, come uno a cui punti con `pathToClaudeCodeExecutable`, ignora l'opzione e applica il ricaricamento.

1106 1109 

1107Quando passi l'opzione, leggi `held` per sapere cosa è successo:1110Quando passi l'opzione, leggi `held` per sapere cosa è successo:

1108 1111 

1109* `true`: il ricaricamento non è stato applicato, e i campi della raccolta descrivono la sessione come ancora è. `cache_impact` dice cosa applicare cambierebbe. Per applicare comunque, chiama `reloadPlugins()` di nuovo senza l'opzione.1112* `true`: il ricaricamento non è stato applicato, e i campi di tipo collezione descrivono la sessione così com'è ancora. `cache_impact` indica cosa cambierebbe applicandolo. Per applicarlo comunque, chiama di nuovo `reloadPlugins()` senza l'opzione.

1110* `false`: il controllo non ha trovato alcun impatto sulla cache, e il ricaricamento è stato applicato.1113* `false`: il controllo non ha rilevato alcun impatto sulla cache, e il ricaricamento è stato applicato.

1111* Assente: non hai passato l'opzione, o l'eseguibile Claude Code è più vecchio di v2.1.268 e ha applicato il ricaricamento.1114* Assente: non hai passato l'opzione, oppure l'eseguibile di Claude Code è precedente alla v2.1.268 e ha applicato il ricaricamento.

1112 1115 

1113`cache_impact` è presente solo insieme a `held: true`. `mcp_servers_added` e `mcp_servers_removed` nominano i server MCP del plugin che il ricaricamento registrerebbe o eliminerebbe, come nomi con ambito `plugin:<plugin>:<server>`. I nomi sono creati dal plugin, quindi convalidali prima di mostrarli. `lsp_tool_change` dice se applicare aggiungerebbe o rimuoverebbe lo strumento LSP, o `null` quando non farebbe nulla. Le forme `may-` significano che il controllo non poteva vedere completamente l'insieme di plugin in sospeso.1116`cache_impact` è presente solo insieme a `held: true`. `mcp_servers_added` e `mcp_servers_removed` indicano i server MCP dei plugin che il ricaricamento registrerebbe o eliminerebbe, con nomi con ambito `plugin:<plugin>:<server>`. I nomi sono definiti dagli autori dei plugin, quindi convalidali prima di mostrarli. `lsp_tool_change` indica se l'applicazione aggiungerebbe o rimuoverebbe lo strumento LSP, oppure `null` quando non farebbe nessuna delle due cose. Le forme `may-` indicano che il controllo non è riuscito a vedere completamente l'insieme dei plugin in sospeso.

1114 1117 

1115<h3 id="sdkcontrolreloadskillsresponse">1118<h3 id="sdkcontrolreloadskillsresponse">

1116 `SDKControlReloadSkillsResponse`1119 `SDKControlReloadSkillsResponse`

1117</h3>1120</h3>

1118 1121 

1119Tipo di ritorno di [`reloadSkills()`](#query-object).1122Tipo restituito da [`reloadSkills()`](#query-object).

1120 1123 

1121```typescript theme={null}1124```typescript theme={null}

1122type SDKControlReloadSkillsResponse = {1125type SDKControlReloadSkillsResponse = {


1124};1127};

1125```1128```

1126 1129 

1127`skills` elenca le skill disponibili dopo il ricaricamento, nella stessa forma [`SlashCommand`](#slashcommand) che `supportedCommands()` restituisce.1130`skills` elenca le skill disponibili dopo il ricaricamento, nella stessa forma [`SlashCommand`](#slashcommand) restituita da `supportedCommands()`.

1128 1131 

1129<h3 id="sdkcontrolreloadoutputstylesresponse">1132<h3 id="sdkcontrolreloadoutputstylesresponse">

1130 `SDKControlReloadOutputStylesResponse`1133 `SDKControlReloadOutputStylesResponse`

1131</h3>1134</h3>

1132 1135 

1133Tipo di ritorno di [`reloadOutputStyles()`](#query-object).1136Tipo restituito da [`reloadOutputStyles()`](#query-object).

1134 1137 

1135```typescript theme={null}1138```typescript theme={null}

1136type SDKControlReloadOutputStylesResponse = {1139type SDKControlReloadOutputStylesResponse = {


1138};1141};

1139```1142```

1140 1143 

1141`available_output_styles` elenca i nomi degli stili di output incorporati e personalizzati disponibili dopo il ricaricamento.1144`available_output_styles` elenca i nomi degli stili di output integrati e personalizzati disponibili dopo il ricaricamento.

1142 1145 

1143<h3 id="sdkcontrolmcpreadresourceresponse">1146<h3 id="sdkcontrolmcpreadresourceresponse">

1144 `SDKControlMcpReadResourceResponse`1147 `SDKControlMcpReadResourceResponse`

1145</h3>1148</h3>

1146 1149 

1147Tipo di ritorno di [`readMcpResource()`](#query-object), che trasporta il risultato `resources/read` del server MCP. Richiede TypeScript Agent SDK v0.3.280 o successivo.1150Tipo restituito da [`readMcpResource()`](#query-object), che contiene il risultato `resources/read` del server MCP. Richiede TypeScript Agent SDK v0.3.280 o successivo.

1148 1151 

1149```typescript theme={null}1152```typescript theme={null}

1150type SDKControlMcpReadResourceResponse = {1153type SDKControlMcpReadResourceResponse = {


1158};1161};

1159```1162```

1160 1163 

1161Passa `readMcpResource()` il nome del server come `mcpServerStatus()` lo segnala e un URI `ui://`, come l'`ui.resourceUri` che uno strumento dichiara nel suo [`_meta`](#mcpserverstatus). La chiamata rifiuta per qualsiasi altro schema URI, per un [SDK MCP server](#createsdkmcpserver) che la tua applicazione ospita stessa, e per un server che non è connesso. È disponibile quando il messaggio init's [`capabilities`](#sdksystemmessage) include `mcp_read_resource_v1`.1164Passa a `readMcpResource()` il nome del server così come lo riporta `mcpServerStatus()` e un URI `ui://`, ad esempio il `ui.resourceUri` che uno strumento dichiara nel suo [`_meta`](#mcpserverstatus). La chiamata viene rifiutata per qualsiasi altro schema di URI, per un [server MCP SDK](#createsdkmcpserver) ospitato dalla tua applicazione stessa e per un server non connesso. È disponibile quando le [`capabilities`](#sdksystemmessage) del messaggio di init includono `mcp_read_resource_v1`.

1162 1165 

1163Ogni voce `contents` è un elemento di contenuto come il server lo ha inviato, meno qualsiasi chiave `_meta` sotto il prefisso `com.anthropic/`, che è riservato a Claude Code. `blob` contiene dati base64 per un elemento binario, e `_meta` è il `_meta` dell'elemento stesso, dove un server MCP Apps mette il `ui.csp` e `ui.permissions` della risorsa.1166Ogni voce di `contents` è un elemento di contenuto così come il server lo ha inviato, meno qualsiasi chiave `_meta` con il prefisso `com.anthropic/`, riservato a Claude Code. `blob` contiene dati base64 per un elemento binario, e `_meta` è il `_meta` dell'elemento stesso, dove un server MCP Apps inserisce `ui.csp` e `ui.permissions` della risorsa.

1164 1167 

1165I contenuti sono HTML di terze parti non attendibile, quindi rendili in una sandbox.1168I contenuti sono HTML di terze parti non attendibile, quindi visualizzali in una sandbox.

1166 1169 

1167<h3 id="agentdefinition">1170<h3 id="agentdefinition">

1168 `AgentDefinition`1171 `AgentDefinition`

1169</h3>1172</h3>

1170 1173 

1171Configurazione per un subagent definito a livello di programmazione.1174Configurazione per un subagent definito a livello di codice.

1172 1175 

1173```typescript theme={null}1176```typescript theme={null}

1174type AgentDefinition = {1177type AgentDefinition = {


1190};1193};

1191```1194```

1192 1195 

1193| Campo | Richiesto | Descrizione |1196| Campo | Obbligatorio | Descrizione |

1194| :- | :- | :- |1197| :- | :- | :- |

1195| `description` | Sì | Descrizione in linguaggio naturale di quando usare questo agente |1198| `description` | Sì | Descrizione in linguaggio naturale di quando usare questo agente |

1196| `tools` | No | Array di nomi di strumenti consentiti. Se omesso, eredita ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools). Per precaricare le Skill nel contesto dell'agente, usa il campo `skills` piuttosto che elencare `'Skill'` qui |1199| `tools` | No | Array dei nomi degli strumenti consentiti. Se omesso, eredita ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools). Per precaricare le skill nel contesto dell'agente, usa il campo `skills` invece di elencare `'Skill'` qui |

1197| `disallowedTools` | No | Array di nomi di strumenti da esplicitamente disalloware per questo agente. Sono accettati anche modelli a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni strumento da quel server, e `mcp__*` rimuove ogni strumento MCP da qualsiasi server |1200| `disallowedTools` | No | Array dei nomi degli strumenti da vietare esplicitamente per questo agente. Sono accettati anche pattern a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni strumento di quel server, e `mcp__*` rimuove ogni strumento MCP di qualsiasi server |

1198| `prompt` | Sì | Il prompt di sistema dell'agente |1201| `prompt` | Sì | Il prompt di sistema dell'agente |

1199| `model` | No | Override del modello per questo agente. Accetta un alias come `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, o un ID modello completo. `'inherit'` usa il modello principale. Quando lo ometti, Claude Code sceglie il modello nell'[ordine del modello del subagent](/docs/it/sub-agents#choose-a-model) |1202| `model` | No | Override del modello per questo agente. Accetta un alias come `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'` oppure un ID di modello completo. `'inherit'` usa il modello principale. Se lo ometti, Claude Code sceglie il modello secondo l'[ordine dei modelli dei subagent](/docs/it/sub-agents#choose-a-model) |

1200| `mcpServers` | No | Specifiche del server MCP per questo agente |1203| `mcpServers` | No | Specifiche dei server MCP per questo agente |

1201| `skills` | No | Array di nomi di skill da precaricare nel contesto dell'agente |1204| `skills` | No | Array dei nomi delle skill da precaricare nel contesto dell'agente |

1202| `initialPrompt` | No | Auto-inviato come il primo turno utente quando questo agente viene eseguito come agente del thread principale |1205| `initialPrompt` | No | Inviato automaticamente come primo turno utente quando questo agente viene eseguito come agente del thread principale |

1203| `maxTurns` | No | Numero massimo di turni agentici (round-trip API) prima di fermarsi |1206| `maxTurns` | No | Numero massimo di turni agentici (round trip API) prima dell'arresto |

1204| `background` | No | Esegui questo agente come un'attività in background non bloccante quando invocato |1207| `background` | No | Esegue questo agente come attività in background non bloccante quando viene invocato |

1205| `omitClaudeMd` | No | Esegui questo agente senza i file CLAUDE.md utente, progetto e locali quando viene eseguito come subagent; i file di policy gestiti caricano comunque. Usalo per gli agenti che prendono tutto ciò di cui hanno bisogno dal prompt dello strumento Agent. Ignorato quando questo agente viene eseguito come agente del thread principale. Richiede TypeScript Agent SDK v0.3.271 o successivo |1208| `omitClaudeMd` | No | Esegue questo agente senza i file CLAUDE.md utente, di progetto e locali quando viene eseguito come subagent; i file di policy gestiti vengono comunque caricati. Usalo per gli agenti che prendono tutto ciò di cui hanno bisogno dal prompt dello strumento Agent. Ignorato quando questo agente viene eseguito come agente del thread principale. Richiede TypeScript Agent SDK v0.3.271 o successivo |

1206| `memory` | No | Fonte di memoria per questo agente: `'user'`, `'project'`, o `'local'` |1209| `memory` | No | Fonte di memoria per questo agente: `'user'`, `'project'` o `'local'` |

1207| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello denominato o un numero intero |1210| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello con nome o un numero intero |

1208| `permissionMode` | No | Modalità di permesso per l'esecuzione dello strumento all'interno di questo agente. Le [regole di eredità del subagent](/docs/it/agent-sdk/permissions#available-modes) decidono quando si applica. Vedi [`PermissionMode`](#permissionmode) |1211| `permissionMode` | No | Modalità di permesso per l'esecuzione degli strumenti all'interno di questo agente. Le [regole di ereditarietà dei subagent](/docs/it/agent-sdk/permissions#available-modes) stabiliscono quando si applica. Consulta [`PermissionMode`](#permissionmode) |

1209| `criticalSystemReminder_EXPERIMENTAL` | No | Sperimentale: Promemoria critico aggiunto al prompt di sistema |1212| `criticalSystemReminder_EXPERIMENTAL` | No | Sperimentale: promemoria critico aggiunto al prompt di sistema |

1210 1213 

1211<h3 id="agentmcpserverspec">1214<h3 id="agentmcpserverspec">

1212 `AgentMcpServerSpec`1215 `AgentMcpServerSpec`

1213</h3>1216</h3>

1214 1217 

1215Specifica i server MCP disponibili per un subagent. Può essere un nome di server (stringa che fa riferimento a un server dalla configurazione `mcpServers` del genitore) o un record di configurazione del server inline che mappa i nomi dei server alle configurazioni.1218Specifica i server MCP disponibili per un subagent. Può essere il nome di un server (stringa che fa riferimento a un server della configurazione `mcpServers` del genitore) oppure un record di configurazione inline dei server che associa i nomi dei server alle relative configurazioni.

1216 1219 

1217```typescript theme={null}1220```typescript theme={null}

1218type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;1221type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;


1224 `SettingSource`1227 `SettingSource`

1225</h3>1228</h3>

1226 1229 

1227Controlla quali fonti di configurazione basate su filesystem l'SDK carica le impostazioni da.1230Controlla da quali origini di configurazione basate sul filesystem l'SDK carica le impostazioni.

1228 1231 

1229```typescript theme={null}1232```typescript theme={null}

1230type SettingSource = "user" | "project" | "local";1233type SettingSource = "user" | "project" | "local";


1232 1235 

1233| Valore | Descrizione | Posizione |1236| Valore | Descrizione | Posizione |

1234| :- | :- | :- |1237| :- | :- | :- |

1235| `'user'` | Impostazioni globali dell'utente | `~/.claude/settings.json` |1238| `'user'` | Impostazioni utente globali | `~/.claude/settings.json` |

1236| `'project'` | Impostazioni del progetto condivise (controllate dalla versione) | `.claude/settings.json` |1239| `'project'` | Impostazioni di progetto condivise (sotto controllo di versione) | `.claude/settings.json` |

1237| `'local'` | Impostazioni del progetto locale, gitignorate quando Claude Code salva un'impostazione | `.claude/settings.local.json` |1240| `'local'` | Impostazioni di progetto locali, aggiunte a gitignore quando Claude Code vi salva un'impostazione | `.claude/settings.local.json` |

1238 1241 

1239<h4 id="default-behavior">1242<h4 id="default-behavior">

1240 Comportamento predefinito1243 Comportamento predefinito

1241</h4>1244</h4>

1242 1245 

1243Quando `settingSources` è omesso o `undefined`, `query()` carica le stesse impostazioni del filesystem della CLI Claude Code: utente, progetto e locale. Vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli input che vengono letti indipendentemente da questa opzione, e come disabilitarli.1246Quando `settingSources` è omesso o `undefined`, `query()` carica le stesse impostazioni del filesystem della CLI di Claude Code: utente, progetto e locali. Consulta [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli input che vengono letti indipendentemente da questa opzione e per sapere come disabilitarli.

1244 1247 

1245<h4 id="why-use-settingsources">1248<h4 id="why-use-settingsources">

1246 Perché usare settingSources1249 Perché usare settingSources

1247</h4>1250</h4>

1248 1251 

1249**Disabilita le impostazioni del filesystem:**1252**Disabilitare le impostazioni del filesystem:**

1250 1253 

1251```typescript theme={null}1254```typescript theme={null}

1252import { query } from "@anthropic-ai/claude-agent-sdk";1255import { query } from "@anthropic-ai/claude-agent-sdk";


1258});1261});

1259```1262```

1260 1263 

1261**Carica solo fonti di impostazioni specifiche:**1264**Caricare solo origini di impostazioni specifiche:**

1262 1265 

1263```typescript theme={null}1266```typescript theme={null}

1264import { query } from "@anthropic-ai/claude-agent-sdk";1267import { query } from "@anthropic-ai/claude-agent-sdk";


1272});1275});

1273```1276```

1274 1277 

1275Per caricare le istruzioni del progetto CLAUDE.md, includi `"project"` in `settingSources`. Vedi [Modifica i prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) per come il caricamento di CLAUDE.md interagisce con le opzioni del prompt di sistema.1278Per caricare le istruzioni di progetto di CLAUDE.md, includi `"project"` in `settingSources`. Consulta [Modificare i prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) per capire come il caricamento di CLAUDE.md interagisce con le opzioni del prompt di sistema.

1276 1279 

1277<h4 id="settings-precedence">1280<h4 id="settings-precedence">

1278 Precedenza delle impostazioni1281 Precedenza delle impostazioni

1279</h4>1282</h4>

1280 1283 

1281Quando più fonti vengono caricate, le impostazioni vengono unite con questa precedenza (da più alta a più bassa):1284Quando vengono caricate più origini, le impostazioni vengono unite con questa precedenza (dalla più alta alla più bassa):

1282 1285 

12831. Impostazioni locali (`.claude/settings.local.json`)12861. Impostazioni locali (`.claude/settings.local.json`)

12842. Impostazioni del progetto (`.claude/settings.json`)12872. Impostazioni di progetto (`.claude/settings.json`)

12853. Impostazioni dell'utente (`~/.claude/settings.json`)12883. Impostazioni utente (`~/.claude/settings.json`)

1286 1289 

1287Le opzioni programmatiche come `agents`, `allowedTools`, e `settings` sovrascrivono le impostazioni del filesystem utente, progetto e locale. Le impostazioni di policy gestite hanno precedenza sulle opzioni programmatiche.1290Le opzioni programmatiche come `agents`, `allowedTools` e `settings` hanno la precedenza sulle impostazioni del filesystem utente, di progetto e locali. Le impostazioni delle policy gestite hanno la precedenza sulle opzioni programmatiche.

1288 1291 

1289<h3 id="permissionmode">1292<h3 id="permissionmode">

1290 `PermissionMode`1293 `PermissionMode`


1304 `CanUseTool`1307 `CanUseTool`

1305</h3>1308</h3>

1306 1309 

1307Tipo di funzione di permesso personalizzato per controllare l'utilizzo dello strumento.1310Tipo di funzione di permesso personalizzata per controllare l'uso degli strumenti.

1308 1311 

1309La funzione è il sostituto SDK per il prompt di permesso interattivo: viene invocata solo quando il [flusso di valutazione del permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in un prompt. Le chiamate dello strumento già approvate da una voce `allowedTools`, una regola di autorizzazione delle impostazioni, o la modalità di permesso, come `acceptEdits` o `bypassPermissions`, non la invocano mai. Per controllare ogni chiamata dello strumento, usa un hook [`PreToolUse`](/docs/it/agent-sdk/hooks) invece.1312La funzione è il sostituto nell'SDK della richiesta di permesso interattiva: viene invocata solo quando il [flusso di valutazione dei permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in una richiesta di conferma. Le chiamate agli strumenti già approvate da una voce di `allowedTools`, da una regola allow nelle impostazioni o dalla modalità di permesso, come `acceptEdits` o `bypassPermissions`, non la invocano mai. Per controllare ogni chiamata a uno strumento, usa invece un [hook `PreToolUse`](/docs/it/agent-sdk/hooks).

1310 1313 

1311Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves); vedi [Come vengono valutati i permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) per quale di loro raggiunge il callback e cosa succede in modalità `dontAsk` e `auto`.1314Una regola allow non pre-approva le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves); consulta [Come vengono valutati i permessi](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) per sapere quali di esse raggiungono la callback e cosa succede in modalità `dontAsk` e `auto`.

1312 1315 

1313```typescript theme={null}1316```typescript theme={null}

1314type CanUseTool = (1317type CanUseTool = (


1332| Opzione | Tipo | Descrizione |1335| Opzione | Tipo | Descrizione |

1333| :- | :- | :- |1336| :- | :- | :- |

1334| `signal` | `AbortSignal` | Segnalato se l'operazione deve essere interrotta |1337| `signal` | `AbortSignal` | Segnalato se l'operazione deve essere interrotta |

1335| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Aggiornamenti di permesso suggeriti in modo che l'utente non venga richiesto di nuovo per questo strumento. I prompt Bash includono un suggerimento con la [destinazione](#permissionupdatedestination) `localSettings`, quindi restituirlo in `updatedPermissions` scrive la regola a `.claude/settings.local.json` e persiste tra le sessioni. |1338| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Aggiornamenti dei permessi suggeriti affinché all'utente non venga chiesto di nuovo per questo strumento. Le richieste di conferma di Bash includono un suggerimento con la [destinazione](#permissionupdatedestination) `localSettings`, quindi restituirlo in `updatedPermissions` scrive la regola in `.claude/settings.local.json` e la mantiene tra le sessioni. |

1336| `blockedPath` | `string` | Il percorso del file che ha attivato la richiesta di permesso, se applicabile |1339| `blockedPath` | `string` | Il percorso del file che ha attivato la richiesta di permesso, se applicabile |

1337| `mcpServer` | `{ name: string; source: string }` | Per uno strumento `mcp__*`, il server MCP che lo serve e da dove proviene la definizione di quel server, con i campi di [`McpServerProvenance`](#mcpserverprovenance). Assente per altri strumenti. Richiede Agent SDK v0.3.274 o successivo |1340| `mcpServer` | `{ name: string; source: string }` | Per uno strumento `mcp__*`, il server MCP che lo fornisce e la provenienza della definizione di quel server, con i campi di [`McpServerProvenance`](#mcpserverprovenance). Assente per gli altri strumenti. Richiede Agent SDK v0.3.274 o successiva |

1338| `decisionReason` | `string` | Spiega perché questa richiesta di permesso è stata attivata |1341| `decisionReason` | `string` | Spiega perché è stata attivata questa richiesta di permesso |

1339| `defaultToNo` | `boolean` | Quando `true`, un singolo tasto errato non deve approvare questa richiesta: apri il tuo prompt sulla sua opzione di declino, non pre-selezionare approvazione, e non offrire alcuna scorciatoia di approvazione con un tasto. Richiede Agent SDK v0.3.268 o successivo |1342| `defaultToNo` | `boolean` | Quando è `true`, un singolo tasto premuto per errore non deve approvare questa richiesta: apri la tua richiesta di conferma sull'opzione di rifiuto, non preselezionare l'approvazione e non offrire scorciatoie di approvazione a un solo tasto. Richiede Agent SDK v0.3.268 o successiva |

1340| `suppressAlwaysAllowRule` | `boolean` | Quando `true`, non offrire una scelta persistente sempre-consenti per questa richiesta, perché la regola che scriverebbe concede più dell'azione della richiesta stessa. Richiede Agent SDK v0.3.268 o successivo |1343| `suppressAlwaysAllowRule` | `boolean` | Quando è `true`, non offrire una scelta persistente "consenti sempre" per questa richiesta. Richiede Agent SDK v0.3.268 o successiva |

1341| `toolUseID` | `string` | Identificatore univoco per questa specifica chiamata dello strumento all'interno del messaggio dell'assistente |1344| `toolUseID` | `string` | Identificatore univoco per questa specifica chiamata allo strumento all'interno del messaggio dell'assistente |

1342| `agentID` | `string` | Se in esecuzione all'interno di un sub-agente, l'ID del sub-agente |1345| `agentID` | `string` | Se in esecuzione all'interno di un subagent, l'ID del subagent |

1343| `requestId` | `string` | L'`request_id` dell'envelope `control_request`. Un `control_response` che la tua applicazione invia al di fuori dell'SDK, come un POST HTTP firmato, deve echeggiare questo valore in modo che il processo Claude Code possa abbinare la risposta alla richiesta |1346| `requestId` | `string` | Il `request_id` dell'envelope `control_request`. Una `control_response` che la tua applicazione invia al di fuori dell'SDK, come una HTTP POST firmata, deve riportare questo valore affinché il processo di Claude Code possa associare la risposta alla richiesta |

1344 1347 

1345Il callback normalmente risolve la richiesta restituendo un [`PermissionResult`](#permissionresult), che l'SDK scrive di nuovo sul suo trasporto come `control_response`. Restituisci `null` solo quando la tua applicazione ha già inviato il `control_response` per questa richiesta sul suo canale, echeggiando `requestId`; l'SDK quindi salta la scrittura della risposta al suo trasporto. Restituire `null` in qualsiasi altro caso lascia la chiamata dello strumento bloccata indefinitamente, perché nessun `control_response` viene mai inviato e i prompt di permesso non scadono.1348La callback normalmente risolve la richiesta restituendo un [`PermissionResult`](#permissionresult), che l'SDK riscrive sul proprio trasporto come `control_response`. Restituisci `null` solo quando la tua applicazione ha già inviato la `control_response` per questa richiesta tramite il proprio canale, riportando `requestId`; l'SDK salta quindi la scrittura della risposta sul proprio trasporto. Restituire `null` in qualsiasi altro caso lascia la chiamata allo strumento bloccata indefinitamente, perché nessuna `control_response` viene mai inviata e le richieste di permesso non vanno in timeout.

1346 1349 

1347L'opzione `requestId` e il valore di ritorno `null` richiedono Claude Code v2.1.199 o successivo.1350L'opzione `requestId` e il valore di ritorno `null` richiedono Claude Code v2.1.199 o successiva.

1348 1351 

1349<h3 id="permissionresult">1352<h3 id="permissionresult">

1350 `PermissionResult`1353 `PermissionResult`

1351</h3>1354</h3>

1352 1355 

1353Risultato di un controllo di permesso.1356Risultato di un controllo dei permessi.

1354 1357 

1355```typescript theme={null}1358```typescript theme={null}

1356type PermissionResult =1359type PermissionResult =


1372 `ToolConfig`1375 `ToolConfig`

1373</h3>1376</h3>

1374 1377 

1375Configurazione per il comportamento dello strumento incorporato.1378Configurazione del comportamento degli strumenti integrati.

1376 1379 

1377```typescript theme={null}1380```typescript theme={null}

1378type ToolConfig = {1381type ToolConfig = {


1384 1387 

1385| Campo | Tipo | Descrizione |1388| Campo | Tipo | Descrizione |

1386| :- | :- | :- |1389| :- | :- | :- |

1387| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opta nel campo `preview` su opzioni [`AskUserQuestion`](/docs/it/agent-sdk/user-input#question-format) e imposta il suo formato di contenuto. Quando non impostato, Claude non emette anteprime |1390| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Abilita il campo `preview` nelle opzioni di [`AskUserQuestion`](/docs/it/agent-sdk/user-input#question-format) e ne imposta il formato del contenuto. Quando non è impostato, Claude non emette anteprime |

1388 1391 

1389<h3 id="mcpserverconfig">1392<h3 id="mcpserverconfig">

1390 `McpServerConfig`1393 `McpServerConfig`


1478 1481 

1479| Campo | Tipo | Descrizione |1482| Campo | Tipo | Descrizione |

1480| :- | :- | :- |1483| :- | :- | :- |

1481| `type` | `'local'` | Deve essere `'local'` (attualmente sono supportati solo plugin locali) |1484| `type` | `'local'` | Deve essere `'local'` (attualmente sono supportati solo i plugin locali) |

1482| `path` | `string` | Percorso assoluto o relativo alla directory del plugin |1485| `path` | `string` | Percorso assoluto o relativo della directory del plugin |

1483| `skipMcpDiscovery` | `boolean` | Quando `true`, l'SDK carica skill, hook, agenti e comandi da questo plugin ma non legge il suo `.mcp.json` o il manifest `mcpServers`. Imposta questo quando la tua applicazione possiede le connessioni MCP del plugin. |1486| `skipMcpDiscovery` | `boolean` | Quando è `true`, l'SDK carica skill, hook, agenti e comandi da questo plugin ma non legge il suo `.mcp.json` né i `mcpServers` del manifest. Impostalo quando è la tua applicazione a gestire le connessioni MCP del plugin. |

1484 1487 

1485**Esempio:**1488**Esempio:**

1486 1489 


1491];1494];

1492```1495```

1493 1496 

1494Per informazioni complete sulla creazione e l'utilizzo dei plugin, vedi [Plugins](/docs/it/agent-sdk/plugins).1497Per informazioni complete sulla creazione e sull'uso dei plugin, consulta [Plugin](/docs/it/agent-sdk/plugins).

1495 1498 

1496<h2 id="message-types">1499<h2 id="message-types">

1497 Tipi di messaggio1500 Tipi di messaggio


3790};3793};

3791```3794```

3792 3795 

3793Segnala i risultati della revisione del codice come un elenco strutturato in modo che Claude Code possa renderli invece di stamparli come testo. `level` è il livello di sforzo con cui è stata eseguita la revisione. I risultati sono ordinati dal più grave al meno grave, con al massimo 32 per chiamata, e l'array è vuoto quando nessuno è sopravvissuto. Richiede Claude Code v2.1.196 o successivo.3796Segnala i risultati della code review come un elenco strutturato in modo che Claude Code possa renderli invece di stamparli come testo. I risultati sono ordinati dal più grave al meno grave, con al massimo 32 per chiamata, e l'array è vuoto quando nessuno è sopravvissuto. Richiede Claude Code v2.1.196 o successivo.

3797 

3798`level` è facoltativo e contiene il livello di sforzo che Claude riporta per la revisione. Claude Code non lo confronta con il livello con cui è stata eseguita la revisione, quindi i due possono differire.

3794 3799 

3795Ogni risultato contiene questi campi:3800Ogni risultato contiene questi campi:

3796 3801 


4840};4845};

4841```4846```

4842 4847 

4843Restituisce il numero di risultati segnalati, il livello di sforzo con cui la revisione è stata eseguita, e i risultati ripetuti per il corpo del risultato. Richiede Claude Code v2.1.196 o successivo. Il campo `short_summary` ripetuto richiede Claude Code v2.1.212 o successivo.4848Restituisce il numero di risultati segnalati, il valore `level` passato da Claude, e i risultati ripetuti per il corpo del risultato. Richiede Claude Code v2.1.196 o successivo. Il campo `short_summary` ripetuto richiede Claude Code v2.1.212 o successivo.

4844 4849 

4845<h3 id="artifact-2">4850<h3 id="artifact-2">

4846 Artifact4851 Artifact


5103 `ApiKeySource`5108 `ApiKeySource`

5104</h3>5109</h3>

5105 5110 

5106Da dove proviene la chiave API per le richieste della sessione, segnalata come `apiKeySource` nel messaggio di inizializzazione [`SDKSystemMessage`](#sdksystemmessage).5111La provenienza della chiave API usata per le richieste della sessione, riportata come `apiKeySource` nel messaggio init [`SDKSystemMessage`](#sdksystemmessage).

5107 5112 

5108```typescript theme={null}5113```typescript theme={null}

5109type ApiKeySource =5114type ApiKeySource =


5118 | "oauth";5123 | "oauth";

5119```5124```

5120 5125 

5121Claude Code segnala uno di quattro valori:5126Claude Code riporta uno di quattro valori:

5122 5127 

5123| Valore | Chiave in uso |5128| Valore | Chiave in uso |

5124| - | - |5129| - | - |

5125| `ANTHROPIC_API_KEY` | La chiave nella variabile d'ambiente `ANTHROPIC_API_KEY` |5130| `ANTHROPIC_API_KEY` | La chiave nella variabile d'ambiente `ANTHROPIC_API_KEY` |

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

5127| `/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) |5132| `/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) |

5128| `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 |5133| `none` | Nessuna chiave API. La sessione si autentica in un altro modo, ad esempio con un accesso a claude.ai, un bearer token o un provider cloud |

5129 5134 

5130Agent SDK v0.3.234 e versioni successive elencano questi quattro valori nel tipo. Il tipo mantiene anche `user`, `project`, `org`, `temporary` e `oauth` affinché il codice più vecchio continui a compilarsi, e Claude Code non li segnala.5135Agent SDK v0.3.234 e versioni successive elencano questi quattro valori nel tipo. Il tipo mantiene anche `user`, `project`, `org`, `temporary` e `oauth` affinché il codice meno recente continui a compilare, ma Claude Code non li riporta.

5131 5136 

5132<h3 id="sdkbeta">5137<h3 id="sdkbeta">

5133 `SdkBeta`5138 `SdkBeta`

5134</h3>5139</h3>

5135 5140 

5136Funzioni beta disponibili che possono essere abilitate tramite l'opzione `betas`. Vedi [Intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers) per ulteriori informazioni.5141Funzionalità beta disponibili che possono essere abilitate tramite l'opzione `betas`. Per maggiori informazioni, consulta [Beta headers](https://platform.claude.com/docs/en/api/beta-headers).

5137 5142 

5138```typescript theme={null}5143```typescript theme={null}

5139type SdkBeta = "context-1m-2025-08-07";5144type SdkBeta = "context-1m-2025-08-07";

5140```5145```

5141 5146 

5142<Warning>5147<Warning>

5143 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]`.5148 Sulla Claude API, la beta `context-1m-2025-08-07` è stata ritirata per Claude Sonnet 4.5 e Claude Sonnet 4. Se la passi ancora con uno di questi 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 da 1M token, imposta `model` su un modello che [funziona con 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]`.

5144</Warning>5149</Warning>

5145 5150 

5146<h3 id="slashcommand">5151<h3 id="slashcommand">


5159};5164};

5160```5165```

5161 5166 

5162`builtin` è `true` su una riga quando il comando è proprio di Claude Code e digitare `/name` lo esegue. È assente per un comando definito da un utente, progetto, plugin, o server MCP, e per un comando in bundle che uno di quelli [sostituisce per nome](/docs/it/skills#resolve-skills-that-share-a-name). Richiede Agent SDK v0.3.277 o successivo.5167`builtin` è `true` su una riga quando il comando è proprio di Claude Code e digitare `/name` lo esegue. È assente per un comando definito da un utente, un progetto, un plugin o un server MCP, e per un comando incluso che uno di questi [sostituisce per nome](/docs/it/skills#resolve-skills-that-share-a-name). Richiede Agent SDK v0.3.277 o versioni successive.

5163 5168 

5164<h3 id="modelinfo">5169<h3 id="modelinfo">

5165 `ModelInfo`5170 `ModelInfo`


5184| Campo | Tipo | Descrizione |5189| Campo | Tipo | Descrizione |

5185| :- | :- | :- |5190| :- | :- | :- |

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

5187| `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. |5192| `resolvedModel` | `string \| undefined` | L'ID del modello a cui si risolve il `value` di questa voce, ad esempio `claude-sonnet-5-5` per la voce dell'alias `sonnet`. Richiede Claude Code v2.1.197 o versioni successive. |

5188| `displayName` | `string` | Nome di visualizzazione leggibile dall'uomo |5193| `displayName` | `string` | Nome visualizzato leggibile |

5189| `description` | `string` | Descrizione delle capacità del modello |5194| `description` | `string` | Descrizione delle capacità del modello |

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

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

5192| `supportsAdaptiveThinking` | `boolean \| undefined` | Se questo modello supporta il ragionamento adattivo, dove Claude decide quando e quanto ragionare |5197| `supportsAdaptiveThinking` | `boolean \| undefined` | Se questo modello supporta il ragionamento adattivo, in cui Claude decide quando e quanto ragionare |

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

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

5195 5200 


5211| :- | :- | :- |5216| :- | :- | :- |

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

5213| `description` | `string` | Descrizione di quando usare questo agente |5218| `description` | `string` | Descrizione di quando usare questo agente |

5214| `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) |5219| `model` | `string \| undefined` | Modello usato da questo agente: un alias o un ID di modello, oppure `'inherit'` per il modello del genitore. Quando è `undefined`, Claude Code sceglie il modello secondo l'[ordine dei modelli dei subagent](/docs/it/sub-agents#choose-a-model) |

5215 5220 

5216<h3 id="mcpserverprovenance">5221<h3 id="mcpserverprovenance">

5217 `McpServerProvenance`5222 `McpServerProvenance`

5218</h3>5223</h3>

5219 5224 

5220Il 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.5225Il server MCP che fornisce uno strumento `mcp__*` e la provenienza della definizione di quel server. Gli input degli hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` e `PermissionDenied` lo riportano come `mcp_server`, e le opzioni di [`CanUseTool`](#canusetool) lo riportano come `mcpServer`. Entrambi lo omettono per gli strumenti che non provengono da un server MCP.

5221 5226 

5222```typescript theme={null}5227```typescript theme={null}

5223type McpServerProvenance = {5228type McpServerProvenance = {


5228 5233 

5229| Campo | Tipo | Descrizione |5234| Campo | Tipo | Descrizione |

5230| :- | :- | :- |5235| :- | :- | :- |

5231| `name` | `string` | Il nome con cui il server è registrato, lo stesso valore che [`mcpServerStatus()`](#query-object) segnala per esso |5236| `name` | `string` | Il nome con cui il server è registrato, lo stesso valore che [`mcpServerStatus()`](#query-object) riporta per esso |

5232| `source` | `string` | Da dove proviene la definizione del server: `sdk`, `plugin`, o un ambito di configurazione |5237| `source` | `string` | La provenienza della definizione del server: `sdk`, `plugin` o un ambito di configurazione |

5233 5238 

5234`source` assume uno dei seguenti valori. L'insieme è aperto, quindi tratta un valore che non riconosci come una fonte configurata, mai come `sdk`:5239`source` assume uno dei seguenti valori. L'insieme è aperto, quindi tratta un valore che non riconosci come una sorgente configurata, mai come `sdk`:

5235 5240 

5236* **`sdk`**: un server in-process che la tua applicazione ha registrato. Solo l'applicazione host dell'SDK può registrarne uno, quindi un server configurato non segnala mai `sdk`, qualunque sia il suo nome.5241* **`sdk`**: un server in-process registrato dalla tua applicazione. Solo l'applicazione host dell'SDK può registrarne uno, quindi un server configurato non riporta mai `sdk`, qualunque sia il suo nome.

5237* **`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).5242* **`plugin`**: un server fornito da un [plugin](/docs/it/agent-sdk/plugins). Il suo `name` è nella forma con ambito `plugin:<plugin-name>:<server-name>` descritta in [server MCP forniti dai plugin](/docs/it/mcp#plugin-provided-mcp-servers).

5238* **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`.5243* **Un ambito di configurazione**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` o `agent`. Un server di `.mcp.json` riporta `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), ad eccezione dei server SDK in-process, riportano `dynamic`.

5239 5244 

5240Basa 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.5245Basa le decisioni di fiducia su `source`, non su `name` né sul prefisso `mcp__<server>__` del nome dello strumento. Per qualsiasi sorgente diversa da `sdk`, `name` è testo non attendibile: eseguine l'escape prima di visualizzarlo.

5241 5246 

5242`McpServerProvenance` e i campi che lo portano richiedono Agent SDK v0.3.274 o successivo.5247`McpServerProvenance` e i campi che lo riportano richiedono Agent SDK v0.3.274 o versioni successive.

5243 5248 

5244<h3 id="mcpserverstatus">5249<h3 id="mcpserverstatus">

5245 `McpServerStatus`5250 `McpServerStatus`


5272};5277};

5273```5278```

5274 5279 

5275`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.5280`source` indica la provenienza della definizione del server, con gli stessi valori e la stessa regola di fiducia del `source` di [`McpServerProvenance`](#mcpserverprovenance). Il campo richiede Agent SDK v0.3.274 o versioni successive ed è assente nelle versioni precedenti.

5276 5281 

5277`_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.5282`_meta` in una voce di `tools` riporta i membri MCP Apps del `_meta` di quello strumento, in modo che la tua applicazione possa trovare la risorsa `ui://` da visualizzare con [`readMcpResource()`](#query-object). Claude Code inoltra l'oggetto `ui` e la stringa piatta 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 viene inoltrato invariato. Claude Code scarta ciascuna delle due chiavi il cui valore sia malformato, e omette `_meta` da uno strumento che non dichiara nessuna delle due. Il campo è presente solo quando le [`capabilities`](#sdksystemmessage) del messaggio init includono `mcp_tool_ui_meta_v1`, e richiede TypeScript Agent SDK v0.3.280 o versioni successive.

5278 5283 

5279<h3 id="mcpserverstatusconfig">5284<h3 id="mcpserverstatusconfig">

5280 `McpServerStatusConfig`5285 `McpServerStatusConfig`

5281</h3>5286</h3>

5282 5287 

5283La configurazione di un server MCP come segnalato da `mcpServerStatus()`. Questa è l'unione di tutti i tipi di trasporto del server MCP.5288La configurazione di un server MCP come riportata da `mcpServerStatus()`. È l'unione di tutti i tipi di trasporto dei server MCP.

5284 5289 

5285```typescript theme={null}5290```typescript theme={null}

5286type McpServerStatusConfig =5291type McpServerStatusConfig =


5291 | McpClaudeAIProxyServerConfig;5296 | McpClaudeAIProxyServerConfig;

5292```5297```

5293 5298 

5294Vedi [`McpServerConfig`](#mcpserverconfig) per i dettagli su ogni tipo di trasporto.5299Consulta [`McpServerConfig`](#mcpserverconfig) per i dettagli su ciascun tipo di trasporto.

5295 5300 

5296<h3 id="accountinfo">5301<h3 id="accountinfo">

5297 `AccountInfo`5302 `AccountInfo`

5298</h3>5303</h3>

5299 5304 

5300Informazioni sull'account per l'utente autenticato.5305Informazioni sull'account dell'utente autenticato.

5301 5306 

5302```typescript theme={null}5307```typescript theme={null}

5303type AccountInfo = {5308type AccountInfo = {


5313 `ModelUsage`5318 `ModelUsage`

5314</h3>5319</h3>

5315 5320 

5316Statistiche di utilizzo per modello restituite nei messaggi di risultato. Il valore `costUSD` è una stima lato client. Vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze di fatturazione.5321Statistiche di utilizzo per modello restituite nei messaggi di risultato. Il valore `costUSD` è una stima lato client. Consulta [Monitorare costi e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze sulla fatturazione.

5317 5322 

5318```typescript theme={null}5323```typescript theme={null}

5319type ModelUsage = {5324type ModelUsage = {


5332};5337};

5333```5338```

5334 5339 

5335`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.5340`thinkingTokens` conta i token di ragionamento generati da questo modello. `outputTokens` li include già, quindi non sommare i due valori. Il campo è assente finché un turno non viene eseguito su una versione di Claude Code che lo registra, quindi una sessione ripresa iniziata su una versione precedente riporta un conteggio parziale. `thinkingTokens` richiede Agent SDK v0.3.257 o versioni successive.

5336 5341 

5337I 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.5342I campi `canonicalModel` e `provider` richiedono Claude Code v2.1.218 o versioni successive. `canonicalModel` è l'ID canonico del modello usato per la ricerca dei prezzi; può differire dalla stringa grezza del modello che funge da chiave per la voce, ad esempio quando tale stringa è un ID specifico del provider o un alias.

5338 5343 

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

5340 5345 

5341`costBasis` nomina la tabella dei prezzi che ha prezzato la richiesta più recente del modello: `list` per il prezzo di listino, `managed` per una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing), o `unknown` quando nessuno dei due ha corrisposto all'ID del modello. Il campo richiede Claude Code v2.1.246 o successivo.5346`costBasis` indica la tabella dei prezzi usata per la richiesta più recente del modello: `list` per il prezzo di listino, `managed` per una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing), oppure `unknown` quando nessuna delle due corrisponde all'ID del modello. Il campo richiede Claude Code v2.1.246 o versioni successive.

5342 5347 

5343<h3 id="configscope">5348<h3 id="configscope">

5344 `ConfigScope`5349 `ConfigScope`


5352 `NonNullableUsage`5357 `NonNullableUsage`

5353</h3>5358</h3>

5354 5359 

5355Una versione di [`Usage`](#usage) con tutti i campi nullable resi non-nullable tranne `fallback_credit`, che può ancora essere `null`.5360Una versione di [`Usage`](#usage) in cui ogni campo nullable è reso non-nullable tranne `fallback_credit`, che può ancora essere `null`.

5356 5361 

5357```typescript theme={null}5362```typescript theme={null}

5358type NonNullableUsage = {5363type NonNullableUsage = {


5366 `Usage`5371 `Usage`

5367</h3>5372</h3>

5368 5373 

5369Statistiche di utilizzo dei token. Questo è il tipo `BetaUsage` da `@anthropic-ai/sdk`.5374Statistiche di utilizzo dei token. È il tipo `BetaUsage` di `@anthropic-ai/sdk`.

5370 5375 

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

5372type Usage = {5377type Usage = {


5390 5395 

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

5392 5397 

5393`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.5398`output_tokens_details` suddivide l'output fatturato per categoria. Attualmente contiene un solo campo, `thinking_tokens: number`, che conta i token di output generati dal modello come ragionamento interno, inclusi i delimitatori dei blocchi di ragionamento. Il campo `output_tokens_details` richiede TypeScript SDK v0.3.228 o versioni successive, che include Claude Code v2.1.228.

5394 5399 

5395* **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.5400* **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.

5396* **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.5401* **Cosa copre il conteggio**: il ragionamento grezzo prodotto dal modello, che può essere più lungo del testo di ragionamento restituito nel corpo della risposta. L'API lo calcola ri-tokenizzando quel testo grezzo, quindi può differire di alcuni token dal conteggio esatto della generazione del modello.

5397* **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.5402* **Streaming**: nei messaggi dell'assistente trasmessi in streaming questa suddivisione, come `output_tokens`, è un segnaposto di `message_start` e non contiene un conteggio reale, quindi leggila dallo `usage` del messaggio di risultato come descritto in [Leggere 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 riporta alcuna suddivisione.

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

5399 5404 

5400Se `Usage` contiene `fallback_credit` dipende dal `@anthropic-ai/sdk` che hai installato, che lo ha aggiunto nella versione 0.115.0.5405La presenza di `fallback_credit` in `Usage` dipende dalla versione installata di `@anthropic-ai/sdk`, che lo ha aggiunto nella 0.115.0.

5401 5406 

5402<h3 id="calltoolresult">5407<h3 id="calltoolresult">

5403 `CallToolResult`5408 `CallToolResult`

5404</h3>5409</h3>

5405 5410 

5406Tipo 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).5411Tipo di risultato degli strumenti MCP (da `@modelcontextprotocol/sdk/types.js`). `structuredContent` è un oggetto JSON che può essere restituito insieme a `content`, inclusi i blocchi immagine. Consulta [Restituire dati strutturati](/docs/it/agent-sdk/custom-tools#return-structured-data).

5407 5412 

5408```typescript theme={null}5413```typescript theme={null}

5409type CallToolResult = {5414type CallToolResult = {

5410 content: Array<{5415 content: Array<{

5411 type: "text" | "image" | "audio" | "resource" | "resource_link";5416 type: "text" | "image" | "audio" | "resource" | "resource_link";

5412 // I campi aggiuntivi variano in base al tipo5417 // Additional fields vary by type

5413 }>;5418 }>;

5414 structuredContent?: Record<string, unknown>;5419 structuredContent?: Record<string, unknown>;

5415 isError?: boolean;5420 isError?: boolean;


5420 `SDKMcpResourceLink`5425 `SDKMcpResourceLink`

5421</h3>5426</h3>

5422 5427 

5423Un 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.5428Un file restituito per riferimento da uno strumento MCP. Claude Code costruisce ogni voce da un blocco `resource_link` nel risultato dello strumento e consegna l'elenco come `resourceLinks` in [`SDKUserMessage.tool_use_result`](#sdkusermessage), oppure come `resource_links` in [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) quando la chiamata è terminata in background. Richiede Agent SDK v0.3.257 o versioni successive.

5424 5429 

5425```typescript theme={null}5430```typescript theme={null}

5426type SDKMcpResourceLink = {5431type SDKMcpResourceLink = {


5434};5439};

5435```5440```

5436 5441 

5437Claude Code scarta un blocco il cui `uri` o `name` non è una stringa, e omette un campo opzionale il cui valore non è del tipo elencato.5442Claude Code scarta un blocco il cui `uri` o `name` non è una stringa, e omette un campo facoltativo il cui valore non è del tipo indicato.

5438 5443 

5439| Campo | Tipo | Descrizione |5444| Campo | Tipo | Descrizione |

5440| :- | :- | :- |5445| :- | :- | :- |

5441| `uri` | `string` | URI della risorsa, come il server l'ha restituito |5446| `uri` | `string` | URI della risorsa, così come restituito dal server |

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

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

5444| `description` | `string \| undefined` | Descrizione, quando il server ne ha impostata una |5449| `description` | `string \| undefined` | Descrizione, quando il server ne ha impostata una |

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

5446| `size` | `number \| undefined` | Dimensione in byte, quando il server ne ha impostata una |5451| `size` | `number \| undefined` | Dimensione in byte, quando il server l'ha impostata |

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

5448 5453 

5449<h3 id="thinkingconfig">5454<h3 id="thinkingconfig">

5450 `ThinkingConfig`5455 `ThinkingConfig`


5456type ThinkingDisplay = "summarized" | "omitted";5461type ThinkingDisplay = "summarized" | "omitted";

5457 5462 

5458type ThinkingConfig =5463type ThinkingConfig =

5459 | { type: "adaptive"; display?: ThinkingDisplay } // Il modello determina quando e quanto ragionare (Opus 4.6+)5464 | { type: "adaptive"; display?: ThinkingDisplay } // The model determines when and how much to reason (Opus 4.6+)

5460 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Budget di token di ragionamento fisso5465 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Fixed thinking token budget

5461 | { type: "disabled" }; // Nessun ragionamento esteso5466 | { type: "disabled" }; // No extended thinking

5462```5467```

5463 5468 

5464Il 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"`.5469Il campo facoltativo `display` controlla se il testo di ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, il valore predefinito dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto del ragionamento nei blocchi `thinking`. Claude Code non passa il tuo valore di `display` ad alcuni provider, come Amazon Bedrock e Agent Platform di Google Cloud. Su questi provider, Opus 4.7 e versioni successive restituiscono blocchi `thinking` vuoti anche quando imposti `display` su `"summarized"`.

5465 5470 

5466<h3 id="spawnedprocess">5471<h3 id="spawnedprocess">

5467 `SpawnedProcess`5472 `SpawnedProcess`

5468</h3>5473</h3>

5469 5474 

5470Interfaccia per la generazione di processi personalizzati (usata con l'opzione `spawnClaudeCodeProcess`). `ChildProcess` soddisfa già questa interfaccia.5475Interfaccia per la creazione personalizzata di processi (usata con l'opzione `spawnClaudeCodeProcess`). `ChildProcess` soddisfa già questa interfaccia.

5471 5476 

5472```typescript theme={null}5477```typescript theme={null}

5473interface SpawnedProcess {5478interface SpawnedProcess {


5498 `SpawnOptions`5503 `SpawnOptions`

5499</h3>5504</h3>

5500 5505 

5501Opzioni passate alla funzione di generazione personalizzata.5506Opzioni passate alla funzione di spawn personalizzata.

5502 5507 

5503```typescript theme={null}5508```typescript theme={null}

5504interface SpawnOptions {5509interface SpawnOptions {


5511```5516```

5512 5517 

5513<Note>5518<Note>

5514 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.5519 Il campo `signal` indica alla tua funzione di spawn quando terminare il processo. Passalo come opzione `signal` a `spawn()` di Node, oppure passalo al gestore di terminazione della tua VM o del tuo container.

5515 5520 

5516 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.5521 Questo segnale non si attiva nell'istante in cui [`Options.abortController`](#options) esegue l'abort. L'SDK chiude prima lo stdin del processo e attende circa due secondi affinché la CLI possa arrestarsi correttamente, poi esegue l'abort di questo segnale. Per reagire invece nel momento in cui il chiamante esegue l'abort, rimani in ascolto sul tuo `Options.abortController.signal`, a cui la tua funzione di spawn può fare riferimento dallo scope che la racchiude.

5517</Note>5522</Note>

5518 5523 

5519<h3 id="mcpsetserversresult">5524<h3 id="mcpsetserversresult">


5532 5537 

5533Quando chiami `setMcpServers()`, Claude Code applica queste regole:5538Quando chiami `setMcpServers()`, Claude Code applica queste regole:

5534 5539 

5535* **Server che la chiamata non nomina**: Claude Code mantiene i server forniti dai plugin in esecuzione. Richiede Agent SDK v0.3.210 o successivo.5540* **Server non indicati dalla chiamata**: al di fuori di una [sessione cloud](/docs/it/claude-code-on-the-web), Claude Code disconnette i server aggiunti da una precedente chiamata `setMcpServers()` e i server SDK in-process, e li elenca in `removed`. Gli altri server continuano a funzionare e non sono elencati in `removed`, tra cui i server stdio, HTTP e SSE dell'opzione [`mcpServers`](#options), i server dei file di impostazioni e i server forniti dai plugin.

5536* **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.5541* **Server indicati dalla chiamata**: Claude Code sostituisce un server stdio, HTTP o SSE aggiunto da una precedente chiamata `setMcpServers()` solo quando la sua configurazione differisce da quella che hai passato. Un server SDK in-process già registrato con quel nome rimane invariato, quindi per sostituirne uno, omettilo in una chiamata e aggiungilo in quella successiva.

5537* **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`.5542* **Server integrati avviati dalla CLI all'avvio**: se la chiamata ne indica uno, Claude Code scarta quella voce e la riporta in `errors`.

5538 5543 

5539La 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.5544La promise si risolve dopo che i server stdio, HTTP e SSE appena aggiunti si sono connessi o non sono riusciti a farlo, quindi gli strumenti dei server che si sono connessi sono disponibili al turno successivo.

5540 5545 

5541`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`.5546`added` elenca i server che Claude Code ha aggiunto o sostituito, indipendentemente dal fatto che si siano connessi. Un server che non è riuscito a connettersi compare sia in `added` sia in `errors`, con il testo dell'errore in `errors` e una riga `failed` in [`mcpServerStatus()`](#methods). Prima di Claude Code v2.1.257, un server il cui tentativo di connessione generava un'eccezione veniva riportato solo in `errors`.

5542 5547 

5543<h3 id="rewindfilesresult">5548<h3 id="rewindfilesresult">

5544 `RewindFilesResult`5549 `RewindFilesResult`


5557};5562};

5558```5563```

5559 5564 

5560`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.5565`skippedLinks` conta i percorsi tracciati che il rewind si è rifiutato di ripristinare o eliminare per la sicurezza dei collegamenti: un collegamento simbolico, un hard link o un altro file non regolare nel percorso tracciato, una directory padre che non si risolve più nella posizione a cui puntava quando è stato creato il checkpoint, oppure un backup che non è stato possibile leggere in modo sicuro. Il campo richiede Claude Code v2.1.216 o versioni successive. Una chiamata di anteprima con `rewindFiles(userMessageId, { dryRun: true })` non lo imposta mai.

5561 5566 

5562<h3 id="sdkstatusmessage">5567<h3 id="sdkstatusmessage">

5563 `SDKStatusMessage`5568 `SDKStatusMessage`

5564</h3>5569</h3>

5565 5570 

5566Messaggio di aggiornamento dello stato (ad esempio, compattazione).5571Messaggio di aggiornamento di stato (ad esempio, compattazione in corso).

5567 5572 

5568```typescript theme={null}5573```typescript theme={null}

5569type SDKStatusMessage = {5574type SDKStatusMessage = {


5580 `SDKTaskNotificationMessage`5585 `SDKTaskNotificationMessage`

5581</h3>5586</h3>

5582 5587 

5583Notifica 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.5588Notifica inviata quando un'attività in background viene completata, fallisce o viene arrestata. Le attività in background includono i comandi Bash `run_in_background`, le osservazioni [Monitor](#monitor) e i subagent in background. Per il campo `ambient`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), che lo definisce insieme al relativo requisito di versione.

5584 5589 

5585```typescript theme={null}5590```typescript theme={null}

5586type SDKTaskNotificationMessage = {5591type SDKTaskNotificationMessage = {


5603};5608};

5604```5609```

5605 5610 

5606Quando 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.5611Quando Claude Code [sposta in background una lunga chiamata a uno strumento MCP](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), il blocco `tool_result` di quella chiamata contiene solo un segnaposto e il risultato reale della chiamata arriva in questa notifica. Associa la notifica alla chiamata tramite `tool_use_id`. In una notifica `completed`, `resource_links` elenca i file restituiti per riferimento dallo strumento 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 conteneva link e nelle notifiche per attività che non sono chiamate a strumenti MCP. `resource_links` richiede Agent SDK v0.3.257 o versioni successive.

5607 5612 

5608Claude 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.5613Claude Code antepone un avviso a ogni notifica di attività che invia al modello, tranne le consegne contrassegnate con il [subkind `scheduled-trigger`](#task-notification-subkinds), che riportano invece un'impostazione da attività assegnata. L'avviso indica che non c'è stato alcun input umano, in modo che il modello non tratti la notifica come un'istruzione o un'approvazione dell'utente.

5609 5614 

5610Per rilevare un turno di notifica di attività, controlla `origin.kind === "task-notification"` su [`SDKUserMessage`](#sdkusermessage) o [`SDKResultMessage`](#sdkresultmessage) piuttosto che abbinare il testo dell'avviso. Leggi `subkind` dallo stesso campo se hai bisogno di sapere cosa l'ha sollevato. Prima di v2.1.205, Claude Code ometteva l'avviso dalle notifiche che arrivavano mentre la sessione era inattiva.5615Per rilevare un turno di notifica di attività, verifica `origin.kind === "task-notification"` su [`SDKUserMessage`](#sdkusermessage) o [`SDKResultMessage`](#sdkresultmessage) invece di confrontare il testo dell'avviso. Leggi `subkind` dallo stesso campo se devi sapere cosa l'ha generata. Prima della v2.1.205, Claude Code ometteva l'avviso dalle notifiche arrivate mentre la sessione era inattiva.

5611 5616 

5612<h3 id="sdktoolusesummarymessage">5617<h3 id="sdktoolusesummarymessage">

5613 `SDKToolUseSummaryMessage`5618 `SDKToolUseSummaryMessage`

5614</h3>5619</h3>

5615 5620 

5616Riepilogo dell'uso degli strumenti in una conversazione.5621Riepilogo dell'utilizzo degli strumenti in una conversazione.

5617 5622 

5618```typescript theme={null}5623```typescript theme={null}

5619type SDKToolUseSummaryMessage = {5624type SDKToolUseSummaryMessage = {


5631 5636 

5632Emesso quando un hook inizia l'esecuzione.5637Emesso quando un hook inizia l'esecuzione.

5633 5638 

5634Claude 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.5639Claude Code consegna questo messaggio, [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage) al flusso dei messaggi immediatamente, anche mentre un hook `SessionStart` o `Setup` è ancora in esecuzione durante l'avvio della sessione. Claude Code dalla v2.1.169 alla v2.1.203 consegnava questi messaggi in un unico blocco dopo il completamento di un hook `SessionStart` o `Setup`; la v2.1.204 ha ripristinato la consegna in tempo reale.

5635 5640 

5636```typescript theme={null}5641```typescript theme={null}

5637type SDKHookStartedMessage = {5642type SDKHookStartedMessage = {


5649 `SDKHookProgressMessage`5654 `SDKHookProgressMessage`

5650</h3>5655</h3>

5651 5656 

5652Emesso mentre un hook è in esecuzione, con output stdout/stderr.5657Emesso mentre un hook è in esecuzione, con l'output stdout/stderr.

5653 5658 

5654```typescript theme={null}5659```typescript theme={null}

5655type SDKHookProgressMessage = {5660type SDKHookProgressMessage = {


5670 `SDKHookResponseMessage`5675 `SDKHookResponseMessage`

5671</h3>5676</h3>

5672 5677 

5673Emesso quando un hook finisce l'esecuzione.5678Emesso quando un hook termina l'esecuzione.

5674 5679 

5675```typescript theme={null}5680```typescript theme={null}

5676type SDKHookResponseMessage = {5681type SDKHookResponseMessage = {


5693 `SDKToolProgressMessage`5698 `SDKToolProgressMessage`

5694</h3>5699</h3>

5695 5700 

5696Emesso periodicamente mentre uno strumento è in esecuzione per indicare il progresso.5701Emesso periodicamente durante l'esecuzione di uno strumento per indicarne l'avanzamento.

5697 5702 

5698```typescript theme={null}5703```typescript theme={null}

5699type SDKToolProgressMessage = {5704type SDKToolProgressMessage = {


5718};5723};

5719```5724```

5720 5725 

5721Mentre 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.5726Mentre una chiamata a uno strumento è in esecuzione nella conversazione principale, Claude Code emette un messaggio `tool_progress` ogni 30 secondi con `heartbeat: true`. Ogni heartbeat riporta il nome dello strumento e i secondi trascorsi, così 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 versioni successive. Prima della v2.1.257, Claude Code non emetteva heartbeat nemmeno per una chiamata allo strumento Agent in primo piano.

5722 5727 

5723Sui 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.5728Nei messaggi `tool_progress` per lo strumento Agent diversi dagli heartbeat, `subagent_type` indica il tipo di subagent in esecuzione, come `general-purpose`. `subagent_retry` è presente mentre quel subagent attende il backoff dopo un 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 versioni successive.

5724 5729 

5725Per rendere un indicatore di nuovo tentativo da `subagent_retry`:5730Per visualizzare un indicatore di nuovo tentativo a partire da `subagent_retry`:

5726 5731 

5727* 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.5732* Traccia l'indicatore tramite `parent_tool_use_id`, che è univoco per ogni subagent. `tool_use_id` è condiviso dai subagent paralleli avviati da uno stesso turno dell'assistente, quindi tracciarlo in base a esso permetterebbe all'aggiornamento di un subagent di cancellare l'indicatore di un altro.

5728* 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.5733* Cancella l'indicatore quando arriva un successivo `tool_progress` per lo stesso `parent_tool_use_id` senza né `subagent_retry` né `heartbeat: true`, oppure quando arriva il messaggio di risultato dello strumento. I frame con `heartbeat: true` segnalano solo che la sessione è attiva, quindi mantieni l'indicatore quando ne arriva uno. `attempt` può superare `max_retries` in caso di nuovi tentativi persistenti, quindi non basare la cancellazione sui contatori.

5729* 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.5734* Tratta `error_category` come un token per scegliere il testo del tuo messaggio, non come testo da visualizzare. 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 future possono aggiungere valori.

5730 5735 

5731<h3 id="sdkauthstatusmessage">5736<h3 id="sdkauthstatusmessage">

5732 `SDKAuthStatusMessage`5737 `SDKAuthStatusMessage`


5749 `SDKTaskStartedMessage`5754 `SDKTaskStartedMessage`

5750</h3>5755</h3>

5751 5756 

5752Emesso 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"`.5757Emesso quando un'attività inizia. Il campo `task_type` è `"local_bash"` per i comandi Bash e le osservazioni [Monitor](#monitor), `"local_agent"` per i subagent, oppure `"remote_agent"`.

5753 5758 

5754```typescript theme={null}5759```typescript theme={null}

5755type SDKTaskStartedMessage = {5760type SDKTaskStartedMessage = {


5767};5772};

5768```5773```

5769 5774 

5770`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.5775`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 gli osservatori di aggiornamenti in tempo reale sono ambient, compresi quelli richiesti dall'utente. Escludi le attività ambient dagli indicatori di attività. Il campo richiede Agent SDK v0.3.247 o versioni successive.

5771 5776 

5772`ambient` appare anche su [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e sulle voci di [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5777`ambient` compare anche in [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e nelle voci di [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).

5773 5778 

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

5775 5780 

5776* `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.5781* `is_backgrounded`: Claude Code lo imposta sulle 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 resta bloccata finché l'attività non termina o non passa in background.

5777* `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.5782* `spawn_depth`: Claude Code lo imposta solo sulle attività `"local_agent"`. Un subagent avviato dal thread principale ha profondità `1`. Un subagent avviato da un subagent di profondità `1` ha profondità `2`, e così via.

5778 5783 

5779Un [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`.5784Un [subagent ripreso](/docs/it/agent-sdk/subagents#resume-subagents) riporta sempre `is_backgrounded: true`, perché Claude Code esegue ogni subagent ripreso in background. Quando un'attività in primo piano passa in seguito in background, Claude Code riporta il nuovo valore di `is_backgrounded` in un messaggio [`task_updated`](#sdktaskupdatedmessage) invece di inviare un secondo `task_started`.

5780 5785 

5781<h3 id="sdktaskprogressmessage">5786<h3 id="sdktaskprogressmessage">

5782 `SDKTaskProgressMessage`5787 `SDKTaskProgressMessage`


5784 5789 

5785Emesso periodicamente mentre un subagent o un'attività in background è in esecuzione.5790Emesso periodicamente mentre un subagent o un'attività in background è in esecuzione.

5786 5791 

5787Per 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.5792Per un'attività di subagent, il campo `summary` contiene un riepilogo dell'avanzamento generato dal modello ed è popolato solo quando [`agentProgressSummaries`](#options) è abilitato. Per una [chiamata a uno strumento MCP spostata in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls), `summary` contiene l'ultimo avanzamento riportato dal server MCP e non dipende da tale opzione.

5788 5793 

5789```typescript theme={null}5794```typescript theme={null}

5790type SDKTaskProgressMessage = {5795type SDKTaskProgressMessage = {


5810 `SDKTaskUpdatedMessage`5815 `SDKTaskUpdatedMessage`

5811</h3>5816</h3>

5812 5817 

5813Emesso 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()`.5818Emesso quando lo stato di un'attività in background cambia, ad esempio quando passa da `running` a `completed`. Fai 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()`.

5814 5819 

5815```typescript theme={null}5820```typescript theme={null}

5816type SDKTaskUpdatedMessage = {5821type SDKTaskUpdatedMessage = {


5834 `SDKBackgroundTasksChangedMessage`5839 `SDKBackgroundTasksChangedMessage`

5835</h3>5840</h3>

5836 5841 

5837Emesso 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.5842Emesso ogni volta che l'insieme delle attività in background attive cambia: un'attività inizia, viene completata, viene terminata, un agente in primo piano passa in background, oppure cambia il campo `description` o `ambient` di un'attività.

5838 5843 

5839L'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.5844L'array `tasks` è l'intero insieme attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che la successiva modifica dell'insieme corregga qualsiasi evento che ti sei perso.

5840 5845 

5841L'ordine relativo a quegli eventi per attività non è specificato, quindi non correlare i due flussi.5846L'ordinamento rispetto a quegli eventi per singola attività non è specificato, quindi non correlare i due flussi.

5842 5847 

5843Nulla 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.5848All'avvio non viene emesso nulla. Reimposta su un insieme vuoto ogni volta che il processo CLI della sessione si avvia o si riavvia e lascia che la successiva modifica dell'insieme lo ripopoli.

5844 5849 

5845Quando 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.5850Quando 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 un'istantanea dell'insieme attivo corrente, anche quando è vuoto. Un host che si riconnette scopre quindi cosa è in esecuzione senza attendere la successiva modifica dell'insieme. Prima di Agent SDK v0.3.239, Claude Code non inviava alcuna istantanea dopo un `initialize` ripetuto.

5846 5851 

5847Richiede Claude Code v2.1.203 o successivo.5852Richiede Claude Code v2.1.203 o versioni successive.

5848 5853 

5849```typescript theme={null}5854```typescript theme={null}

5850type SDKBackgroundTasksChangedMessage = {5855type SDKBackgroundTasksChangedMessage = {


5853 tasks: {5858 tasks: {

5854 task_id: string;5859 task_id: string;

5855 task_type: string;5860 task_type: string;

5861 subagent_type?: string;

5856 description: string;5862 description: string;

5857 ambient?: boolean;5863 ambient?: boolean;

5858 }[];5864 }[];


5861};5867};

5862```5868```

5863 5869 

5870`subagent_type` indica il tipo di subagent nelle voci il cui [`task_type`](#sdktaskstartedmessage) è `"local_agent"`, come `general-purpose` o il nome di un subagent personalizzato. Il campo richiede Agent SDK v0.3.293 o versioni successive.

5871 

5864<h3 id="sdkthinkingtokensmessage">5872<h3 id="sdkthinkingtokensmessage">

5865 `SDKThinkingTokensMessage`5873 `SDKThinkingTokensMessage`

5866</h3>5874</h3>

5867 5875 

5868Emesso 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.5876Emesso mentre Claude produce un blocco di ragionamento, incluso uno oscurato. `estimated_tokens` è una stima progressiva dei token di ragionamento generati finora nel blocco corrente, e `estimated_tokens_delta` è l'incremento riportato da questo frame. Usa queste stime per visualizzare l'avanzamento.

5869 5877 

5870Quando 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).5878Quando il modello o il provider riporta una suddivisione, il conteggio finale per il ciclo dell'agente di primo livello è [`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).

5871 5879 

5872Richiede Claude Code v2.1.153 o successivo.5880Richiede Claude Code v2.1.153 o versioni successive.

5873 5881 

5874```typescript theme={null}5882```typescript theme={null}

5875type SDKThinkingTokensMessage = {5883type SDKThinkingTokensMessage = {


5887 `SDKSessionStateChangedMessage`5895 `SDKSessionStateChangedMessage`

5888</h3>5896</h3>

5889 5897 

5890Emesso quando Claude Code segnala lo stato della sessione. Per ricevere questi messaggi, imposta [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](/docs/it/env-vars#variables). Claude Code può segnalare lo stesso stato più di una volta, quindi leggi un messaggio come lo stato corrente della sessione piuttosto che come una transizione.5898Emesso quando Claude Code riporta lo stato della sessione. Per ricevere questi messaggi, imposta [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](/docs/it/env-vars#variables). Claude Code può riportare lo stesso stato più di una volta, quindi interpreta un messaggio come lo stato corrente della sessione piuttosto che come una transizione.

5891 5899 

5892Il campo `state` contiene uno di questi valori:5900Il campo `state` contiene uno di questi valori:

5893 5901 

5894* `running`: la sessione sta lavorando.5902* `running`: la sessione sta lavorando.

5895* `idle`: Claude Code è in attesa del tuo prossimo prompt.5903* `idle`: Claude Code è in attesa del tuo prossimo prompt.

5896* `requires_action`: la sessione è bloccata in attesa della risposta a una richiesta che ha inviato al tuo host, come una richiesta di permesso.5904* `requires_action`: la sessione è bloccata in attesa di una risposta a una richiesta inviata al tuo host, come una richiesta di permesso.

5897 5905 

5898Il messaggio `idle` di un turno e il suo messaggio `result` possono arrivare in qualsiasi ordine. Per cambiare se `idle` attende il lavoro in background, come un subagent in background o l'esecuzione di un [workflow](/docs/it/workflows), vedi [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](/docs/it/env-vars#variables).5906Il messaggio `idle` di un turno e il suo messaggio `result` possono arrivare in qualsiasi ordine. Per cambiare se `idle` attende il lavoro in background, come un subagent in background o un'esecuzione di un [workflow](/docs/it/workflows), consulta [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](/docs/it/env-vars#variables).

5899 5907 

5900```typescript theme={null}5908```typescript theme={null}

5901type SDKSessionStateChangedMessage = {5909type SDKSessionStateChangedMessage = {


5911 `SDKFilesPersistedEvent`5919 `SDKFilesPersistedEvent`

5912</h3>5920</h3>

5913 5921 

5914Emesso quando i checkpoint dei file vengono persistiti su disco.5922Emesso quando i checkpoint dei file vengono salvati su disco.

5915 5923 

5916```typescript theme={null}5924```typescript theme={null}

5917type SDKFilesPersistedEvent = {5925type SDKFilesPersistedEvent = {


5947};5955};

5948```5956```

5949 5957 

5950Quando `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.5958Quando `errorCode` è `"credits_required"`, il rifiuto proviene da un abbonamento claude.ai il cui utilizzo incluso è esaurito, e la sessione non può continuare finché l'utente non acquista crediti di utilizzo. `canUserPurchaseCredits` indica se l'utente autenticato può acquistare crediti per l'account, e `hasChargeableSavedPaymentMethod` indica se è registrato un metodo di pagamento salvato. Tutti e tre i campi sono assenti negli eventi di rate limit che non sono rifiuti per crediti richiesti. Richiede Claude Code v2.1.181 o versioni successive.

5951 5959 

5952<h3 id="sdklocalcommandoutputmessage">5960<h3 id="sdklocalcommandoutputmessage">

5953 `SDKLocalCommandOutputMessage`5961 `SDKLocalCommandOutputMessage`


5969 `SDKCommandsChangedMessage`5977 `SDKCommandsChangedMessage`

5970</h3>5978</h3>

5971 5979 

5972Emesso 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.5980Emesso quando l'insieme dei comandi disponibili cambia durante la sessione, ad esempio quando Claude Code scopre delle skill mentre l'agente entra in una sottodirectory. L'array `commands` è l'intero elenco 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 segue l'invio più recente; questo richiede Agent SDK v0.3.216 o versioni successive. Nelle versioni precedenti dell'SDK, `supportedCommands()` restituisce l'istantanea acquisita all'inizializzazione e non riflette mai le modifiche durante la sessione.

5973 5981 

5974Claude 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.5982Claude 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 termina la connessione dopo l'avvio della sessione. Questo richiede Claude Code v2.1.281 o versioni successive.

5975 5983 

5976```typescript theme={null}5984```typescript theme={null}

5977type SDKCommandsChangedMessage = {5985type SDKCommandsChangedMessage = {


5987 `SDKPromptSuggestionMessage`5995 `SDKPromptSuggestionMessage`

5988</h3>5996</h3>

5989 5997 

5990Emesso dopo un turno quando [`promptSuggestions`](#options) è abilitato e Claude Code ha generato un suggerimento per quel turno. Contiene il prompt utente successivo previsto. Per i turni che non ne ricevono, vedi [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions).5998Emesso dopo un turno quando [`promptSuggestions`](#options) è abilitato e Claude Code ha generato un suggerimento per quel turno. Contiene il prossimo prompt dell'utente previsto. Per i turni che non ne ricevono, consulta [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions).

5991 5999 

5992```typescript theme={null}6000```typescript theme={null}

5993type SDKPromptSuggestionMessage = {6001type SDKPromptSuggestionMessage = {


6016};6024};

6017```6025```

6018 6026 

6019I campi opzionali descrivono il ripristino:6027I campi facoltativi descrivono il reset:

6020 6028 

6021* `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.6029* `trigger`: cosa ha scartato la conversazione. Reimposta la tua trascrizione a ogni messaggio `conversation_reset`, incluso uno in cui questo campo è assente o contiene un valore che non riconosci.

6022* `user_message_uuid`: l'`uuid` del messaggio utente che conteneva il `/clear`. Usalo per abbinare il ripristino a quel messaggio.6030* `user_message_uuid`: l'`uuid` del messaggio dell'utente che conteneva il `/clear`. Usalo per associare il reset a quel messaggio.

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

6024 6032 

6025I campi `trigger`, `user_message_uuid` e `timestamp` richiedono Claude Code v2.1.281 o successivo.6033I campi `trigger`, `user_message_uuid` e `timestamp` richiedono Claude Code v2.1.281 o versioni successive.

6026 6034 

6027I 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.6035Le tipizzazioni pubblicate dell'SDK dichiarano `SDKConversationResetMessage` in Claude Code v2.1.203 e versioni successive. Prima della 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.

6028 6036 

6029<h3 id="aborterror">6037<h3 id="aborterror">

6030 `AbortError`6038 `AbortError`

6031</h3>6039</h3>

6032 6040 

6033Classe di errore personalizzata per le operazioni di interruzione.6041Classe di errore personalizzata per le operazioni di abort.

6034 6042 

6035```typescript theme={null}6043```typescript theme={null}

6036class AbortError extends Error {}6044class AbortError extends Error {}

6037```6045```

6038 6046 

6039`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.6047`AbortError` è l'unica classe di errore nell'API tipizzata dell'SDK. Gli altri errori, come l'uscita o il mancato avvio del processo Claude Code, rifiutano l'iterazione dei messaggi con errori che non hanno alcuna classe dell'SDK su cui fare il confronto. [Risoluzione dei problemi](/docs/it/agent-sdk/troubleshooting) classifica questi errori in base al messaggio, con la causa e la soluzione per ciascuno.

6040 6048 

6041<h2 id="sandbox-configuration">6049<h2 id="sandbox-configuration">

6042 Configurazione della sandbox6050 Configurazione della sandbox

agent-view.md +1 −0

Details

819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Elimina una sessione la cui eliminazione è stata rifiutata a causa di commit non sottoposti a push, scartando il worktree insieme al suo branch e ai commit. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.260 o successivo |819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Elimina una sessione la cui eliminazione è stata rifiutata a causa di commit non sottoposti a push, scartando il worktree insieme al suo branch e ai commit. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.260 o successivo |

820| `claude rm <id> --force-remove-worktree <worktree-id>` | Elimina una sessione la cui eliminazione è stata rifiutata perché git o l'hook `WorktreeRemove` non potevano rimuovere il suo worktree, eliminando comunque la directory del worktree e lasciando il suo branch nel repository. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.268 o successivo |820| `claude rm <id> --force-remove-worktree <worktree-id>` | Elimina una sessione la cui eliminazione è stata rifiutata perché git o l'hook `WorktreeRemove` non potevano rimuovere il suo worktree, eliminando comunque la directory del worktree e lasciando il suo branch nel repository. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.268 o successivo |

821| `claude daemon status` | Stampa lo stato del [supervisore](#the-supervisor-process), la versione, la directory socket e il numero di worker |821| `claude daemon status` | Stampa lo stato del [supervisore](#the-supervisor-process), la versione, la directory socket e il numero di worker |

822| `claude daemon logs` | Segue il file di log del supervisore, [`~/.claude/daemon.log`](#where-state-is-stored), stampando le nuove righe man mano che arrivano finché non premi `Ctrl+C` |

822| `claude daemon stop --any` | Ferma il processo supervisore e le sessioni in background che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. Il prossimo `claude agents` o `claude --bg` avvia un supervisore nuovo |823| `claude daemon stop --any` | Ferma il processo supervisore e le sessioni in background che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. Il prossimo `claude agents` o `claude --bg` avvia un supervisore nuovo |

823 824 

824`claude attach` e `claude logs` possono accettare parte del nome di una sessione in esecuzione al posto dell'ID, come in `claude logs "auth refactor"`. Passare un nome richiede Claude Code v2.1.290 o successivo.825`claude attach` e `claude logs` possono accettare parte del nome di una sessione in esecuzione al posto dell'ID, come in `claude logs "auth refactor"`. Passare un nome richiede Claude Code v2.1.290 o successivo.

agents.md +1 −1

Details

20 20 

21Tre ulteriori strumenti supportano questo lavoro senza essere un modo per eseguire agenti stessi:21Tre ulteriori strumenti supportano questo lavoro senza essere un modo per eseguire agenti stessi:

22 22 

23* [Worktrees](/docs/it/worktrees) danno a ogni sessione un checkout git separato, così le sessioni parallele non modificano mai gli stessi file. Usateli per le sessioni che eseguite voi stessi. Una sessione che inviate da visualizzazione agenti [si sposta nel suo proprio worktree prima di modificare i file](/docs/it/agent-view#how-file-edits-are-isolated), e i subagenti che generate possono ottenerne uno anche loro.23* I [worktree](/docs/it/worktrees) danno a ogni sessione un checkout git separato, così ogni sessione parallela modifica la propria copia dei file. Usali per le sessioni che esegui tu stesso. Una sessione che invii dalla visualizzazione agenti [si sposta in un proprio worktree prima di modificare i file](/docs/it/agent-view#how-file-edits-are-isolated), e anche i subagent che generi possono ottenerne uno ciascuno.

24* [Messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di elencare e inviare messaggi alle Vostre altre sessioni Claude Code su questa macchina, su un'altra macchina, o [nel cloud](/docs/it/claude-code-on-the-web), così le sessioni che eseguite voi stessi possono passare risultati e stato tra di loro.24* [Messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di elencare e inviare messaggi alle Vostre altre sessioni Claude Code su questa macchina, su un'altra macchina, o [nel cloud](/docs/it/claude-code-on-the-web), così le sessioni che eseguite voi stessi possono passare risultati e stato tra di loro.

25* [`/batch`](/docs/it/commands) è una [skill](/docs/it/skills) che ha Claude dividere un grande cambiamento in 5 a 30 subagenti isolati da worktree. È un uso confezionato di subagenti e worktrees, non uno stile di coordinamento separato.25* [`/batch`](/docs/it/commands) è una [skill](/docs/it/skills) che ha Claude dividere un grande cambiamento in 5 a 30 subagenti isolati da worktree. È un uso confezionato di subagenti e worktrees, non uno stile di coordinamento separato.

26 26 

Details

188 188 

189La cache copre tutte le opzioni di credenziale sopra elencate tranne una chiave API di Amazon Bedrock, che non utilizza la catena del provider. Per risolvere la catena su ogni richiesta invece, impostare [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/it/env-vars).189La cache copre tutte le opzioni di credenziale sopra elencate tranne una chiave API di Amazon Bedrock, che non utilizza la catena del provider. Per risolvere la catena su ogni richiesta invece, impostare [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/it/env-vars).

190 190 

191Ogni risoluzione della catena scade dopo 60 secondi. Se un passaggio della catena si blocca, ad esempio un helper `credential_process` che attende un input che non può ricevere, la richiesta non riesce con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out). Se la catena esegue un accesso interattivo che legittimamente ha bisogno di più tempo, come SSO basato su browser con MFA tramite un wrapper come `aws-vault`, aumentare il limite in millisecondi con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/it/env-vars). Prima della versione 2.1.207, una risoluzione di credenziale bloccata lasciava la richiesta in attesa indefinitamente.191La risoluzione che popola la cache va in timeout dopo 60 secondi. Se un passaggio della catena si blocca, ad esempio un helper `credential_process` che attende un input che non può ricevere, la richiesta non riesce con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out). Se la tua catena esegue un accesso interattivo che richiede legittimamente più tempo, come SSO basato su browser 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). Con `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` impostato, ogni richiesta API risolve la catena senza questo limite.

192 192 

193Tranne quando si esegue l'autenticazione con una chiave API di Amazon Bedrock, la [procedura guidata di configurazione](#sign-in-with-bedrock) applica lo stesso limite a ogni chiamata AWS che effettua durante la verifica delle credenziali, e alla ricerca delle credenziali prima di ogni controllo del modello. Durante la verifica delle credenziali, un controllo che lo supera non riesce con [`Timed out after 60s waiting for AWS`](/docs/it/errors#bedrock-setup-verification-timed-out-waiting-for-aws).193Tranne quando si esegue l'autenticazione con una chiave API di Amazon Bedrock, la [procedura guidata di configurazione](#sign-in-with-bedrock) applica lo stesso limite a ogni chiamata AWS che effettua durante la verifica delle credenziali, e alla ricerca delle credenziali prima di ogni controllo del modello. Durante la verifica delle credenziali, un controllo che lo supera non riesce con [`Timed out after 60s waiting for AWS`](/docs/it/errors#bedrock-setup-verification-timed-out-waiting-for-aws).

194 194 


681 681 

682Amazon Bedrock trasmette le risposte `InvokeModelWithResponseStream` in un formato binario event-stream con l'intestazione `Content-Type: application/vnd.amazon.eventstream`. Un gateway o proxy tra Claude Code e Amazon Bedrock deve inoltrare il corpo della risposta e le sue intestazioni, incluso `Content-Type`, così come Amazon Bedrock le ha inviate.682Amazon Bedrock trasmette le risposte `InvokeModelWithResponseStream` in un formato binario event-stream con l'intestazione `Content-Type: application/vnd.amazon.eventstream`. Un gateway o proxy tra Claude Code e Amazon Bedrock deve inoltrare il corpo della risposta e le sue intestazioni, incluso `Content-Type`, così come Amazon Bedrock le ha inviate.

683 683 

684Se il gateway riscrive `Content-Type` in un altro valore, Claude Code rifiuta la risposta con un errore che inizia con `Bedrock streaming response has content-type`, indicando il valore che ha ricevuto. La riscrittura comune è `text/event-stream`, da un'integrazione che ri-emette il flusso come server-sent events.684Se il gateway riscrive `Content-Type` in un altro valore, Claude Code rifiuta la risposta con un errore che inizia con `Bedrock streaming response has content-type`, indicando il valore che ha ricevuto. La riscrittura comune è `text/event-stream`, da un'integrazione che ri-emette il flusso come server-sent events. Per la variabile `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` indicata dal messaggio di errore, consulta [Bedrock streaming response has an unexpected content-type](/docs/it/errors#bedrock-streaming-response-has-an-unexpected-content-type).

685 685 

686Se il gateway elimina o cancella l'intestazione, Claude Code presume che il corpo sia il flusso di eventi di Amazon Bedrock e lo decodifica, quindi un corpo che il gateway ha fatto passare senza modifiche continua a trasmettere.686Se il gateway elimina o cancella l'intestazione, Claude Code presume che il corpo sia il flusso di eventi di Amazon Bedrock e lo decodifica, quindi un corpo che il gateway ha fatto passare senza modifiche continua a trasmettere.

687 687 

Details

12 Accedi a Claude Code12 Accedi a Claude Code

13</h2>13</h2>

14 14 

15Dopo aver [installato Claude Code](/docs/it/setup#install-claude-code), eseguite `claude` nel vostro terminale. Al primo avvio, Claude Code apre una finestra del browser per consentirvi di accedere. Se avete impostato la variabile di ambiente `ANTHROPIC_API_KEY`, Claude Code salta il prompt di accesso e vi chiede invece di approvare la chiave.15Dopo aver [installato Claude Code](/docs/it/setup#install-claude-code), esegui `claude` nel tuo terminale. Al primo avvio, Claude Code apre una finestra del browser per consentirti di accedere. Se hai impostato la variabile d'ambiente `ANTHROPIC_API_KEY` e approvi la chiave quando Claude Code ti chiede se utilizzarla, Claude Code salta il prompt di accesso.

16 16 

17Se il browser non si apre automaticamente, premete `c` per copiare l'URL di accesso negli appunti, quindi incollatelo nel vostro browser.17Se il browser non si apre automaticamente, premete `c` per copiare l'URL di accesso negli appunti, quindi incollatelo nel vostro browser.

18 18 

Details

349}349}

350```350```

351 351 

352Ottieni feedback AI sulle tue regole `allow`, `soft_deny` e `hard_deny` personalizzate:352Ottieni feedback AI sulle tue voci `allow`, `soft_deny`, `hard_deny` e `environment` personalizzate:

353 353 

354```bash theme={null}354```bash theme={null}

355claude auto-mode critique355claude auto-mode critique

chrome.md +1 −1

Details

343 343 

344| Errore | Causa | Soluzione |344| Errore | Causa | Soluzione |

345| - | - | - |345| - | - | - |

346| "Browser extension is not connected" | L'host di messaggistica nativa non può raggiungere l'estensione, oppure l'allowlist IP della tua organizzazione rifiuta la connessione a `bridge.claudeusercontent.com` | Riavvia Chrome e Claude Code, quindi esegui `/chrome` per riconnetterti. Se la tua organizzazione utilizza l'allowlist IP e l'errore persiste, vedi [Organization IP allowlists and proxy egress](/docs/it/network-config#organization-ip-allowlists-and-proxy-egress) |346| "Browser extension is not connected" | L'host di messaggistica nativa non può raggiungere l'estensione, oppure l'allowlist IP della tua organizzazione rifiuta la connessione a `bridge.claudeusercontent.com` | Verifica che nell'estensione sia stato effettuato l'accesso allo stesso account claude.ai di Claude Code, riavvia Chrome e Claude Code, quindi esegui `/chrome` per riconnetterti. Se la tua organizzazione utilizza l'allowlist IP e l'errore persiste, vedi [Organization IP allowlists and proxy egress](/docs/it/network-config#organization-ip-allowlists-and-proxy-egress) |

347| Extension shows "Not detected" in `/chrome` | L'estensione Chrome non è installata o è disabilitata | Installa o abilita l'estensione in `chrome://extensions` |347| Extension shows "Not detected" in `/chrome` | L'estensione Chrome non è installata o è disabilitata | Installa o abilita l'estensione in `chrome://extensions` |

348| "No tab available" | Claude ha tentato di agire prima che una scheda fosse pronta | Chiedi a Claude di creare una nuova scheda e riprovare |348| "No tab available" | Claude ha tentato di agire prima che una scheda fosse pronta | Chiedi a Claude di creare una nuova scheda e riprovare |

349| "Receiving end does not exist" | Il service worker dell'estensione è diventato inattivo | Esegui `/chrome` e seleziona "Reconnect extension" |349| "Receiving end does not exist" | Il service worker dell'estensione è diventato inattivo | Esegui `/chrome` e seleziona "Reconnect extension" |

Details

75| - | - |75| - | - |

76| Claude Code v2.1.195 o successivo | Il sottocomando `claude gateway` e il flusso di accesso al gateway vengono spediti in v2.1.195. Le build pubbliche precedenti non le includono. Sia la macchina che esegue il server gateway che la macchina di ogni sviluppatore devono essere su v2.1.195 o successivo; esegui `claude update` per ottenere l'ultimo rilascio. L'[upstream Claude Platform su AWS](/docs/it/claude-apps-gateway-config#claude-platform-on-aws) richiede Claude Code v2.1.198 o successivo sul server gateway. |76| Claude Code v2.1.195 o successivo | Il sottocomando `claude gateway` e il flusso di accesso al gateway vengono spediti in v2.1.195. Le build pubbliche precedenti non le includono. Sia la macchina che esegue il server gateway che la macchina di ogni sviluppatore devono essere su v2.1.195 o successivo; esegui `claude update` per ottenere l'ultimo rilascio. L'[upstream Claude Platform su AWS](/docs/it/claude-apps-gateway-config#claude-platform-on-aws) richiede Claude Code v2.1.198 o successivo sul server gateway. |

77| Provider di identità OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, o Dex, o qualsiasi altro IdP conforme a OIDC come PingFederate. Il gateway esegue il discovery OIDC standard e il flusso del codice di autorizzazione rispetto ad esso. SAML e LDAP non sono supportati. |77| Provider di identità OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, o Dex, o qualsiasi altro IdP conforme a OIDC come PingFederate. Il gateway esegue il discovery OIDC standard e il flusso del codice di autorizzazione rispetto ad esso. SAML e LDAP non sono supportati. |

78| PostgreSQL 14 o successivo | Supporta il flusso di accesso del dispositivo, dove il callback del browser scrive e il CLI di polling legge, più contatori di limite di velocità. Qualsiasi Postgres gestito funziona, incluso il livello più piccolo. Senza limiti di spesa configurati, il gateway archivia pochi KB di stato di autenticazione di breve durata; con [limiti di spesa](/docs/it/claude-apps-gateway-spend-limits), contiene anche tabelle di spesa durevole, audit e identità che dovrebbero essere sottoposte a backup. TLS tramite `?sslmode=require` è consigliato. |78| PostgreSQL 11 o successivo | Supporta il flusso di accesso del dispositivo e i contatori dei rate limit. Funziona un servizio PostgreSQL gestito, incluso il livello più piccolo; vedi [quali database sono supportati](/docs/it/claude-apps-gateway-deploy#postgres). Con [limiti di spesa](/docs/it/claude-apps-gateway-spend-limits), contiene anche tabelle di spesa durevole, audit e identità che dovrebbero essere sottoposte a backup. TLS tramite `?sslmode=require` è consigliato. PostgreSQL 11, 12 e 13 richiedono Claude Code v2.1.290 o successivo sul server gateway. Il progetto PostgreSQL non mantiene più quelle versioni, quindi usane una più recente dove puoi. |

79| Upstream del modello | Credenziali Amazon Bedrock, credenziali Claude Platform su AWS, credenziali Google Cloud, una risorsa Microsoft Foundry o una chiave API Anthropic. Sono supportati più upstream con failover. |79| Upstream del modello | Credenziali Amazon Bedrock, credenziali Claude Platform su AWS, credenziali Google Cloud, una risorsa Microsoft Foundry o una chiave API Anthropic. Sono supportati più upstream con failover. |

80| HTTPS | Il gateway deve essere raggiungibile su `https://` dai laptop degli sviluppatori e da qualsiasi browser utilizzato per l'accesso; il gateway serve la pagina di verifica del dispositivo sullo stesso listener. Fornisci un certificato TLS tramite `listen.tls` o esegui dietro un ingresso che termina TLS, e imposta `listen.public_url` all'origine esterna in entrambi i casi. Su `/login`, Claude Code accetta un'origine `http://` semplice solo quando l'host del gateway è loopback: `localhost`, `127.0.0.1`, o `::1`. |80| HTTPS | Il gateway deve essere raggiungibile su `https://` dai laptop degli sviluppatori e da qualsiasi browser utilizzato per l'accesso; il gateway serve la pagina di verifica del dispositivo sullo stesso listener. Fornisci un certificato TLS tramite `listen.tls` o esegui dietro un ingresso che termina TLS, e imposta `listen.public_url` all'origine esterna in entrambi i casi. Su `/login`, Claude Code accetta un'origine `http://` semplice solo quando l'host del gateway è loopback: `localhost`, `127.0.0.1`, o `::1`. |

81| Indirizzo di rete privata | Su `/login`, Claude Code richiede che il nome host o l'indirizzo IP del gateway si risolvano solo in indirizzi privati: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, o loopback. Per un gateway che ospiti, qualsiasi indirizzo pubblico al di fuori di un blocco che dichiari è rifiutato; vedi il [modello di minaccia](/docs/it/claude-apps-gateway-deploy#threat-model-summary) nella guida di distribuzione. Se le macchine degli sviluppatori instradano HTTPS attraverso un proxy aziendale, l'accesso richiede anche che l'host proxy si risolva in indirizzi privati; se non lo fa, aggiungi l'host del gateway a `NO_PROXY` in modo che il CLI si connetta direttamente. Se la tua rete interna è numerata da spazio IPv4 pubblico che la tua organizzazione possiede, [dichiara quei blocchi](#allow-a-gateway-on-public-address-space-you-own) in modo che `/login` accetti un gateway lì. |81| Indirizzo di rete privata | Su `/login`, Claude Code richiede che il nome host o l'indirizzo IP del gateway si risolvano solo in indirizzi privati: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, o loopback. Per un gateway che ospiti, qualsiasi indirizzo pubblico al di fuori di un blocco che dichiari è rifiutato; vedi il [modello di minaccia](/docs/it/claude-apps-gateway-deploy#threat-model-summary) nella guida di distribuzione. Se le macchine degli sviluppatori instradano HTTPS attraverso un proxy aziendale, l'accesso richiede anche che l'host proxy si risolva in indirizzi privati; se non lo fa, aggiungi l'host del gateway a `NO_PROXY` in modo che il CLI si connetta direttamente. Se la tua rete interna è numerata da spazio IPv4 pubblico che la tua organizzazione possiede, [dichiara quei blocchi](#allow-a-gateway-on-public-address-space-you-own) in modo che `/login` accetti un gateway lì. |


91 </Step>91 </Step>

92 92 

93 <Step title="Provisioning di un database PostgreSQL">93 <Step title="Provisioning di un database PostgreSQL">

94 Qualsiasi Postgres 14 o successivo funziona, incluso il livello gestito più piccolo. Il gateway esegue le proprie migrazioni dello schema all'avvio, quindi il ruolo del database ha bisogno dei diritti per creare e alterare le tabelle; vedi [`store`](/docs/it/claude-apps-gateway-config#store).94 Usa PostgreSQL 11 o successivo. Il livello gestito più piccolo è sufficiente. Il gateway esegue le proprie migrazioni dello schema all'avvio, quindi il ruolo del database ha bisogno dei diritti per creare e alterare le tabelle; vedi [`store`](/docs/it/claude-apps-gateway-config#store).

95 </Step>95 </Step>

96 96 

97 <Step title="Scrivi gateway.yaml">97 <Step title="Scrivi gateway.yaml">

Details

158Il gateway legge la chiave e il certificato una sola volta all'avvio, quindi un file modificato ha effetto solo dopo un riavvio. Esegui la rotazione in questo ordine in modo che nessuna richiesta di token presenti un certificato che l'IdP non ha:158Il gateway legge la chiave e il certificato una sola volta all'avvio, quindi un file modificato ha effetto solo dopo un riavvio. Esegui la rotazione in questo ordine in modo che nessuna richiesta di token presenti un certificato che l'IdP non ha:

159 159 

1601. Carica il nuovo certificato sull'IdP accanto a quello vecchio.1601. Carica il nuovo certificato sull'IdP accanto a quello vecchio.

1612. Sostituisci i file della chiave e del certificato che `gateway.yaml` carica, quindi riavvia il gateway.1612. Sostituisci i file della chiave e del certificato che `gateway.yaml` carica, quindi riavvia il gateway. Se esegui più repliche, un [riavvio progressivo](/docs/it/claude-apps-gateway-deploy#upgrades) funziona, perché l'IdP ha entrambi i certificati finché non rimuovi quello vecchio.

1623. Rimuovi il vecchio certificato dall'IdP.1623. Dopo che ogni replica si è riavviata, rimuovi il vecchio certificato dall'IdP.

163 163 

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

165 Richieste IdP attraverso un forward proxy165 Richieste IdP attraverso un forward proxy


227 227 

228| Campo | Obbligatorio | Descrizione |228| Campo | Obbligatorio | Descrizione |

229| - | - | - |229| - | - | - |

230| `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). |230| `postgres_url` | Sì | URL `postgres://` o `postgresql://` con un solo host, non un elenco separato da virgole. 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). |

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

232| `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. |232| `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. |

233| `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. |233| `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. |


376| 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}` |376| 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}` |

377| 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. |377| 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. |

378 378 

379<a id="apply-an-amazon-bedrock-guardrail" />

380 

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

380 Applicare un guardrail di Amazon Bedrock382 Applicare un guardrail di Amazon Bedrock

381</h5>383</h5>


921 923 

922 Si applicano due tempi di propagazione:924 Si applicano due tempi di propagazione:

923 925 

924 * **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)926 * **Contenuti della policy**: modificare una policy e rifare il deploy raggiunge i client Claude Code 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)

925 * **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`.927 * **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`.

928 

929 Claude Desktop segue [la propria tempistica](#when-a-policy-change-reaches-claude-desktop).

926</Note>930</Note>

927 931 

928<h4 id="start-sessions-on-a-model-the-policy-allows">932<h4 id="start-sessions-on-a-model-the-policy-allows">


1086 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`.1090 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`.

1087</Note>1091</Note>

1088 1092 

1089Il gateway deriva gran parte della risposta dal blocco `cli` della policy corrispondente e dalla configurazione di primo livello del gateway:1093Se non distribuisci Claude Desktop, lascia `desktop` completamente fuori dalle tue policy; il gateway restituisce quindi 404 da `/user/bootstrap` per ogni utente.

1094 

1095<h5 id="settings-the-gateway-derives-for-claude-desktop">

1096 Impostazioni che il gateway deriva per Claude Desktop

1097</h5>

1098 

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

1090 1100 

1091* L'elenco dei modelli, da `availableModels`. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto 1M di ciascun modello1101* L'elenco dei modelli, da `availableModels`. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto 1M di ciascun modello

1092* 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`1102* 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`


1099 1109 

1100Il 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 *)`.1110Il 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 *)`.

1101 1111 

1102Aggiungi 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`.1112<h5 id="set-claude-desktop-settings-directly">

1113 Imposta direttamente le impostazioni di Claude Desktop

1114</h5>

1115 

1116Aggiungi 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.

1117 

1118Questo esempio imposta tre chiavi di Claude Desktop per il gruppo `eng-contractors` insieme alle sue impostazioni `cli`:

1103 1119 

1104```yaml theme={null}1120```yaml theme={null}

1105managed:1121managed:


1114 banner: { text: "Contractor build: internal use only" }1130 banner: { text: "Contractor build: internal use only" }

1115```1131```

1116 1132 

1117Ogni 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:1133Ogni chiave è facoltativa; Claude Desktop applica il proprio valore predefinito per qualsiasi chiave che ometti.

1134 

1135<h5 id="what-the-gateway-rejects-at-boot">

1136 Cosa rifiuta il gateway all'avvio

1137</h5>

1138 

1139Il 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:

1118 1140 

1119* Una chiave sconosciuta1141* Una chiave sconosciuta

1120* 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.1142* 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.


1123 1145 

1124Se 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.1146Se 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.

1125 1147 

1148Prima 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`.

1149 

1150<h5 id="keys-that-need-a-later-gateway-or-claude-desktop-version">

1151 Chiavi che richiedono una versione più recente del gateway o di Claude Desktop

1152</h5>

1153 

1126Il 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.1154Il 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.

1127 1155 

1128`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.1156`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.

1129 1157 

1130Se 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.1158Se 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.

1131 1159 

1160<h5 id="how-a-role-policy-inherits-the-base-desktop-block">

1161 Come una policy per ruolo eredita il blocco `desktop` della base

1162</h5>

1163 

1132Il 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:1164Il 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:

1133 1165 

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


1136 1168 

1137Per 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.1169Per 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.

1138 1170 

1139Se non distribuisci Claude Desktop, lascia `desktop` completamente fuori dalle tue policy; il gateway restituisce quindi 404 da `/user/bootstrap` per ogni utente.1171<h5 id="when-a-policy-change-reaches-claude-desktop">

1172 Quando una modifica della policy raggiunge Claude Desktop

1173</h5>

1174 

1175Dopo aver rifatto il deploy del gateway con una policy modificata, Claude Desktop applica la maggior parte delle impostazioni solo al suo prossimo avvio:

1176 

1177* **Chiuso**: Claude Desktop recupera la risposta di bootstrap all'avvio, quindi la modifica si applica dal prossimo avvio

1178* **Aperto**: Claude Desktop verifica la presenza di una risposta modificata ogni 10 minuti per impostazione predefinita e applica alcune impostazioni senza riavvio. Per le altre, come [`skillCreationEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#skillcreationenabled), l'utente vede una scheda **Relaunch Claude Desktop** nella barra laterale e mantiene la configurazione precedente finché non riavvia l'app. Dopo 24 ore per impostazione predefinita, Claude Desktop mostra una finestra di dialogo di riavvio e si riavvia da solo dopo 2 minuti di inattività

1179 

1180Per ridurre le 24 ore, imposta [`relaunchEnforcementHours`](https://claude.com/docs/third-party/claude-desktop/configuration#relaunchenforcementhours) nel blocco `desktop` della policy. Hai bisogno di Claude Code v2.1.260 o successivo sul server del gateway e di Claude Desktop 1.40609.0 o successivo sulle macchine dei membri. Con `0`, la finestra di dialogo appare non appena Claude Desktop rileva la modifica.

1140 1181 

1141<h4 id="extended-context-in-claude-desktop">1182<h4 id="extended-context-in-claude-desktop">

1142 Contesto esteso in Claude Desktop1183 Contesto esteso in Claude Desktop

Details

249 Postgres249 Postgres

250</h3>250</h3>

251 251 

252Il gateway memorizza il suo stato in un database PostgreSQL:

253 

254* **Database**: PostgreSQL stesso, self-hosted o gestito, alla [versione minima](/docs/it/claude-apps-gateway#prerequisites) o successiva. I database che implementano solo il protocollo Postgres, come i database SQL distribuiti, non sono supportati.

255* **Indirizzo**: `store.postgres_url` accetta un solo host. Se il database ha più nodi, usa l'indirizzo che si trova davanti a essi, come l'endpoint del tuo servizio gestito, un load balancer o un IP virtuale. Imposta un [periodo di grazia della readiness](#readiness-grace-period) più lungo di quanto impiega un failover.

256 

252Il gateway contiene cinque tabelle di dati più una tabella `_migrations`, tutte create dalle sue migrazioni al momento dell'avvio:257Il gateway contiene cinque tabelle di dati più una tabella `_migrations`, tutte create dalle sue migrazioni al momento dell'avvio:

253 258 

254| Tabella | Contenuti | Conservazione |259| Tabella | Contenuti | Conservazione |


396| CLI `/login`: `Could not resolve the configured HTTP proxy` | Il nome host in `HTTPS_PROXY` o `HTTP_PROXY` non si risolve dalla macchina dello sviluppatore, tipicamente perché non è connesso alla rete aziendale | Chiedi allo sviluppatore di connettersi alla tua rete o VPN e riprovare, oppure correggi l'URL del proxy |401| CLI `/login`: `Could not resolve the configured HTTP proxy` | Il nome host in `HTTPS_PROXY` o `HTTP_PROXY` non si risolve dalla macchina dello sviluppatore, tipicamente perché non è connesso alla rete aziendale | Chiedi allo sviluppatore di connettersi alla tua rete o VPN e riprovare, oppure correggi l'URL del proxy |

397| CLI `/login`: `Could not resolve gateway host <host>` | La macchina non può risolvere il nome DNS interno del gateway, tipicamente perché non è sulla rete aziendale | Chiedi allo sviluppatore di connettersi alla tua rete o VPN, quindi riprova `/login` |402| CLI `/login`: `Could not resolve gateway host <host>` | La macchina non può risolvere il nome DNS interno del gateway, tipicamente perché non è sulla rete aziendale | Chiedi allo sviluppatore di connettersi alla tua rete o VPN, quindi riprova `/login` |

398| L'avvio esce con un errore di convalida della configurazione che nomina `store.postgres_url` | Nessun Postgres configurato; il gateway richiede Postgres | Imposta `store.postgres_url`. Per lo sviluppo locale, utilizza un container usa e getta: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |403| L'avvio esce con un errore di convalida della configurazione che nomina `store.postgres_url` | Nessun Postgres configurato; il gateway richiede Postgres | Imposta `store.postgres_url`. Per lo sviluppo locale, utilizza un container usa e getta: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

404| L'avvio esce: `store.postgres_url in <path> is not a URL the gateway can read`, oppure, prima di v2.1.290, un semplice `Invalid URL` o `URI error` | L'URL non può essere analizzato, ad esempio perché elenca più di un host o la sua password contiene un `/`, `?`, `#` o `%` non codificato | Indica [un solo host](#postgres) e sposta la password in [`store.password`](/docs/it/claude-apps-gateway-config#store) |

399| L'avvio esce: `requires the native binary` | In esecuzione sotto Node invece del binario nativo | Installa Claude Code con uno dei [metodi di installazione standalone](/docs/it/setup) |405| L'avvio esce: `requires the native binary` | In esecuzione sotto Node invece del binario nativo | Installa Claude Code con uno dei [metodi di installazione standalone](/docs/it/setup) |

400| L'avvio esce con un errore di scoperta OIDC dopo `config.load` | `oidc.issuer` non raggiungibile, oppure la catena TLS non è attendibile | Controlla che l'emittente sia raggiungibile dal pod e serva `/.well-known/openid-configuration`. Imposta `ca_cert_pem` per PKI privata. Se il pod raggiunge l'IdP solo attraverso un proxy forward, imposta [`oidc.use_proxy: true`](/docs/it/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); nelle versioni precedenti a v2.1.227, fornisci al pod una rotta diretta a ciascuno degli endpoint dell'IdP invece. Se il pod inoltre non può risolvere il nome host dell'IdP, oppure il proxy rifiuta `CONNECT` a un indirizzo IP, vedi [Proxy-only egress](/docs/it/claude-apps-gateway-config#proxy-only-egress), che richiede v2.1.277 o successivo. |406| L'avvio esce con un errore di scoperta OIDC dopo `config.load` | `oidc.issuer` non raggiungibile, oppure la catena TLS non è attendibile | Controlla che l'emittente sia raggiungibile dal pod e serva `/.well-known/openid-configuration`. Imposta `ca_cert_pem` per PKI privata. Se il pod raggiunge l'IdP solo attraverso un proxy forward, imposta [`oidc.use_proxy: true`](/docs/it/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); nelle versioni precedenti a v2.1.227, fornisci al pod una rotta diretta a ciascuno degli endpoint dell'IdP invece. Se il pod inoltre non può risolvere il nome host dell'IdP, oppure il proxy rifiuta `CONNECT` a un indirizzo IP, vedi [Proxy-only egress](/docs/it/claude-apps-gateway-config#proxy-only-egress), che richiede v2.1.277 o successivo. |

401| L'avvio esce con un errore di permessi Postgres | Il ruolo del database manca dei diritti DDL sul suo schema | Concedi al ruolo `CREATE` sullo schema del gateway in modo che possa creare e alterare le sue tabelle all'avvio |407| L'avvio esce con un errore di permessi Postgres | Il ruolo del database manca dei diritti DDL sul suo schema | Concedi al ruolo `CREATE` sullo schema del gateway in modo che possa creare e alterare le sue tabelle all'avvio |

402| Log: `could not connect to Postgres at boot, attempt 1 of 3` | Il database non era raggiungibile quando il gateway è stato avviato, ad esempio su un'istanza fredda la cui rete è ancora in fase di avvio | Se il gateway finisce di avviarsi, non è necessaria alcuna azione. Quando il database non è raggiungibile, il gateway tenta la connessione tre volte, due secondi di distanza, prima di uscire. Se esce con `could not connect to Postgres`, controlla `store.postgres_url` e il percorso di rete al database. Se i tentativi scadono piuttosto che essere rifiutati, aumenta [`store.connect_timeout_seconds`](/docs/it/claude-apps-gateway-config#store) per dare a ciascuno più tempo. |408| Log: `could not connect to Postgres at boot, attempt 1 of 3` | Il database non era raggiungibile quando il gateway è stato avviato, ad esempio su un'istanza fredda la cui rete è ancora in fase di avvio | Se il gateway finisce di avviarsi, non è necessaria alcuna azione. Quando il database non è raggiungibile, il gateway tenta la connessione tre volte, due secondi di distanza, prima di uscire. Se esce con `could not connect to Postgres`, controlla `store.postgres_url`, verificando anche che indichi un solo host, e il percorso di rete al database. Se i tentativi scadono piuttosto che essere rifiutati, aumenta [`store.connect_timeout_seconds`](/docs/it/claude-apps-gateway-config#store) per dare a ciascuno più tempo. |

403| `/oauth/callback` mostra "Sign-in could not be completed" | Dominio email rifiutato, convalida id\_token non riuscita, oppure `email_verified` è esplicitamente `false`, che il gateway rifiuta sempre senza override | Controlla `allowed_email_domains` e che l'IdP restituisca un'attestazione `email` verificata. Per `email_verified: false`, correggi la verifica lato IdP. Se il tuo IdP emette email con un nome di attestazione diverso, imposta `oidc.email_claim`. |409| `/oauth/callback` mostra "Sign-in could not be completed" | Dominio email rifiutato, convalida id\_token non riuscita, oppure `email_verified` è esplicitamente `false`, che il gateway rifiuta sempre senza override | Controlla `allowed_email_domains` e che l'IdP restituisca un'attestazione `email` verificata. Per `email_verified: false`, correggi la verifica lato IdP. Se il tuo IdP emette email con un nome di attestazione diverso, imposta `oidc.email_claim`. |

404| Log: `token exchange failed request_id=<id>: id_token missing email claim` | L'IdP non include `email` nell'id\_token per impostazione predefinita. Questo rifiuto si attiva solo quando `allowed_email_domains` è impostato; senza di esso, un'email mancante conia una sessione senza email | Configura l'IdP per emettere `email` nell'id\_token. Okta: aggiungi `email` alle attestazioni del token ID di un server di autorizzazione personalizzato. Entra: aggiungi `email` come attestazione facoltativa sulla registrazione dell'app. PingFederate: abilita una Politica OpenID Connect che emette `email`. Se l'IdP serve `email` dall'endpoint userinfo ma non lo includerà nell'id\_token, come il server di autorizzazione dell'organizzazione Okta, imposta `oidc.userinfo_fallback: true`. |410| Log: `token exchange failed request_id=<id>: id_token missing email claim` | L'IdP non include `email` nell'id\_token per impostazione predefinita. Questo rifiuto si attiva solo quando `allowed_email_domains` è impostato; senza di esso, un'email mancante conia una sessione senza email | Configura l'IdP per emettere `email` nell'id\_token. Okta: aggiungi `email` alle attestazioni del token ID di un server di autorizzazione personalizzato. Entra: aggiungi `email` come attestazione facoltativa sulla registrazione dell'app. PingFederate: abilita una Politica OpenID Connect che emette `email`. Se l'IdP serve `email` dall'endpoint userinfo ma non lo includerà nell'id\_token, come il server di autorizzazione dell'organizzazione Okta, imposta `oidc.userinfo_fallback: true`. |

405| Log: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, e gli sviluppatori vedono `Cloud gateway session expired` ogni `session.ttl_hours` | L'IdP ha accettato il token di aggiornamento ma non ha restituito alcun id\_token con esso, quindi il gateway ha chiesto all'endpoint userinfo dell'IdP le attestazioni dell'utente. L'IdP ha rifiutato il token di accesso aggiornato lì. Il gateway risponde `temporarily_unavailable`, quindi Claude Code mantiene il token di aggiornamento ma non può rinnovare la sessione. Le versioni del gateway precedenti a v2.1.260 registrano la stessa riga senza il dettaglio `(at …)`. | Imposta [`oidc.scope_on_refresh: true`](/docs/it/claude-apps-gateway-config#oidc), disponibile nel gateway v2.1.260 o successivo, in modo che la richiesta di aggiornamento chieda di nuovo `openid`. Alcuni IdP, come Okta, restituiscono un id\_token all'aggiornamento solo quando richiesto. Su PingFederate, abilita **Return ID Token On Refresh Grant** in **Applications > OAuth > OpenID Connect Policy Management** invece. La chiave non cambia il comportamento di PingFederate. Per altri IdP che ancora lo omettono, controlla se l'endpoint userinfo accetta token di accesso emessi da un aggiornamento. Come misura temporanea, aumenta [`session.ttl_hours`](/docs/it/claude-apps-gateway-config#session). Vedi [Identity provider setup](#identity-provider-setup) per il compromesso di deprovisioning. |411| Log: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, e gli sviluppatori vedono `Cloud gateway session expired` ogni `session.ttl_hours` | L'IdP ha accettato il token di aggiornamento ma non ha restituito alcun id\_token con esso, quindi il gateway ha chiesto all'endpoint userinfo dell'IdP le attestazioni dell'utente. L'IdP ha rifiutato il token di accesso aggiornato lì. Il gateway risponde `temporarily_unavailable`, quindi Claude Code mantiene il token di aggiornamento ma non può rinnovare la sessione. Le versioni del gateway precedenti a v2.1.260 registrano la stessa riga senza il dettaglio `(at …)`. | Imposta [`oidc.scope_on_refresh: true`](/docs/it/claude-apps-gateway-config#oidc), disponibile nel gateway v2.1.260 o successivo, in modo che la richiesta di aggiornamento chieda di nuovo `openid`. Alcuni IdP, come Okta, restituiscono un id\_token all'aggiornamento solo quando richiesto. Su PingFederate, abilita **Return ID Token On Refresh Grant** in **Applications > OAuth > OpenID Connect Policy Management** invece. La chiave non cambia il comportamento di PingFederate. Per altri IdP che ancora lo omettono, controlla se l'endpoint userinfo accetta token di accesso emessi da un aggiornamento. Come misura temporanea, aumenta [`session.ttl_hours`](/docs/it/claude-apps-gateway-config#session). Vedi [Identity provider setup](#identity-provider-setup) per il compromesso di deprovisioning. |

Details

70```70```

71 71 

72<h2 id="deploy-the-gateway">72<h2 id="deploy-the-gateway">

73 Distribuire il gateway73 Eseguire il deploy del gateway

74</h2>74</h2>

75 75 

76I passaggi seguenti eseguono il provisioning della distribuzione completa con comandi `aws`.76I passaggi seguenti eseguono il provisioning del deploy completo con comandi `aws`.

77 77 

78<Steps>78<Steps>

79 <Step title="Creare i gruppi di sicurezza">79 <Step title="Creare i gruppi di sicurezza">

80 Tre gruppi di sicurezza concatenano il percorso del traffico: la vostra rete aziendale raggiunge il load balancer sulla porta 443, il load balancer raggiunge il gateway sulla porta 8080 e il gateway raggiunge Postgres sulla porta 5432. Nient'altro è raggiungibile. Come li collegate dipende dal percorso di calcolo:80 Tre gruppi di sicurezza concatenano il percorso del traffico: la tua rete aziendale raggiunge il load balancer sulla porta 443, il load balancer raggiunge il gateway sulla porta 8080 e il gateway raggiunge Postgres sulla porta 5432. Nient'altro è raggiungibile. Il modo in cui li colleghi dipende dal percorso di calcolo:

81 81 

82 * Su ECS Fargate, il passaggio di distribuzione allega `$ALB_SG` al load balancer e `$GW_SG` al servizio.82 * Su ECS Fargate, il passaggio di deploy collega `$ALB_SG` al load balancer e `$GW_SG` al servizio.

83 * Su EKS, AWS Load Balancer Controller crea il proprio gruppo di sicurezza frontend per l'ALB, quindi `$ALB_SG` e `$GW_SG` non vengono utilizzati: l'annotazione `inbound-cidrs` del passaggio di distribuzione limita il listener alla vostra rete aziendale e il gruppo di sicurezza del database ammette il gruppo di sicurezza del cluster al posto di `$GW_SG`.83 * Su EKS, AWS Load Balancer Controller crea il proprio gruppo di sicurezza frontend per l'ALB, quindi `$ALB_SG` e `$GW_SG` non vengono utilizzati: l'annotazione `inbound-cidrs` del passaggio di deploy limita il listener alla tua rete aziendale e il gruppo di sicurezza del database ammette invece il gruppo di sicurezza del cluster.

84 84 

85 ```bash theme={null}85 ```bash theme={null}

86 ALB_SG="$(aws ec2 create-security-group --group-name claude-gateway-alb \86 ALB_SG="$(aws ec2 create-security-group --group-name claude-gateway-alb \


103 </Step>103 </Step>

104 104 

105 <Step title="Creare i ruoli IAM e inviare il modulo del caso d'uso">105 <Step title="Creare i ruoli IAM e inviare il modulo del caso d'uso">

106 Il gateway viene eseguito con un ruolo di attività dedicato la cui unica autorizzazione è invocare i modelli Claude su Bedrock. Secondo il [riferimento upstream Bedrock](/docs/it/claude-apps-gateway-config#amazon-bedrock), la politica deve coprire sia gli ARN del profilo di inferenza cross-region che gli ARN del modello di base sottostante:106 Il gateway viene eseguito con un ruolo di attività dedicato il cui unico permesso è invocare i modelli Claude su Bedrock. Secondo il [riferimento upstream Bedrock](/docs/it/claude-apps-gateway-config#amazon-bedrock), la policy deve coprire sia gli ARN dei profili di inferenza cross-region sia gli ARN dei modelli di base sottostanti:

107 107 

108 ```bash theme={null}108 ```bash theme={null}

109 cat > bedrock-invoke.json <<EOF109 cat > bedrock-invoke.json <<EOF


136 --policy-name bedrock-invoke --policy-document file://bedrock-invoke.json136 --policy-name bedrock-invoke --policy-document file://bedrock-invoke.json

137 ```137 ```

138 138 

139 ECS ha anche bisogno di un ruolo di esecuzione, che l'agente ECS stesso utilizza per estrarre l'immagine da ECR e iniettare i valori di Secrets Manager creati in seguito. È separato dal ruolo di attività che l'AWS SDK del gateway utilizza in fase di esecuzione:139 ECS ha anche bisogno di un ruolo di esecuzione, che l'agente ECS stesso utilizza per scaricare l'immagine da ECR e iniettare i valori di Secrets Manager creati in seguito. È separato dal ruolo di attività che l'AWS SDK del gateway utilizza in fase di esecuzione:

140 140 

141 ```bash theme={null}141 ```bash theme={null}

142 aws iam create-role --role-name claude-gateway-execution \142 aws iam create-role --role-name claude-gateway-execution \


161 --policy-name read-gateway-secrets --policy-document file://secrets-read.json161 --policy-name read-gateway-secrets --policy-document file://secrets-read.json

162 ```162 ```

163 163 

164 I nomi della politica specificano un ARN per segreto piuttosto che un wildcard semplice `gateway-*`, che in un account condiviso corrisponderebbe anche a segreti non correlati; il suffisso finale `-??????` corrisponde esattamente al suffisso di sei caratteri casuale che Secrets Manager aggiunge all'ARN di ogni segreto. Un `-*` finale sarebbe un glob di prefisso semplice e corrisponderebbe anche a nomi più lunghi come `gateway-postgres-url-prod`.164 La policy specifica un ARN per ogni segreto anziché un semplice wildcard `gateway-*`, che in un account condiviso corrisponderebbe anche a segreti non correlati; il suffisso finale `-??????` corrisponde esattamente al suffisso casuale di sei caratteri che Secrets Manager aggiunge all'ARN di ogni segreto. Un `-*` finale sarebbe un semplice glob di prefisso e corrisponderebbe anche a nomi più lunghi come `gateway-postgres-url-prod`.

165 165 

166 La politica IAM concede al gateway il permesso di chiamare Bedrock, e Bedrock abilita l'accesso al modello per impostazione predefinita nelle regioni commerciali. Il gate rimanente a livello di account è il modulo del caso d'uso una tantum di Anthropic: se nessuno nel vostro account lo ha inviato, aprite la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), selezionate un modello Anthropic dal catalogo dei modelli e completate il modulo. L'accesso viene concesso immediatamente dopo l'invio; consultate [Claude Code su Amazon Bedrock](/docs/it/amazon-bedrock#1-submit-use-case-details) per il modulo AWS Organizations e i permessi IAM di cui il mittente ha bisogno.166 La policy IAM concede al gateway il permesso di chiamare Bedrock, e Bedrock abilita l'accesso ai modelli per impostazione predefinita nelle regioni commerciali. Il vincolo rimanente a livello di account è il modulo del caso d'uso una tantum di Anthropic: se nessuno nel tuo account lo ha inviato, apri la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), seleziona un modello Anthropic dal catalogo dei modelli e compila il modulo. L'accesso viene concesso immediatamente dopo l'invio; consulta [Claude Code su Amazon Bedrock](/docs/it/amazon-bedrock#1-submit-use-case-details) per il modulo AWS Organizations e i permessi IAM di cui ha bisogno chi lo invia.

167 167 

168 Il percorso EKS riutilizza entrambi i documenti della politica su un ruolo IRSA al posto dei due ruoli ECS; consultate il passaggio di distribuzione.168 Il percorso EKS riutilizza entrambi i documenti di policy su un ruolo IRSA al posto dei due ruoli ECS; consulta il passaggio di deploy.

169 </Step>169 </Step>

170 170 

171 <Step title="Eseguire il provisioning di Amazon RDS per PostgreSQL">171 <Step title="Eseguire il provisioning di Amazon RDS per PostgreSQL">

172 L'istanza viene eseguita nelle subnet private senza indirizzo pubblico e con crittografia dell'archiviazione attivata. La versione del motore è fissata a Postgres 16, che soddisfa il limite supportato del gateway di PostgreSQL 14 e garantisce che la famiglia del gruppo di parametri sottostante corrisponda all'istanza.172 L'istanza esegue Postgres 16 nelle subnet private, senza indirizzo pubblico e con la crittografia dell'archiviazione attivata.

173 173 

174 Per prima cosa, create il gruppo di subnet che posiziona il database nelle subnet private e un gruppo di parametri con `rds.force_ssl=1` in modo che il server rifiuti le connessioni in testo semplice. La versione del motore è fissata una volta perché la famiglia del gruppo di parametri deve corrispondere alla versione principale del motore che l'istanza esegue:174 Per prima cosa, crea il gruppo di subnet che colloca il database nelle subnet private e un gruppo di parametri con `rds.force_ssl=1` in modo che il server rifiuti le connessioni in testo semplice. La versione del motore viene fissata una sola volta perché la famiglia del gruppo di parametri deve corrispondere alla versione principale del motore eseguita dall'istanza:

175 175 

176 ```bash theme={null}176 ```bash theme={null}

177 aws rds create-db-subnet-group --db-subnet-group-name claude-gateway-db \177 aws rds create-db-subnet-group --db-subnet-group-name claude-gateway-db \


186 --parameters "ParameterName=rds.force_ssl,ParameterValue=1,ApplyMethod=immediate"186 --parameters "ParameterName=rds.force_ssl,ParameterValue=1,ApplyMethod=immediate"

187 ```187 ```

188 188 

189 Quindi create l'istanza con una password principale generata:189 Quindi crea l'istanza con una password principale generata:

190 190 

191 ```bash theme={null}191 ```bash theme={null}

192 PGPASS="$(openssl rand -hex 24)"192 PGPASS="$(openssl rand -hex 24)"


201 --no-publicly-accessible --storage-encrypted201 --no-publicly-accessible --storage-encrypted

202 ```202 ```

203 203 

204 L'argomento letterale `--master-user-password` è visibile nella tabella dei processi e nei log di audit/EDR mentre il comando viene eseguito, la stessa esposizione che la nota del passaggio dei segreti copre. Su un host condiviso o monitorato, passate la password tramite `--cli-input-json` da un file `0600` al posto, il modo in cui `setup.sh` del bundle lo fa.204 L'argomento letterale `--master-user-password` è visibile nella tabella dei processi e nei log di audit/EDR mentre il comando è in esecuzione, la stessa esposizione trattata nella nota del passaggio dei segreti. Su un host condiviso o monitorato, passa invece la password tramite `--cli-input-json` da un file `0600`, come fa il `setup.sh` del bundle.

205 205 

206 Attendete che l'istanza si avvii, il che può richiedere diversi minuti, quindi leggete il suo endpoint privato e assemblate la stringa di connessione che il gateway utilizzerà:206 Attendi che l'istanza sia disponibile, il che può richiedere diversi minuti, quindi leggi il suo endpoint privato e componi la stringa di connessione che il gateway utilizzerà:

207 207 

208 ```bash theme={null}208 ```bash theme={null}

209 aws rds wait db-instance-available --db-instance-identifier claude-gateway-db209 aws rds wait db-instance-available --db-instance-identifier claude-gateway-db


212 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${DB_HOST}:5432/claude_gateway?sslmode=verify-full"212 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${DB_HOST}:5432/claude_gateway?sslmode=verify-full"

213 ```213 ```

214 214 

215 `sslmode=verify-full` fa sì che il gateway verifichi la catena del certificato del server RDS e il nome host, non solo crittografare. L'ancora di fiducia è il [bundle di certificati AWS RDS](https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem), che il passaggio di compilazione dell'immagine sottostante copia in `/etc/claude/rds-global-bundle.pem` e affida tramite `NODE_EXTRA_CA_CERTS`. Non aggiungete un parametro `sslrootcert=` in stile libpq all'URL: il driver del gateway legge solo `sslmode` dalla stringa di query e inoltrerebbe `sslrootcert` a Postgres come parametro di avvio, che il server rifiuta.215 `sslmode=verify-full` fa sì che il gateway verifichi la catena e il nome host del certificato del server RDS, e non si limiti a crittografare. L'ancora di fiducia è il [bundle di certificati AWS RDS](https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem), che il passaggio di build dell'immagine più avanti copia in `/etc/claude/rds-global-bundle.pem` e considera attendibile tramite `NODE_EXTRA_CA_CERTS`. Non aggiungere all'URL un parametro `sslrootcert=` in stile libpq: il driver del gateway legge solo `sslmode` dalla stringa di query e inoltrerebbe `sslrootcert` a Postgres come parametro di avvio, che il server rifiuta.

216 216 

217 Il servizio ECS o i pod EKS devono essere eseguiti in questo VPC in modo che possano raggiungere l'endpoint privato dell'istanza, e il gruppo di sicurezza `claude-gateway-db` ammette solo il gruppo di sicurezza del gateway.217 Il servizio ECS o i pod EKS devono essere eseguiti in questo VPC per poter raggiungere l'endpoint privato dell'istanza, e il gruppo di sicurezza `claude-gateway-db` ammette solo il gruppo di sicurezza del gateway.

218 </Step>218 </Step>

219 219 

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

221 Il blocco `upstreams` punta a Bedrock con `auth: {}`, quindi il gateway si autentica tramite la catena di credenziali predefinita di AWS dal ruolo di attività su ECS o dal ruolo IRSA su EKS. Consultate il [riferimento di configurazione](/docs/it/claude-apps-gateway-config) per ogni campo.221 Il blocco `upstreams` punta a Bedrock con `auth: {}`, quindi il gateway si autentica tramite la catena di credenziali predefinita di AWS, dal ruolo di attività su ECS o dal ruolo IRSA su EKS. Consulta il [riferimento di configurazione](/docs/it/claude-apps-gateway-config) per ogni campo.

222 222 

223 Due campi `listen` descrivono cosa sta davanti al gateway:223 Due campi `listen` descrivono ciò che sta davanti al gateway:

224 224 

225 * `public_url`: l'origine esterna `https://`, obbligatoria per qualsiasi bind non-loopback; consultate il [riferimento `listen`](/docs/it/claude-apps-gateway-config#listen). Il gateway costruisce l'`redirect_uri` dell'IdP e il suo documento di scoperta solo da questo valore, mai da intestazioni `X-Forwarded-*`.225 * `public_url`: l'origine esterna `https://`, obbligatoria per qualsiasi bind non di loopback; consulta il [riferimento `listen`](/docs/it/claude-apps-gateway-config#listen). Il gateway costruisce il `redirect_uri` dell'IdP e il proprio documento di discovery solo da questo valore, mai dalle intestazioni `X-Forwarded-*`.

226 * `trusted_proxies`: gli intervalli di origine del front end. Il gateway onora `X-Forwarded-For` solo quando il peer TCP è in questo elenco, quindi cammina nella 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 al posto di quello del load balancer.226 * `trusted_proxies`: gli intervalli di origine del front end. Il gateway considera `X-Forwarded-For` solo quando il peer TCP è in questo elenco, quindi percorre la catena oltre gli hop attendibili, in modo che i rate limit di accesso per IP e gli eventi di audit registrino gli IP degli sviluppatori anziché quelli del load balancer.

227 227 

228 Su entrambi i percorsi il front end è un ALB interno, creato direttamente o da AWS Load Balancer Controller, e i nodi di un ALB prendono indirizzi dalle subnet a cui è collegato, quindi impostate `trusted_proxies` ai CIDR di quelle subnet. Questo affida ogni host in quelle subnet come proxy. Evitate che l'origine di ingresso dell'ALB, il vostro CIDR aziendale, si sovrapponga ad essi, e non condividete le subnet con carichi di lavoro non affidabili che potrebbero falsificare gli IP dei client tramite `X-Forwarded-For`.228 Su entrambi i percorsi il front end è un ALB interno, creato direttamente o da AWS Load Balancer Controller, e i nodi di un ALB prendono gli indirizzi dalle subnet a cui è collegato, quindi imposta `trusted_proxies` sui CIDR di quelle subnet. In questo modo ogni host in quelle subnet viene considerato un proxy attendibile. Evita che l'origine di ingresso dell'ALB, il tuo CIDR aziendale, si sovrapponga a esse, e non condividere le subnet con carichi di lavoro non attendibili che potrebbero falsificare gli IP dei client tramite `X-Forwarded-For`.

229 229 

230 L'attributo di conservazione del client port dell'ALB, `routing.http.xff_client_port.enabled`, può rimanere a entrambe le impostazioni: con esso attivato, l'ALB scrive il client come `203.0.113.7:54321` o `[2001:db8::1]:54321`, e il gateway legge entrambi con la porta eliminata.230 L'attributo di conservazione della porta del client dell'ALB, `routing.http.xff_client_port.enabled`, può restare su entrambe le impostazioni: se è attivo, l'ALB scrive il client come `203.0.113.7:54321` o `[2001:db8::1]:54321`, e il gateway legge entrambi i formati scartando la porta.

231 231 

232 ```yaml gateway.yaml theme={null}232 ```yaml gateway.yaml theme={null}

233 listen:233 listen:


241 client_id: 0oa1example2241 client_id: 0oa1example2

242 client_secret: ${OIDC_CLIENT_SECRET} # EKS: ${file:/secrets/oidc-client-secret}242 client_secret: ${OIDC_CLIENT_SECRET} # EKS: ${file:/secrets/oidc-client-secret}

243 allowed_email_domains: [example.com]243 allowed_email_domains: [example.com]

244 # Il server di autorizzazione dell'organizzazione Okta restituisce un id_token sottile che omette244 # Il server di autorizzazione dell'organizzazione Okta restituisce un id_token ridotto che omette

245 # email e gruppi; il gateway li riempie da /userinfo.245 # email e gruppi; il gateway li ricava da /userinfo.

246 userinfo_fallback: true246 userinfo_fallback: true

247 # Okta emette gruppi solo quando viene richiesto lo scope `groups` e il247 # Okta emette i gruppi solo quando viene richiesto lo scope `groups` e il

248 # filtro della rivendicazione dei gruppi dell'app lo consente.248 # filtro del claim dei gruppi dell'app li consente.

249 scopes: [openid, profile, email, offline_access, groups]249 scopes: [openid, profile, email, offline_access, groups]

250 250 

251 session:251 session:

252 jwt_secret: ${GATEWAY_JWT_SECRET} # EKS: ${file:/secrets/jwt-secret}252 jwt_secret: ${GATEWAY_JWT_SECRET} # EKS: ${file:/secrets/jwt-secret}

253 ttl_hours: 8 # limita la latenza di deprovisioning; abbassate253 ttl_hours: 8 # limita la latenza di deprovisioning; abbassa

254 # verso 1 per una revoca più stretta254 # verso 1 per una revoca più rapida

255 255 

256 store:256 store:

257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}

258 # readiness_grace_seconds: 300 # mantieni il passaggio del controllo di stato258 # readiness_grace_seconds: 300 # continua a superare il controllo di stato

259 # attraverso un failover RDS259 # durante un failover RDS

260 260 

261 upstreams:261 upstreams:

262 - provider: bedrock262 - provider: bedrock

263 region: <your-region> # corrispondere a $AWS_REGION in modo che gli ARN della politica IAM263 region: <your-region> # uguale a $AWS_REGION affinché gli ARN della

264 # lo coprano264 # policy IAM la coprano

265 auth: {} # catena di credenziali predefinita di AWS:265 auth: {} # catena di credenziali predefinita di AWS:

266 # ruolo di attività ECS, o IRSA su EKS266 # ruolo di attività ECS, o IRSA su EKS

267 ```267 ```

268 268 

269 <Note>269 <Note>

270 Solo il blocco `oidc` è specifico di Okta. Per utilizzare Microsoft Entra ID al posto, impostate `issuer` su `https://login.microsoftonline.com/<tenant-id>/v2.0`, eliminate `userinfo_fallback` e lo scope `groups`, e notate che Entra emette Object ID dei gruppi piuttosto che nomi, quindi [`managed.policies`](/docs/it/claude-apps-gateway-config#managed) deve corrispondere ai GUID, o su App Roles con `oidc.groups_claim: roles`. Consultate [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup).270 Solo il blocco `oidc` è specifico di Okta. Per utilizzare invece Microsoft Entra ID, imposta `issuer` su `https://login.microsoftonline.com/<tenant-id>/v2.0`, rimuovi `userinfo_fallback` e lo scope `groups`, e tieni presente che Entra emette gli Object ID dei gruppi anziché i nomi, quindi [`managed.policies`](/docs/it/claude-apps-gateway-config#managed) deve corrispondere ai GUID, oppure agli App Roles con `oidc.groups_claim: roles`. Consulta [Configurazione del provider di identità](/docs/it/claude-apps-gateway-deploy#identity-provider-setup).

271 </Note>271 </Note>

272 </Step>272 </Step>

273 273 

274 <Step title="Archiviare i segreti in AWS Secrets Manager">274 <Step title="Archiviare i segreti in AWS Secrets Manager">

275 Create tre segreti; il ruolo di esecuzione dal passaggio IAM può già leggerli:275 Crea tre segreti; il ruolo di esecuzione del passaggio IAM può già leggerli:

276 276 

277 ```bash theme={null}277 ```bash theme={null}

278 aws secretsmanager create-secret --name gateway-jwt-secret \278 aws secretsmanager create-secret --name gateway-jwt-secret \


283 --secret-string "$GATEWAY_POSTGRES_URL"283 --secret-string "$GATEWAY_POSTGRES_URL"

284 ```284 ```

285 285 

286 Notate l'ARN che ogni chiamata stampa; la definizione di attività ECS fa riferimento ai segreti per ARN.286 Annota l'ARN stampato da ogni chiamata; la definizione di attività ECS fa riferimento ai segreti tramite ARN.

287 287 

288 <Note>288 <Note>

289 Gli argomenti letterali `--secret-string` sono visibili nella tabella dei processi e nei log di audit/EDR mentre ogni comando viene eseguito. Su un host condiviso o monitorato, mettete il valore in un file `0600` e passate `--secret-string file://<path>` al posto. `setup.sh` del bundle mantiene i valori dei segreti fuori da argv del processo allo stesso modo, passando file temporanei `0600` a `--cli-input-json`.289 Gli argomenti letterali `--secret-string` sono visibili nella tabella dei processi e nei log di audit/EDR mentre ogni comando è in esecuzione. Su un host condiviso o monitorato, inserisci invece il valore in un file `0600` e passa `--secret-string file://<path>`. Il `setup.sh` del bundle tiene allo stesso modo i valori dei segreti fuori dagli argv dei processi, passando file temporanei `0600` a `--cli-input-json`.

290 </Note>290 </Note>

291 291 

292 A differenza dei segreti, `gateway.yaml` stesso non contiene valori segreti, perché ogni credenziale si risolve all'avvio tramite l'espansione [`${VAR}` o `${file:...}`](/docs/it/claude-apps-gateway-config#secret-expansion). Come tutto raggiunge il contenitore differisce per percorso:292 A differenza dei segreti, `gateway.yaml` non contiene valori segreti, perché ogni credenziale viene risolta all'avvio tramite l'[espansione `${VAR}` o `${file:...}`](/docs/it/claude-apps-gateway-config#secret-expansion). Il modo in cui tutto arriva al container varia in base al percorso:

293 293 

294 * Su ECS, il passaggio di compilazione successivo copia `gateway.yaml` nell'immagine a `/etc/claude/gateway.yaml`, e la definizione di attività inietta i tre segreti come variabili di ambiente tramite il suo campo `secrets`, quindi lo YAML fa riferimento a `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` e `${GATEWAY_POSTGRES_URL}`.294 * Su ECS, la build del passaggio successivo copia `gateway.yaml` nell'immagine in `/etc/claude/gateway.yaml`, e la definizione di attività inietta i tre segreti come variabili d'ambiente tramite il suo campo `secrets`, quindi lo YAML fa riferimento a `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` e `${GATEWAY_POSTGRES_URL}`.

295 * Su EKS, montate `gateway.yaml` da una ConfigMap e i segreti come file a `/secrets`, referenziati come `${file:/secrets/...}`. Originare i Kubernetes Secrets da Secrets Manager con External Secrets Operator o il provider AWS del driver CSI Secrets Store, o crearli direttamente con `kubectl`.295 * Su EKS, monta `gateway.yaml` da una ConfigMap e i segreti come file in `/secrets`, referenziati come `${file:/secrets/...}`. Ricava i Kubernetes Secrets da Secrets Manager con External Secrets Operator o con il provider AWS del driver CSI Secrets Store, oppure creali direttamente con `kubectl`.

296 </Step>296 </Step>

297 297 

298 <Step title="Compilare e spingere l'immagine ad Amazon ECR">298 <Step title="Eseguire la build e il push dell'immagine su Amazon ECR">

299 Compilate l'immagine secondo i [requisiti dell'immagine del contenitore](/docs/it/claude-apps-gateway-deploy#container-image), posizionando il binario glibc `linux-x64` a `./claude` nel contesto di compilazione. Scrivete il vostro Dockerfile secondo questi requisiti o iniziate dal [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/examples/gateway/aws/Dockerfile) del bundle, che copia il `gateway.yaml` compilato dai passaggi precedenti nell'immagine a `/etc/claude/gateway.yaml`. Su ECS quella copia incorporata è come la configurazione raggiunge il contenitore, motivo per cui la compilazione viene dopo che il file è stato scritto. Il percorso EKS al posto monta `gateway.yaml` da una ConfigMap al momento della distribuzione, quindi la copia incorporata non viene utilizzata lì.299 Esegui la build dell'immagine secondo i [requisiti dell'immagine del container](/docs/it/claude-apps-gateway-deploy#container-image), posizionando il binario glibc `linux-x64` in `./claude` nel contesto di build. Scrivi il tuo Dockerfile secondo questi requisiti oppure parti dal [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/examples/gateway/aws/Dockerfile) del bundle, che copia il `gateway.yaml` compilato nei passaggi precedenti nell'immagine in `/etc/claude/gateway.yaml`. Su ECS è questa copia incorporata a portare la configurazione nel container, ed è per questo che la build viene dopo la scrittura del file. Il percorso EKS monta invece `gateway.yaml` da una ConfigMap al momento del deploy, quindi lì la copia incorporata non viene utilizzata.

300 300 

301 L'immagine porta anche il bundle di certificati AWS RDS come ancora di fiducia per la stringa di connessione `sslmode=verify-full`, quindi scaricatelo nel contesto di compilazione per primo. AWS ruota il bundle (nuove CA regionali vengono aggiunte), quindi scaricatelo per compilazione piuttosto che fissare un checksum o impegnarlo:301 L'immagine contiene anche il bundle di certificati AWS RDS come ancora di fiducia per il `sslmode=verify-full` della stringa di connessione, quindi scaricalo prima nel contesto di build. AWS aggiorna periodicamente il bundle (vengono aggiunte nuove CA regionali), quindi scaricalo a ogni build anziché fissarne un checksum o eseguirne il commit:

302 302 

303 ```bash theme={null}303 ```bash theme={null}

304 curl -fL --proto '=https' -o rds-global-bundle.pem \304 curl -fL --proto '=https' -o rds-global-bundle.pem \

305 https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem305 https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem

306 ```306 ```

307 307 

308 I requisiti dell'immagine del contenitore non coprono il bundle, quindi se scrivete il vostro Dockerfile, aggiungete le due righe che lo copiano e lo affidano; il `Dockerfile` del bundle include già entrambi:308 I requisiti dell'immagine del container non coprono il bundle, quindi se scrivi il tuo Dockerfile, aggiungi le due righe che lo copiano e lo rendono attendibile; il `Dockerfile` del bundle le include già entrambe:

309 309 

310 ```dockerfile theme={null}310 ```dockerfile theme={null}

311 COPY rds-global-bundle.pem /etc/claude/rds-global-bundle.pem311 COPY rds-global-bundle.pem /etc/claude/rds-global-bundle.pem

312 ENV NODE_EXTRA_CA_CERTS=/etc/claude/rds-global-bundle.pem312 ENV NODE_EXTRA_CA_CERTS=/etc/claude/rds-global-bundle.pem

313 ```313 ```

314 314 

315 Create il repository ECR e accedete Docker ad esso. I tag immutabili significano che il tag `<version>` che il passaggio di distribuzione fissa non può essere successivamente reindirizzato silenziosamente a un'immagine diversa:315 Crea il repository ECR ed esegui l'accesso di Docker a esso. I tag immutabili fanno sì che il tag `<version>` fissato nel passaggio di deploy non possa essere in seguito reindirizzato silenziosamente a un'immagine diversa:

316 316 

317 ```bash theme={null}317 ```bash theme={null}

318 aws ecr create-repository --repository-name claude-gateway \318 aws ecr create-repository --repository-name claude-gateway \


323 "${ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com"323 "${ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com"

324 ```324 ```

325 325 

326 Compilate e spingete l'immagine. La definizione di attività sottostante esegue `linux/amd64`, quindi la piattaforma deve corrispondere qui; per Fargate su ARM64 (Graviton), compilate `linux/arm64` con il binario `linux-arm64` e impostate `cpuArchitecture` su `ARM64` al posto:326 Esegui la build e il push dell'immagine. La definizione di attività più avanti esegue `linux/amd64`, quindi la piattaforma deve corrispondere qui; per Fargate su ARM64 (Graviton), esegui invece la build per `linux/arm64` con il binario `linux-arm64` e imposta `cpuArchitecture` su `ARM64`:

327 327 

328 ```bash theme={null}328 ```bash theme={null}

329 docker build --platform=linux/amd64 \329 docker build --platform=linux/amd64 \


332 ```332 ```

333 </Step>333 </Step>

334 334 

335 <Step title="Distribuire">335 <Step title="Eseguire il deploy">

336 <Tabs>336 <Tabs>

337 <Tab title="ECS Fargate">337 <Tab title="ECS Fargate">

338 Create il cluster e un gruppo di log per stderr del gateway, che porta sia i suoi eventi di audit che i log operazionali. La conservazione è una chiamata separata, e senza una CloudWatch mantiene i log per sempre; allineate i 90 giorni con la vostra politica di conservazione dell'audit:338 Crea il cluster e un gruppo di log per lo stderr del gateway, che contiene sia gli eventi di audit sia i log operativi. La conservazione richiede una chiamata separata, e senza di essa CloudWatch conserva i log per sempre; allinea i 90 giorni alla tua policy di conservazione dell'audit:

339 339 

340 ```bash theme={null}340 ```bash theme={null}

341 aws ecs create-cluster --cluster-name claude-gateway341 aws ecs create-cluster --cluster-name claude-gateway


344 --retention-in-days 90344 --retention-in-days 90

345 ```345 ```

346 346 

347 Scrivete la definizione di attività. Il ruolo di attività porta il permesso Bedrock e il ruolo di esecuzione inietta i segreti; utilizzate gli ARN dei segreti dal passaggio Secrets Manager:347 Scrivi la definizione di attività. Il ruolo di attività ha il permesso per Bedrock e il ruolo di esecuzione inietta i segreti; usa gli ARN dei segreti del passaggio Secrets Manager:

348 348 

349 ```json claude-gateway-task.json theme={null}349 ```json claude-gateway-task.json theme={null}

350 {350 {


379 }379 }

380 ```380 ```

381 381 

382 Registratela:382 Registrala:

383 383 

384 ```bash theme={null}384 ```bash theme={null}

385 aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json385 aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json

386 ```386 ```

387 387 

388 Mettete un ALB interno davanti con un gruppo di destinazione che verifica lo stato del gateway. `--ip-address-type ipv4` è importante: un ALB interno dual-stack pubblica record AAAA di intervallo pubblico, che il controllo della rete privata `/login` rifiuta:388 Metti davanti un ALB interno con un gruppo di destinazione che verifica lo stato del gateway. `--ip-address-type ipv4` è importante: un ALB interno dual-stack pubblica record AAAA di intervallo pubblico, che il controllo della rete privata di `/login` rifiuta:

389 389 

390 ```bash theme={null}390 ```bash theme={null}

391 ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \391 ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \


399 --query 'TargetGroups[0].TargetGroupArn' --output text)"399 --query 'TargetGroups[0].TargetGroupArn' --output text)"

400 ```400 ```

401 401 

402 Aggiungete il listener HTTPS. `--ssl-policy` fissa un limite TLS moderno, poiché ometterlo ricade nella politica predefinita legacy `ELBSecurityPolicy-2016-08`, che ancora accetta TLS 1.0/1.1.402 Aggiungi il listener HTTPS. `--ssl-policy` fissa un livello minimo di TLS moderno, poiché ometterlo fa ricadere sulla policy predefinita legacy `ELBSecurityPolicy-2016-08`, che accetta ancora TLS 1.0/1.1.

403 403 

404 L'ALB chiude una connessione dopo 60 secondi senza dati per impostazione predefinita. I ping di keepalive del gateway mantengono i flussi entro quel default, quindi aumentare il timeout aggiunge margine sopra la cadenza del ping; la riga [Troubleshooting](#troubleshooting) sui flussi interrotti copre il meccanismo e i gateway più vecchi. I comandi sottostanti aggiungono il listener e aumentano il timeout:404 Per impostazione predefinita, l'ALB chiude una connessione dopo 60 secondi senza dati. I ping di keepalive del gateway mantengono i flussi entro questo valore predefinito, quindi aumentare il timeout aggiunge margine rispetto alla cadenza dei ping; la riga di [Risoluzione dei problemi](#troubleshooting) sui flussi interrotti descrive il meccanismo e i gateway meno recenti. I comandi seguenti aggiungono il listener e aumentano il timeout:

405 405 

406 ```bash theme={null}406 ```bash theme={null}

407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \


414 --attributes Key=idle_timeout.timeout_seconds,Value=3600414 --attributes Key=idle_timeout.timeout_seconds,Value=3600

415 ```415 ```

416 416 

417 Create il servizio. Il circuito di distribuzione del deployment fa rotolare una distribuzione le cui attività continuano a fallire, da un'immagine cattiva o una configurazione non avviabile, indietro allo stato stabile precedente al posto di rilanciare attività fallite per sempre:417 Crea il servizio. Il circuit breaker del deploy riporta all'ultimo stato stabile un deploy le cui attività continuano a fallire, a causa di un'immagine difettosa o di una configurazione che non si avvia, anziché rilanciare all'infinito attività che falliscono:

418 418 

419 ```bash theme={null}419 ```bash theme={null}

420 aws ecs create-service --cluster claude-gateway --service-name claude-gateway \420 aws ecs create-service --cluster claude-gateway --service-name claude-gateway \


425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

426 ```426 ```

427 427 

428 Il periodo di grazia di 60 secondi dà a un'attività fredda il tempo di estrarre l'immagine, connettersi allo store e rispondere al suo primo controllo di stato prima che ECS inizi a contare i fallimenti rispetto alla distribuzione. Il controllo di stato del gruppo di destinazione su `GET /readyz` verifica che lo store sia raggiungibile, quindi un'attività che non può raggiungere Postgres non entra mai in rotazione. Per mantenere le attività che passano il controllo attraverso una breve interruzione del database come un failover RDS, impostate `store.readiness_grace_seconds` come descritto in [Comportamento di interruzione](/docs/it/claude-apps-gateway-deploy#outage-behavior), che copre anche l'alternativa `/healthz`.428 Il periodo di tolleranza di 60 secondi dà a un'attività avviata a freddo il tempo di scaricare l'immagine, connettersi allo store e rispondere al primo controllo di stato prima che ECS inizi a contare i fallimenti a carico del deploy.

429 429 

430 Le attività vengono eseguite in subnet private senza IP pubblico, quindi tutto l'egresso (verso Bedrock, il vostro IdP, Secrets Manager, ECR e CloudWatch Logs) passa attraverso il gateway NAT. Per mantenere il traffico Bedrock fuori dal percorso pubblico, create un endpoint VPC dell'interfaccia `bedrock-runtime` e puntate l'`base_url` dell'upstream ad esso, come mostrato nel [riferimento upstream Bedrock](/docs/it/claude-apps-gateway-config#amazon-bedrock); l'IdP ha ancora bisogno di uscita a Internet.430 Il controllo di stato del gruppo di destinazione su `GET /readyz` verifica che lo store sia raggiungibile, quindi un'attività che non riesce a raggiungere Postgres non entra mai in rotazione. Per far sì che le attività continuino a superare il controllo durante una breve interruzione del database, come un failover RDS, imposta `store.readiness_grace_seconds` come descritto in [Comportamento in caso di interruzione](/docs/it/claude-apps-gateway-deploy#outage-behavior), che tratta anche l'alternativa `/healthz`.

431 431 

432 Finite dando agli sviluppatori un nome host risolvibile privatamente: in una zona ospitata privata Route 53, alias il nome DNS interno del gateway all'ALB, e impostate `listen.public_url` a quel nome host. Il nome `*.elb.amazonaws.com` dell'ALB stesso si risolve in indirizzi privati su un ALB interno, ma non può portare il vostro certificato ACM, quindi utilizzate il vostro nome.432 Le attività vengono eseguite in subnet private senza IP pubblico, quindi tutto il traffico in uscita (verso Bedrock, il tuo IdP, Secrets Manager, ECR e CloudWatch Logs) passa attraverso il gateway NAT. Per tenere il traffico Bedrock fuori dal percorso pubblico, crea un endpoint VPC di interfaccia `bedrock-runtime` e punta il `base_url` dell'upstream a esso, come mostrato nel [riferimento upstream Bedrock](/docs/it/claude-apps-gateway-config#amazon-bedrock); l'IdP ha comunque bisogno di uscita verso Internet.

433 433 

434 Aggiornate l'URI di reindirizzamento autorizzato del client OAuth a `<public_url>/oauth/callback` prima del primo accesso. Dopo aver cambiato `public_url`, ricompilate e spingete l'immagine sotto un nuovo tag, registrate una nuova revisione della definizione di attività e ridistribuite. Su ECS l'impostazione vive nel `gateway.yaml` incorporato dell'immagine, e il gateway costruisce la sua origine pubblica solo da quell'impostazione, ignorando `X-Forwarded-Host` e `X-Forwarded-Proto`. `X-Forwarded-For` è onorato per gli IP dei client solo quando `listen.trusted_proxies` è impostato.434 Per finire, fornisci agli sviluppatori un nome host risolvibile privatamente: in una zona ospitata privata di Route 53, crea un alias dal nome DNS interno del gateway all'ALB e imposta `listen.public_url` su quel nome host. Il nome `*.elb.amazonaws.com` dell'ALB si risolve in indirizzi privati su un ALB interno, ma non può usare il tuo certificato ACM, quindi usa un nome tuo.

435 

436 Aggiorna l'URI di reindirizzamento autorizzato del client OAuth a `<public_url>/oauth/callback` prima del primo accesso. Dopo aver modificato `public_url`, esegui di nuovo la build e il push dell'immagine con un nuovo tag, registra una nuova revisione della definizione di attività ed esegui di nuovo il deploy. Su ECS l'impostazione si trova nel `gateway.yaml` incorporato nell'immagine, e il gateway costruisce la propria origine pubblica solo da quell'impostazione, ignorando `X-Forwarded-Host` e `X-Forwarded-Proto`. `X-Forwarded-For` viene considerato per gli IP dei client solo quando `listen.trusted_proxies` è impostato.

435 </Tab>437 </Tab>

436 438 

437 <Tab title="EKS">439 <Tab title="EKS">

438 Questo percorso ha bisogno di `kubectl` e `eksctl` installati localmente, e di un cluster EKS esistente con un provider OIDC IAM e AWS Load Balancer Controller installato. Il cluster deve essere su `$VPC_ID` in modo che i pod possano raggiungere l'endpoint privato RDS, e il gruppo di sicurezza `claude-gateway-db` deve ammettere il gruppo di sicurezza del pod o del nodo del cluster al posto di `$GW_SG`.440 Questo percorso richiede `kubectl` ed `eksctl` installati localmente e un cluster EKS esistente con un provider OIDC IAM e AWS Load Balancer Controller installato. Il cluster deve trovarsi su `$VPC_ID` affinché i pod possano raggiungere l'endpoint privato RDS, e il gruppo di sicurezza `claude-gateway-db` deve ammettere il gruppo di sicurezza dei pod o dei nodi del cluster al posto di `$GW_SG`.

439 441 

440 Su EKS il gateway ottiene le sue credenziali Bedrock tramite IRSA piuttosto che i ruoli ECS. La politica di fiducia `ecs-tasks.amazonaws.com` dal passaggio IAM non si applica qui; IRSA ha bisogno di un ruolo la cui politica di fiducia si federi sul provider OIDC del cluster, scoped a `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` crea quel ruolo, allega le politiche e annota l'account di servizio Kubernetes con l'ARN del ruolo in un passaggio. Trasformate i due documenti della politica dal passaggio IAM in politiche gestite che può allegare:442 Su EKS il gateway ottiene le credenziali Bedrock tramite IRSA anziché tramite i ruoli ECS. La policy di attendibilità `ecs-tasks.amazonaws.com` del passaggio IAM non si applica qui; IRSA ha bisogno di un ruolo la cui policy di attendibilità sia federata sul provider OIDC del cluster, limitata a `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` crea quel ruolo, collega le policy e annota l'account di servizio Kubernetes con l'ARN del ruolo in un unico passaggio. Trasforma i due documenti di policy del passaggio IAM in policy gestite che il comando può collegare:

441 443 

442 ```bash theme={null}444 ```bash theme={null}

443 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \445 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \


453 --approve455 --approve

454 ```456 ```

455 457 

456 La politica dei segreti è necessaria solo quando i pod leggono Secrets Manager stessi, come fa il provider AWS del driver CSI Secrets Store utilizzando l'account di servizio del pod di montaggio; eliminatela se create i Kubernetes Secrets in un altro modo. Il provider ha bisogno di entrambe le azioni della politica: chiama `DescribeSecret` quando riconcilia i segreti ruotati, quindi una concessione `GetSecretValue`-only monta sulla prima distribuzione ma smette di raccogliere rotazioni.458 La policy dei segreti è necessaria solo quando i pod leggono direttamente Secrets Manager, come fa il provider AWS del driver CSI Secrets Store usando l'account di servizio del pod che esegue il montaggio; rimuovila se crei i Kubernetes Secrets in un altro modo. Il provider ha bisogno di entrambe le azioni della policy: chiama `DescribeSecret` quando riconcilia i segreti ruotati, quindi una concessione limitata a `GetSecretValue` esegue il montaggio al primo deploy ma smette di recepire le rotazioni.

457 459 

458 Distribuite il gateway come Deployment standard più un Service e un Ingress, come descritto in [Distribuzione Kubernetes](/docs/it/claude-apps-gateway-deploy#kubernetes), con:460 Esegui il deploy del gateway come Deployment standard più un Service e un Ingress, come descritto in [Deploy su Kubernetes](/docs/it/claude-apps-gateway-deploy#kubernetes), con:

459 461 

460 * `serviceAccountName: gateway`462 * `serviceAccountName: gateway`

461 * `gateway.yaml` montato da una ConfigMap e i segreti montati a `/secrets`463 * `gateway.yaml` montato da una ConfigMap e i segreti montati in `/secrets`

462 * il probe di prontezza puntato a `GET /readyz`464 * il readiness probe puntato a `GET /readyz`

463 465 

464 Per il front end, un Ingress gestito da AWS Load Balancer Controller esegue il provisioning dell'ALB interno. Annotatelo con:466 Per il front end, un Ingress gestito da AWS Load Balancer Controller esegue il provisioning dell'ALB interno. Annotalo con:

465 467 

466 * `alb.ingress.kubernetes.io/scheme: internal` e `alb.ingress.kubernetes.io/target-type: ip`468 * `alb.ingress.kubernetes.io/scheme: internal` e `alb.ingress.kubernetes.io/target-type: ip`

467 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, in modo che nessun record AAAA di intervallo pubblico venga pubblicato per il controllo della rete privata `/login` [private-network check](/docs/it/claude-apps-gateway#prerequisites) da rifiutare469 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, in modo che non vengano pubblicati record AAAA di intervallo pubblico che il [controllo della rete privata](/docs/it/claude-apps-gateway#prerequisites) di `/login` rifiuterebbe

468 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, in modo che il gruppo di sicurezza gestito dal controller ammetta solo la vostra rete aziendale al posto del suo default `0.0.0.0/0`470 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, in modo che il gruppo di sicurezza frontend gestito dal controller ammetta solo la tua rete aziendale al posto del suo valore predefinito `0.0.0.0/0`

469 * `alb.ingress.kubernetes.io/certificate-arn` con il certificato ACM471 * `alb.ingress.kubernetes.io/certificate-arn` con il certificato ACM

470 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, in modo che il listener non ricada nella politica predefinita legacy che accetta TLS 1.0 e 1.1472 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, in modo che il listener non ricada sulla policy predefinita legacy che accetta TLS 1.0 e 1.1

471 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, un margine sopra il keepalive di streaming del gateway; consultate [Troubleshooting](#troubleshooting)473 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, un margine rispetto al keepalive di streaming del gateway; consulta [Risoluzione dei problemi](#troubleshooting)

472 474 

473 Con IRSA, l'AWS SDK legge un token dell'account di servizio proiettato e lo scambia con AWS STS, quindi il pod non ha mai bisogno del servizio di metadati dell'istanza EC2; una NetworkPolicy di egresso può bloccare `169.254.169.254` per i pod del gateway. Il problema del limite di hop del nodo in [Troubleshooting](#troubleshooting) sottostante si applica solo ai cluster che saltano IRSA e si affidano ai ruoli dell'istanza del nodo.475 Con IRSA, l'AWS SDK legge un token proiettato dell'account di servizio e lo scambia con AWS STS, quindi il pod non ha mai bisogno del servizio di metadati dell'istanza EC2; una NetworkPolicy in uscita può bloccare `169.254.169.254` per i pod del gateway. Il problema del limite di hop dei nodi descritto in [Risoluzione dei problemi](#troubleshooting) più avanti riguarda solo i cluster che non usano IRSA e si affidano ai ruoli delle istanze dei nodi.

474 </Tab>476 </Tab>

475 </Tabs>477 </Tabs>

476 </Step>478 </Step>

477 479 

478 <Step title="Spingere l'URL del gateway alle macchine degli sviluppatori">480 <Step title="Distribuire l'URL del gateway ai computer degli sviluppatori">

479 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 delle impostazioni gestite](/docs/it/claude-apps-gateway#set-the-gateway-url) che distribuite a ogni dispositivo tramite MDM. Non c'è opzione di gateway nel selettore di accesso per uno sviluppatore da selezionare manualmente.481 Il gateway è ora in esecuzione, ma gli sviluppatori non possono raggiungerlo da `/login` finché l'URL del gateway non è presente sui loro computer. Imposta `forceLoginMethod` e `forceLoginGatewayUrl` nel [file delle impostazioni gestite](/docs/it/claude-apps-gateway#set-the-gateway-url) che distribuisci su ogni dispositivo tramite MDM. Nel selettore di accesso non esiste un'opzione gateway che uno sviluppatore possa selezionare manualmente.

480 </Step>482 </Step>

481</Steps>483</Steps>

482 484 

Details

416* **Macchine virtuali isolate**: ogni sessione viene eseguita in una VM isolata gestita da Anthropic. Le sessioni che la tua organizzazione instrada a un [ambiente self-hosted](/docs/it/self-hosted-environments) vengono eseguite sulla tua infrastruttura, dove l'isolamento è responsabilità della tua distribuzione416* **Macchine virtuali isolate**: ogni sessione viene eseguita in una VM isolata gestita da Anthropic. Le sessioni che la tua organizzazione instrada a un [ambiente self-hosted](/docs/it/self-hosted-environments) vengono eseguite sulla tua infrastruttura, dove l'isolamento è responsabilità della tua distribuzione

417* <span id="default-allowed-domains" />**Controlli di accesso alla rete**: negli ambienti ospitati da Anthropic, l'accesso alla rete è limitato per impostazione predefinita e può essere disabilitato. Vedi [Accesso alla rete](/docs/it/cloud-environments#network-access) per i livelli di accesso, i [domini consentiti per impostazione predefinita](/docs/it/cloud-environments#default-allowed-domains) e il traffico che non passa attraverso l'allowlist. In un ambiente self-hosted, limiti l'uscita della sessione al tuo confine di rete. Quando viene eseguito con l'accesso alla rete disabilitato, Claude Code può comunque comunicare con l'API Anthropic, che potrebbe consentire ai dati di uscire dalla VM.417* <span id="default-allowed-domains" />**Controlli di accesso alla rete**: negli ambienti ospitati da Anthropic, l'accesso alla rete è limitato per impostazione predefinita e può essere disabilitato. Vedi [Accesso alla rete](/docs/it/cloud-environments#network-access) per i livelli di accesso, i [domini consentiti per impostazione predefinita](/docs/it/cloud-environments#default-allowed-domains) e il traffico che non passa attraverso l'allowlist. In un ambiente self-hosted, limiti l'uscita della sessione al tuo confine di rete. Quando viene eseguito con l'accesso alla rete disabilitato, Claude Code può comunque comunicare con l'API Anthropic, che potrebbe consentire ai dati di uscire dalla VM.

418* **Protezione delle credenziali**: negli ambienti ospitati da Anthropic, le credenziali git e le chiavi di firma rimangono al di fuori della sandbox e un proxy autentica per conto della sessione con credenziali con ambito. In un ambiente self-hosted, la tua distribuzione fornisce credenziali git; vedi [Configura git](/docs/it/self-hosted-environments-deploy#configure-git)418* **Protezione delle credenziali**: negli ambienti ospitati da Anthropic, le credenziali git e le chiavi di firma rimangono al di fuori della sandbox e un proxy autentica per conto della sessione con credenziali con ambito. In un ambiente self-hosted, la tua distribuzione fornisce credenziali git; vedi [Configura git](/docs/it/self-hosted-environments-deploy#configure-git)

419* **Credenziali API**: negli ambienti ospitati da Anthropic nei piani Pro e Max, le chiavi che [aggiungi a un ambiente cloud](/docs/it/cloud-environments#add-api-credentials) rimangono al di fuori della sandbox allo stesso modo, allegate alle richieste corrispondenti dopo che lasciano la sessione. Un ambiente self-hosted non ha credenziali API e i piani Team ed Enterprise non le hanno ancora419* **Segreti di rete**: negli ambienti ospitati da Anthropic nei piani Pro e Max, le chiavi che [aggiungi a un ambiente cloud](/docs/it/cloud-environments#add-api-credentials) rimangono al di fuori della sandbox allo stesso modo, allegate alle richieste corrispondenti dopo che lasciano la sessione. Un ambiente self-hosted non ha segreti di rete e i piani Team ed Enterprise non li hanno ancora

420* **Analisi sicura**: il codice viene analizzato e modificato all'interno dell'ambiente isolato della sessione prima di creare PR420* **Analisi sicura**: il codice viene analizzato e modificato all'interno dell'ambiente isolato della sessione prima di creare PR

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">


442`claude --cloud` e `claude --teleport` richiedono l'accesso con un account claude.ai. Se ti autentichi con una chiave API, o i dettagli dell'account archiviati sono obsoleti, vedrai uno di questi:442`claude --cloud` e `claude --teleport` richiedono l'accesso con un account claude.ai. Se ti autentichi con una chiave API, o i dettagli dell'account archiviati sono obsoleti, vedrai uno di questi:

443 443 

444* `Unable to get organization UUID`444* `Unable to get organization UUID`

445* Un messaggio che indica che l'autenticazione con chiave API non è sufficiente445* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

446* `Error loading Claude Code sessions` nel selettore di sessione, quando esegui `claude --teleport` senza un ID di sessione446* `Error loading Claude Code sessions` nel selettore di sessione, quando esegui `claude --teleport` senza un ID di sessione

447 447 

448Esegui `/login` per accedere con il tuo account claude.ai, quindi riprova il comando. Se invece l'errore nomina il tuo provider, vedi la [tabella degli errori](#errors-when-sending-to-a-cloud-session): le sessioni cloud non sono disponibili tramite provider di terze parti.448Esegui [`claude auth login`](/docs/it/cli-reference#cli-commands) nella tua shell per accedere con il tuo account claude.ai, quindi riprova il comando. All'interno di una sessione in esecuzione, `/login` fa la stessa cosa. Se invece l'errore nomina il tuo provider, vedi la [tabella degli errori](#errors-when-sending-to-a-cloud-session): le sessioni cloud non sono disponibili tramite provider di terze parti.

449 

450Dalla v2.1.274 alla v2.1.289, il messaggio di accesso era `Claude Code cloud sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.`

449 451 

450<h3 id="remote-control-session-expired-or-access-denied">452<h3 id="remote-control-session-expired-or-access-denied">

451 Sessione Remote Control scaduta o accesso negato453 Sessione Remote Control scaduta o accesso negato

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> in place of a <C>CLAUDE.md</C></>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


164 icon: 'folder',164 icon: 'folder',

165 color: '#9B7BC4',165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',170 docsLink: '/en/memory#organize-rules-with-claude/rules/',


176 color: '#9B7BC4',176 color: '#9B7BC4',

177 badge: 'committed',177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,179 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---181 example: `---

182paths:182paths:


197 color: '#9B7BC4',197 color: '#9B7BC4',

198 badge: 'committed',198 badge: 'committed',

199 oneLiner: 'API conventions scoped to backend code',199 oneLiner: 'API conventions scoped to backend code',

200 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,200 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> glob below</>,

201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is working on API routes.</>,

202 example: `---202 example: `---

203paths:203paths:

204 - "src/api/**/*.ts"204 - "src/api/**/*.ts"


605 icon: 'folder',605 icon: 'folder',

606 color: '#9B7BC4',606 color: '#9B7BC4',

607 oneLiner: 'User-level rules that apply to every project',607 oneLiner: 'User-level rules that apply to every project',

608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

610 docsLink: '/en/memory#organize-rules-with-claude/rules/',610 docsLink: '/en/memory#organize-rules-with-claude/rules/',

611 children: []611 children: []


1434 1434 

1435Su Windows, `~/.claude` si risolve in `%USERPROFILE%\.claude`. Se imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars), ogni percorso `~/.claude` in questa pagina si trova invece in quella directory.1435Su Windows, `~/.claude` si risolve in `%USERPROFILE%\.claude`. Se imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars), ogni percorso `~/.claude` in questa pagina si trova invece in quella directory.

1436 1436 

1437La maggior parte degli utenti modifica solo `CLAUDE.md` e `settings.json`. Se il tuo repository ha già un `AGENTS.md` per altri agenti di codifica, Claude Code [può leggerlo](/docs/it/memory#agents-md) da solo o insieme a `CLAUDE.md`. Il resto della directory è facoltativo: aggiungi skills, rules o subagents secondo le tue necessità.1437La maggior parte degli utenti modifica solo `CLAUDE.md` e `settings.json`. Se il tuo repository ha già un `AGENTS.md` per altri agenti di codifica, Claude Code [può leggerlo](/docs/it/memory#agents-md) al posto di un `CLAUDE.md`. Il resto della directory è facoltativo: aggiungi skill, regole o subagent secondo le tue necessità.

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Esplora la directory1440 Esplora la directory


1452 1452 

1453| File | Posizione | Scopo |1453| File | Posizione | Scopo |

1454| - | - | - |1454| - | - | - |

1455| `managed-settings.json` | A livello di sistema, varia in base al sistema operativo | Impostazioni applicate dall'azienda che non puoi ignorare, a parte [eccezioni ristrette](/docs/it/settings#security-keys-where-the-stricter-value-applies). Vedi [dove salvare il file](/docs/it/managed-settings#deploy-a-managed-settings-file) e [quale fonte gestita Claude Code utilizza](/docs/it/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | A livello di sistema, varia in base al sistema operativo | Impostazioni applicate dall'azienda che i tuoi file di impostazioni e i valori di `--settings` non possono sovrascrivere, a parte [eccezioni ristrette](/docs/it/settings#exceptions-to-managed-settings-precedence). Vedi [dove salvare il file](/docs/it/managed-settings#deploy-a-managed-settings-file) e [quale fonte gestita Claude Code utilizza](/docs/it/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Radice del progetto | Le tue preferenze private per questo progetto, caricate insieme a CLAUDE.md. Crealo manualmente e aggiungilo a `.gitignore`. |1456| `CLAUDE.local.md` | Radice del progetto | Le tue preferenze private per questo progetto, caricate insieme a CLAUDE.md. Crealo manualmente e aggiungilo a `.gitignore`. |

1457| `AGENTS.md` | Radice del progetto, `.claude/`, o qualsiasi directory | Istruzioni di progetto che scrivi per gli agenti di codifica AI. Claude Code può [caricarlo](/docs/it/memory#agents-md) autonomamente o insieme a `CLAUDE.md`. |1457| `AGENTS.md` | Radice del progetto, `.claude/`, o qualsiasi directory | Istruzioni di progetto che scrivi per gli agenti di codifica AI. Claude Code può [caricarlo](/docs/it/memory#agents-md) al posto di un `CLAUDE.md`. |

1458| Plugin installati | `~/.claude/plugins` | Marketplace clonati, versioni plugin installate, il record di installazione `installed_plugins.json` e dati per plugin, gestiti dai comandi `claude plugin`. I plugin [sincronizzati dal tuo account claude.ai](/docs/it/plugins/loading#synced-plugins) vengono scaricati in `~/.claude/plugins/synced/`. Per un plugin installato da un marketplace con [fonte `command`](/docs/it/plugins/marketplace-reference#command-plugin-source) in modalità link, Claude Code memorizza i link qui invece di una copia, e i file del plugin rimangono nella directory che il comando stampa. Una fonte `command` richiede Claude Code v2.1.229 o successivo. Anche un plugin elencato per percorso relativo in un marketplace che hai aggiunto da un percorso locale [viene caricato sul posto](/docs/it/plugins/loading#find-plugins-on-disk) dalla sua directory di origine anziché da una copia nella cache. Vedi [plugin caching](/docs/it/plugins/loading#find-plugins-on-disk) per come le versioni orfane vengono pulite. |1458| Plugin installati | `~/.claude/plugins` | Marketplace clonati, versioni plugin installate, il record di installazione `installed_plugins.json` e dati per plugin, gestiti dai comandi `claude plugin`. I plugin [sincronizzati dal tuo account claude.ai](/docs/it/plugins/loading#synced-plugins) vengono scaricati in `~/.claude/plugins/synced/`. Per un plugin installato da un marketplace con [fonte `command`](/docs/it/plugins/marketplace-reference#command-plugin-source) in modalità link, Claude Code memorizza i link qui invece di una copia, e i file del plugin rimangono nella directory che il comando stampa. Una fonte `command` richiede Claude Code v2.1.229 o successivo. Anche un plugin elencato per percorso relativo in un marketplace che hai aggiunto da un percorso locale [viene caricato sul posto](/docs/it/plugins/loading#find-plugins-on-disk) dalla sua directory di origine anziché da una copia nella cache. Vedi [plugin caching](/docs/it/plugins/loading#find-plugins-on-disk) per come le versioni orfane vengono pulite. |

1459 1459 

1460`~/.claude` contiene anche dati che Claude Code scrive mentre lavori: trascrizioni, cronologia dei prompt, snapshot dei file, cache e log. Vedi [dati dell'applicazione](#application-data) di seguito.1460`~/.claude` contiene anche dati che Claude Code scrive mentre lavori: trascrizioni, cronologia dei prompt, snapshot dei file, cache e log. Vedi [dati dell'applicazione](#application-data) di seguito.


1487<Note>1487<Note>

1488 Diverse cose possono ignorare quello che metti in questi file:1488 Diverse cose possono ignorare quello che metti in questi file:

1489 1489 

1490 * Le [impostazioni gestite](/docs/it/server-managed-settings) distribuite dalla tua organizzazione hanno la precedenza su tutto, a parte le [eccezioni nella precedenza delle impostazioni](/docs/it/settings#exceptions-to-managed-settings-precedence)1490 * Le [impostazioni gestite](/docs/it/server-managed-settings) distribuite dalla tua organizzazione hanno la precedenza su ogni file di impostazioni e su ogni valore di `--settings`, a parte le [eccezioni nella precedenza delle impostazioni](/docs/it/settings#exceptions-to-managed-settings-precedence)

1491 * I flag CLI come `--permission-mode` o `--settings` ignorano `settings.json` per quella sessione1491 * I flag CLI come `--permission-mode` o `--settings` ignorano `settings.json` per quella sessione

1492 * Alcune variabili di ambiente hanno la precedenza sulla loro impostazione equivalente, ma questo varia: controlla il [riferimento delle variabili di ambiente](/docs/it/env-vars) per ciascuna1492 * Alcune variabili di ambiente hanno la precedenza sulla loro impostazione equivalente, ma questo varia: controlla il [riferimento delle variabili di ambiente](/docs/it/env-vars) per ciascuna

1493 1493 


1708 1708 

1709Passa `--all` invece di un percorso per eliminare lo stato per ogni progetto contemporaneamente, il che elimina `history.jsonl` completamente piuttosto che filtrarlo. Passa `-i` per scorrere il piano di eliminazione un elemento alla volta.1709Passa `--all` invece di un percorso per eliminare lo stato per ogni progetto contemporaneamente, il che elimina `history.jsonl` completamente piuttosto che filtrarlo. Passa `-i` per scorrere il piano di eliminazione un elemento alla volta.

1710 1710 

1711In uno script, controlla l'output anziché solo lo stato di uscita. Un'esecuzione che elimina tutto ciò che è nel suo piano termina con `Purged N item(s)`. Considera quella riga come il segnale di successo.

1712 

1713Il comando lascia stare `shell-snapshots/` e `backups/` perché non sono limitati al progetto, e avverte su di essi nell'output del piano. Se qualcuno ha eseguito [`/heapdump`](/docs/it/troubleshooting#high-cpu-or-memory-usage) sulla macchina, elimina anche i file `.heapsnapshot` che ha scritto. Uno snapshot dell'heap contiene l'intera conversazione e tutte le credenziali che il processo deteneva, e né la pulizia della conservazione né il comando purge lo toccano.1711Il comando lascia stare `shell-snapshots/` e `backups/` perché non sono limitati al progetto, e avverte su di essi nell'output del piano. Se qualcuno ha eseguito [`/heapdump`](/docs/it/troubleshooting#high-cpu-or-memory-usage) sulla macchina, elimina anche i file `.heapsnapshot` che ha scritto. Uno snapshot dell'heap contiene l'intera conversazione e tutte le credenziali che il processo deteneva, e né la pulizia della conservazione né il comando purge lo toccano.

1714 1712 

1715Puoi anche eliminare manualmente uno qualsiasi dei percorsi di dati dell'applicazione sopra, a parte i [file di stato da mantenere](#state-files-to-keep). Le nuove sessioni non sono interessate. La tabella di seguito mostra cosa perdi per le sessioni passate.1713Puoi anche eliminare manualmente uno qualsiasi dei percorsi di dati dell'applicazione sopra, a parte i [file di stato da mantenere](#state-files-to-keep). Le nuove sessioni non sono interessate. La tabella di seguito mostra cosa perdi per le sessioni passate.

Details

58* **Thread**: i lavoratori. Ognuno è una sessione separata con la propria finestra di contesto che svolge un pezzo di lavoro e riferisce alla conversazione quando finisce. Un thread cloud lavora sul proprio ramo e apre una pull request quando il lavoro lo richiede.58* **Thread**: i lavoratori. Ognuno è una sessione separata con la propria finestra di contesto che svolge un pezzo di lavoro e riferisce alla conversazione quando finisce. Un thread cloud lavora sul proprio ramo e apre una pull request quando il lavoro lo richiede.

59* **Quello con cui ogni thread cloud inizia**:59* **Quello con cui ogni thread cloud inizia**:

60 * I repository e i file del progetto, più le sue [istruzioni e memoria](#give-a-project-standing-context)60 * I repository e i file del progetto, più le sue [istruzioni e memoria](#give-a-project-standing-context)

61 * Il `CLAUDE.md` e le skills in [ogni repository del progetto](#what-threads-pick-up-from-your-repositories), e in un progetto con un repository, anche le regole di permesso e gli hooks di quel repository61 * Il `CLAUDE.md` e le skill in [ogni repository del progetto](#what-threads-pick-up-from-your-repositories), e in un progetto con un repository, anche le regole di permesso e gli hook di quel repository

62 * I [connectors](#get-skills-plugins-connectors-and-tools-into-threads) sul tuo account claude.ai62 * I [connettori](#get-skills-plugins-connectors-and-tools-into-threads) sul tuo account claude.ai

63 * Un [ambiente cloud](#choose-an-environment-for-threads) che imposta il suo accesso di rete, le variabili di ambiente, le credenziali API e gli strumenti installati63 * Un [ambiente cloud](#choose-an-environment-for-threads) che imposta il suo accesso di rete, le variabili d'ambiente, i segreti di rete e gli strumenti installati

64* **Il riquadro Overview**: dove [vedi tutti i thread contemporaneamente](#see-what-needs-you-in-overview) e quali di loro hanno bisogno di te. Le sue altre schede sono **Library** per i file che hai aggiunto e i file che i thread hanno prodotto, **Pull requests** per quelli che i thread hanno aperto, e **Routines** per il lavoro programmato nel progetto.64* **Il riquadro Overview**: dove [vedi tutti i thread contemporaneamente](#see-what-needs-you-in-overview) e quali di loro hanno bisogno di te. Le sue altre schede sono **Library** per i file che hai aggiunto e i file che i thread hanno prodotto, **Pull requests** per quelli che i thread hanno aperto, e **Routines** per il lavoro programmato nel progetto.

65 65 

66I thread cloud non raccolgono nulla dalla configurazione di Claude Code sulla tua macchina. [Ottieni skills, plugins, connectors e strumenti nei thread](#get-skills-plugins-connectors-and-tools-into-threads) spiega come dare loro quello che altrimenti mancherebbe.66I thread cloud non raccolgono nulla dalla configurazione di Claude Code sulla tua macchina. [Ottieni skills, plugins, connectors e strumenti nei thread](#get-skills-plugins-connectors-and-tools-into-threads) spiega come dare loro quello che altrimenti mancherebbe.


92 92 

93* **Piano**: sei su Pro o Max e **Projects** appare nella tua barra laterale.93* **Piano**: sei su Pro o Max e **Projects** appare nella tua barra laterale.

94* **GitHub, se il project lavorerà su codice**: il tuo codice è su github.com piuttosto che su GitHub Enterprise Server, GitLab o Bitbucket, il tuo account GitHub connesso ha accesso push, e l'app Claude GitHub è installata su di esso. Se hai connesso GitHub con [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal), quel token lascia che le tue altre sessioni cloud raggiungano un repository ma non è sufficiente per i thread del project, che hanno bisogno dell'app Claude GitHub. [Configura l'accesso a GitHub](#set-up-github-access) ha i passaggi.94* **GitHub, se il project lavorerà su codice**: il tuo codice è su github.com piuttosto che su GitHub Enterprise Server, GitLab o Bitbucket, il tuo account GitHub connesso ha accesso push, e l'app Claude GitHub è installata su di esso. Se hai connesso GitHub con [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal), quel token lascia che le tue altre sessioni cloud raggiungano un repository ma non è sufficiente per i thread del project, che hanno bisogno dell'app Claude GitHub. [Configura l'accesso a GitHub](#set-up-github-access) ha i passaggi.

95* **Rete, credenziali e strumenti**: per i thread cloud, questi provengono dal [cloud environment](#choose-an-environment-for-threads) del project. L'ambiente predefinito raggiunge già [registri di pacchetti comuni](/docs/it/cloud-environments#default-allowed-domains), quindi controlla questo solo se il lavoro ha bisogno di altri domini, un segreto o uno strumento che non è preinstallato. Se il lavoro ha bisogno di un server MCP, controlla che appaia come connesso nei tuoi [connectors claude.ai](https://claude.ai/customize/connectors).95* **Accesso alla rete, segreti e strumenti**: per i thread cloud, questi provengono dal [cloud environment](#choose-an-environment-for-threads) del project. L'ambiente predefinito raggiunge già [registri di pacchetti comuni](/docs/it/cloud-environments#default-allowed-domains), quindi controlla questo solo se il lavoro ha bisogno di altri domini, un segreto o uno strumento che non è preinstallato. Se il lavoro ha bisogno di un server MCP, controlla che appaia come connesso nei tuoi [connettori di claude.ai](https://claude.ai/customize/connectors).

96 96 

97<h3 id="start-a-new-project-from-scratch">97<h3 id="start-a-new-project-from-scratch">

98 Avvia un nuovo project da zero98 Avvia un nuovo project da zero


396 Scegli un ambiente per i thread396 Scegli un ambiente per i thread

397</h3>397</h3>

398 398 

399Ogni nuovo thread cloud inizia nell'[ambiente cloud](/docs/it/cloud-environments) del progetto. L'ambiente imposta quali domini i thread possono raggiungere, quali variabili di ambiente hanno, quali credenziali API vengono aggiunte alle loro richieste, e cosa lo script di setup installa prima che Claude inizi. I thread cloud utilizzano un ambiente predefinito ospitato da Anthropic fino a quando non ne scegli uno in **Project settings > Environment**.399Ogni nuovo thread cloud inizia nell'[ambiente cloud](/docs/it/cloud-environments) del progetto. L'ambiente imposta quali domini i thread possono raggiungere, quali variabili d'ambiente hanno, quali secret di rete vengono aggiunti alle loro richieste, e cosa lo script di setup installa prima che Claude inizi. I thread cloud utilizzano un ambiente predefinito ospitato da Anthropic fino a quando non ne scegli uno in **Project settings > Environment**.

400 400 

401Se i thread cloud hanno bisogno di raggiungere un'API interna o un registro di pacchetti privato, o hanno bisogno di un token che la tua macchina normalmente contiene, cambia l'ambiente piuttosto che il progetto: vedi [Network access](/docs/it/cloud-environments#network-access), [Add API credentials](/docs/it/cloud-environments#add-api-credentials), e [Setup scripts](/docs/it/cloud-environments#setup-scripts).401Se i thread cloud hanno bisogno di raggiungere un'API interna o un registro di pacchetti privato, o hanno bisogno di un token che la tua macchina normalmente contiene, cambia l'ambiente piuttosto che il progetto: vedi [Network access](/docs/it/cloud-environments#network-access), [Add network secrets](/docs/it/cloud-environments#add-api-credentials), e [Setup scripts](/docs/it/cloud-environments#setup-scripts).

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 Ottieni skills, plugin, connettori e strumenti nei thread404 Ottieni skills, plugin, connettori e strumenti nei thread


590</h2>590</h2>

591 591 

592* [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web): come funzionano le sessioni cloud dietro ogni thread, incluse le opzioni di accesso a GitHub e auto-fix sulle pull request592* [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web): come funzionano le sessioni cloud dietro ogni thread, incluse le opzioni di accesso a GitHub e auto-fix sulle pull request

593* [Configura cloud environment](/docs/it/cloud-environments): cambia cosa i thread possono raggiungere sulla rete, dai loro variabili di ambiente e credenziali API, e installa strumenti con uno script di configurazione593* [Configura cloud environment](/docs/it/cloud-environments): cambia cosa i thread cloud possono raggiungere sulla rete, fornisci loro variabili d'ambiente e segreti di rete, e installa strumenti con uno script di configurazione

594* [Automatizza il lavoro con le routine](/docs/it/routines): programmi, trigger e gestione per le routine, incluse quelle che Claude crea da un project594* [Automatizza il lavoro con le routine](/docs/it/routines): programmi, trigger e gestione per le routine, incluse quelle che Claude crea da un project

595* [Gestisci più agenti con agent view](/docs/it/agent-view): esegui e traccia più sessioni sulla tua macchina quando il lavoro ha bisogno di strumenti o servizi che solo la tua macchina può raggiungere595* [Gestisci più agenti con agent view](/docs/it/agent-view): esegui e traccia più sessioni sulla tua macchina quando il lavoro ha bisogno di strumenti o servizi che solo la tua macchina può raggiungere

596* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): l'annuncio di lancio, con il ragionamento dietro la trasformazione di un project in una conversazione con Claude596* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): l'annuncio di lancio, con il ragionamento dietro la trasformazione di un project in una conversazione con Claude

Details

31| `claude attach <id\|name>` | Collegati a una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) in questo terminale. Passare parte del nome di una sessione in esecuzione al posto dell'ID richiede Claude Code v2.1.290 o successivo | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | Collegati a una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell) in questo terminale. Passare parte del nome di una sessione in esecuzione al posto dell'ID richiede Claude Code v2.1.290 o successivo | `claude attach 7c5dcf5d` |

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'` |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 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` |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 logs` | Segui il file di log del [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background, `~/.claude/daemon.log`, stampando le nuove righe man mano che arrivano finché non premi `Ctrl+C` | `claude daemon logs` |

35| `claude daemon run` | Esegui il [supervisore](/docs/it/agent-view#the-supervisor-process) della sessione in background in primo piano in questo terminale, stampando il suo log | `claude daemon run` |

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` |36| `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` |37| `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à a Remote Control. Per il controllo di configurazione in-sessione che può anche applicare correzioni, esegui [`/doctor`](/docs/it/commands#all-commands) | `claude doctor` |38| `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` |


94| `--exec` | Esegui un comando shell come lavoro in background supportato da PTY invece di avviare una sessione Claude. Usa con `--bg` per lanciare dalla shell | `claude --bg --exec 'pytest -x'` |96| `--exec` | Esegui un comando shell come lavoro in background supportato da PTY invece di avviare una sessione Claude. Usa con `--bg` per lanciare dalla shell | `claude --bg --exec 'pytest -x'` |

95| `--fallback-model` | Abilita il fallback automatico al modello specificato quando il modello primario è sovraccarico o non disponibile, ad esempio un modello ritirato. Accetta un elenco separato da virgole provato in ordine. Vedi [Catene di modelli di fallback](/docs/it/model-config#fallback-model-chains). Per mantenere una catena tra le sessioni, usa l'impostazione [`fallbackModel`](/docs/it/settings-reference#fallbackmodel), che questo flag sostituisce | `claude --fallback-model sonnet,haiku` |97| `--fallback-model` | Abilita il fallback automatico al modello specificato quando il modello primario è sovraccarico o non disponibile, ad esempio un modello ritirato. Accetta un elenco separato da virgole provato in ordine. Vedi [Catene di modelli di fallback](/docs/it/model-config#fallback-model-chains). Per mantenere una catena tra le sessioni, usa l'impostazione [`fallbackModel`](/docs/it/settings-reference#fallbackmodel), che questo flag sostituisce | `claude --fallback-model sonnet,haiku` |

96| `--fork-session` | Quando riprendi, crea un nuovo ID di sessione invece di riutilizzare l'originale (usa con `--resume` o `--continue`) | `claude --resume abc123 --fork-session` |98| `--fork-session` | Quando riprendi, crea un nuovo ID di sessione invece di riutilizzare l'originale (usa con `--resume` o `--continue`) | `claude --resume abc123 --fork-session` |

97| `--forward-subagent-text` | Emetti i blocchi di testo e pensiero dei [subagenti](/docs/it/sub-agents) nel flusso di output come messaggi `assistant` e `user` con `parent_tool_use_id` impostato, in modo da poter ricostruire la trascrizione di ogni subagente. Senza questo flag, Claude Code omette il testo e i blocchi di pensiero di un subagente che viene eseguito in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background). Richiede `--print` e `--output-format stream-json`. Claude Code inoltra anche i messaggi dai [subagenti annidati](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents), impostando `parent_tool_use_id` all'ID della chiamata dello strumento Agent o Skill che ha generato ognuno; questo richiede Claude Code v2.1.219 o successivo, e i messaggi dei subagenti che una skill biforcata genera, e delle skill biforcate annidate, richiedono v2.1.275 o successivo. La variabile di ambiente [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/it/env-vars) abilita lo stesso comportamento. Richiede Claude Code v2.1.211 o successivo | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |99| `--forward-subagent-text` | Emetti i blocchi di testo e di ragionamento dei [subagent](/docs/it/sub-agents) nel flusso di output come messaggi `assistant` e `user` con `parent_tool_use_id` impostato, in modo da poter ricostruire la trascrizione di ogni subagent. Senza questo flag, Claude Code omette i blocchi di testo e di ragionamento di un subagent che viene eseguito in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background). Richiede `--print` e `--output-format stream-json`. Per i subagent annidati, le skill biforcate e la versione richiesta da ciascuno, vedi [Seguire i messaggi dei subagent](/docs/it/headless#follow-subagent-messages). La variabile d'ambiente [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/it/env-vars) abilita lo stesso comportamento. Richiede Claude Code v2.1.211 o successivo | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

98| `--from-pr` | Apri il selettore di sessione filtrato alle sessioni collegate a una richiesta pull specifica. Accetta un numero PR, un URL PR GitHub o GitHub Enterprise, un URL di richiesta di merge GitLab, o un URL di richiesta pull Bitbucket. Le sessioni vengono collegate automaticamente quando Claude crea la richiesta pull | `claude --from-pr 123` |100| `--from-pr` | Apri il selettore di sessione filtrato alle sessioni collegate a una richiesta pull specifica. Accetta un numero PR, un URL PR GitHub o GitHub Enterprise, un URL di richiesta di merge GitLab, o un URL di richiesta pull Bitbucket. Le sessioni vengono collegate automaticamente quando Claude crea la richiesta pull | `claude --from-pr 123` |

99| `--ide` | Connettiti automaticamente all'IDE all'avvio se esattamente un IDE valido è disponibile | `claude --ide` |101| `--ide` | Connettiti automaticamente all'IDE all'avvio se esattamente un IDE valido è disponibile | `claude --ide` |

100| `--init` | Esegui gli [hook di Setup](/docs/it/hooks#setup) con il matcher `init` prima della sessione (solo modalità print) | `claude -p --init "query"` |102| `--init` | Esegui gli [hook di Setup](/docs/it/hooks#setup) con il matcher `init` prima della sessione (solo modalità print) | `claude -p --init "query"` |

Details

10 Gli ambienti cloud si applicano alle [sessioni cloud](/docs/it/claude-code-on-the-web), che sono disponibili sui piani Pro, Max e Team, e per gli utenti Enterprise con [posti premium o posti Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Gli ambienti cloud si applicano alle [sessioni cloud](/docs/it/claude-code-on-the-web), che sono disponibili sui piani Pro, Max e Team, e per gli utenti Enterprise con [posti premium o posti Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Ogni [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un ambiente cloud. È possibile configurare un ambiente per consentire o negare l'[accesso di rete](#access-levels), [impostare variabili di ambiente](#set-environment-variables) per la sessione, sui piani Pro e Max memorizzare [credenziali API](#add-api-credentials) che le sessioni utilizzano senza vederle, ed eseguire uno [script di configurazione](#setup-scripts) prima che Claude inizi a lavorare.13Ogni [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un ambiente cloud. È possibile configurare un ambiente per consentire o negare l'[accesso di rete](#access-levels), [impostare variabili d'ambiente](#set-environment-variables) per la sessione, sui piani Pro e Max memorizzare [segreti di rete](#add-api-credentials) che le sessioni utilizzano senza vederli, ed eseguire uno [script di configurazione](#setup-scripts) prima che Claude inizi a lavorare.

14 14 

15Gli stessi ambienti si applicano ovunque avviate una sessione cloud: l'[app Desktop](/docs/it/desktop), l'[app mobile Claude](/docs/it/mobile), il vostro browser su [claude.ai/code](https://claude.ai/code), il terminale con [`claude --cloud`](/docs/it/claude-code-on-the-web#from-terminal-to-cloud), [routine](/docs/it/routines) e [Claude Tag](https://claude.com/docs/claude-tag/overview). Ognuna di queste superfici può anche instradare a un [ambiente self-hosted](/docs/it/self-hosted-environments). [Disponibilità e limitazioni](/docs/it/self-hosted-environments#availability-and-limitations) copre cosa Claude non può ancora utilizzare quando una sessione Claude Tag viene eseguita in uno.15Gli stessi ambienti si applicano ovunque avviate una sessione cloud: l'[app Desktop](/docs/it/desktop), l'[app mobile Claude](/docs/it/mobile), il vostro browser su [claude.ai/code](https://claude.ai/code), il terminale con [`claude --cloud`](/docs/it/claude-code-on-the-web#from-terminal-to-cloud), [routine](/docs/it/routines) e [Claude Tag](https://claude.com/docs/claude-tag/overview). Ognuna di queste superfici può anche instradare a un [ambiente self-hosted](/docs/it/self-hosted-environments). [Disponibilità e limitazioni](/docs/it/self-hosted-environments#availability-and-limitations) copre cosa Claude non può ancora utilizzare quando una sessione Claude Tag viene eseguita in uno.

16 16 


58 <Step title="Aggiungere o modificare un ambiente">58 <Step title="Aggiungere o modificare un ambiente">

59 Selezionate **Cloud** per elencare i vostri ambienti. Quindi selezionate **Add cloud environment**, oppure passate il mouse su un ambiente esistente e selezionate l'icona delle impostazioni che appare a destra.59 Selezionate **Cloud** per elencare i vostri ambienti. Quindi selezionate **Add cloud environment**, oppure passate il mouse su un ambiente esistente e selezionate l'icona delle impostazioni che appare a destra.

60 60 

61 La finestra di dialogo include il nome, il livello di accesso di rete, le variabili di ambiente e lo script di configurazione. Quando modificate un ambiente cloud esistente su un piano Pro o Max, la finestra di dialogo include anche [credenziali API](#add-api-credentials).61 La finestra di dialogo include il nome, il livello di accesso di rete, le variabili d'ambiente e lo script di configurazione. Quando modifichi un ambiente cloud esistente su un piano Pro o Max, la finestra di dialogo include anche i [segreti di rete](#add-api-credentials).

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="La finestra di dialogo New cloud environment. Un campo Name con il testo segnaposto Default, un selettore Network access impostato su Trusted con link alla politica di rete e ai livelli di accesso, una casella Environment variables che mostra il testo segnaposto in formato .env con una nota che i valori sono visibili a chiunque utilizzi l'ambiente, una casella Setup script descritta come uno script Bash che viene eseguito quando inizia una nuova sessione prima che Claude Code si avvii, e pulsanti Cancel e Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="La finestra di dialogo New cloud environment. Un campo Name con il testo segnaposto Default, un selettore Network access impostato su Trusted con link alla politica di rete e ai livelli di accesso, una casella Environment variables che mostra il testo segnaposto in formato .env con una nota che i valori sono visibili a chiunque utilizzi l'ambiente, una casella Setup script descritta come uno script Bash che viene eseguito quando inizia una nuova sessione prima che Claude Code si avvii, e pulsanti Cancel e Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />


91 91 

92Una sessione cloud imposta anche alcune variabili da sola quando si avvia. Per [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/it/claude-code-on-the-web#manage-context), il valore che la sessione imposta sostituisce uno che aggiungete qui, quindi aggiungere quella chiave qui non ha effetto.92Una sessione cloud imposta anche alcune variabili da sola quando si avvia. Per [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/it/claude-code-on-the-web#manage-context), il valore che la sessione imposta sostituisce uno che aggiungete qui, quindi aggiungere quella chiave qui non ha effetto.

93 93 

94Chiunque utilizzi l'ambiente può leggere i valori. Sui piani Pro e Max, utilizzate una [credenziale API](#add-api-credentials) invece per una chiave che il proxy dell'agente può allegare a una richiesta. Le [richieste che non ricevono mai una credenziale](#requests-that-never-get-the-credential) sono elencate lì.94Chiunque utilizzi l'ambiente può leggere i valori. Sui piani Pro e Max, utilizza invece un [segreto di rete](#add-api-credentials) per una chiave che il proxy dell'agente può allegare a una richiesta. Le [richieste che non ricevono mai un segreto](#requests-that-never-get-the-credential) sono elencate lì.

95 95 

96<h3 id="add-api-credentials">96<h3 id="add-api-credentials">

97 Aggiungere credenziali API97 Aggiungere segreti di rete

98</h3>98</h3>

99 99 

100Una credenziale API è una chiave API o un token che memorizzate in un ambiente cloud in modo che Claude possa chiamare quell'API da qualsiasi sessione nell'ambiente senza vedere la chiave. Il proxy dell'agente di Anthropic aggiunge la chiave alle richieste per gli host che elencate, dopo che ogni richiesta esce dalla VM della sessione. La chiave non raggiunge mai Claude, i comandi che esegue, o le variabili di ambiente della sessione.100Un segreto di rete è una chiave API o un token che memorizzi in un ambiente cloud in modo che Claude possa chiamare quell'API da qualsiasi sessione nell'ambiente senza vedere la chiave. Il proxy dell'agente di Anthropic aggiunge la chiave alle richieste per gli host che elenchi, dopo che ogni richiesta esce dalla VM della sessione, quindi la chiave stessa resta fuori dalla VM.

101 101 

102Le credenziali API sono disponibili sui piani Pro e Max. Non sono ancora disponibili sui piani Team o Enterprise, quindi la sezione **API credentials** non appare nella finestra di dialogo dell'ambiente su quei piani.102I segreti di rete sono disponibili sui piani Pro e Max. Non sono ancora disponibili sui piani Team o Enterprise, quindi la sezione **Network secrets** non appare nella finestra di dialogo dell'ambiente su quei piani.

103 103 

104<h4 id="requirements">104<h4 id="requirements">

105 Requisiti105 Requisiti

106</h4>106</h4>

107 107 

108Due di questi decidono se potete aggiungere una credenziale, e due decidono se il proxy dell'agente può utilizzarla una volta aggiunta:108Questi requisiti determinano se puoi aggiungere un segreto e se il proxy dell'agente può utilizzarlo una volta aggiunto:

109 109 

110* **Ruolo**: un ruolo di amministratore dell'organizzazione nella vostra organizzazione claude.ai110* **Ruolo**: un ruolo di amministratore dell'organizzazione nella vostra organizzazione claude.ai

111 * Su Team ed Enterprise, gli Owner lo detengono e gli Admin no111 * Su Team ed Enterprise, gli Owner lo detengono e gli Admin no

112 * Su Pro e Max, lo detenete nella vostra organizzazione personale112 * Su Pro e Max, lo detenete nella vostra organizzazione personale

113* **Tipo di ambiente**: un ambiente cloud ospitato da Anthropic che già esiste. Un [ambiente self-hosted](/docs/it/self-hosted-environments) non ha credenziali API113* **Tipo di ambiente**: un ambiente cloud ospitato da Anthropic che esiste già. Un [ambiente self-hosted](/docs/it/self-hosted-environments) non ha segreti di rete

114* **Raggiungibilità API**: l'API accetta connessioni da internet, perché le richieste escono dalla rete di Anthropic114* **Raggiungibilità API**: l'API accetta connessioni da internet, perché le richieste escono dalla rete di Anthropic

115* **Chiavi di crittografia**: se la vostra organizzazione utilizza chiavi di crittografia gestite dal cliente, non potete salvare credenziali115* **Chiavi di crittografia**: se la tua organizzazione utilizza chiavi di crittografia gestite dal cliente, non puoi salvare segreti di rete

116 116 

117<h4 id="add-a-credential">117<h4 id="add-a-credential">

118 Aggiungere una credenziale118 Aggiungere un segreto

119</h4>119</h4>

120 120 

121Aggiungi le credenziali una alla volta, e non puoi modificare una credenziale dopo averla aggiunta. Per cambiare gli host o il valore di una credenziale, eliminala e aggiungila di nuovo.121Aggiungi i segreti uno alla volta, e non puoi modificare un segreto dopo averlo aggiunto. Per cambiare gli host o il valore di un segreto, eliminalo e aggiungilo di nuovo.

122 122 

123<Steps>123<Steps>

124 <Step title="Aprire le credenziali API dell'ambiente">124 <Step title="Aprire i segreti di rete dell'ambiente">

125 [Apri l'ambiente per la modifica](#configure-your-environment) su [claude.ai/code](https://claude.ai/code). Nella finestra di dialogo **Edit environment**, trova la sezione **API credentials**. Vedi le credenziali già presenti sull'ambiente, ognuna con gli host a cui si applica.125 [Apri l'ambiente per la modifica](#configure-your-environment) su [claude.ai/code](https://claude.ai/code). Nella finestra di dialogo **Edit environment**, trova la sezione **Network secrets**. Vedi i segreti già presenti nell'ambiente, ognuno con gli host a cui si applica.

126 </Step>126 </Step>

127 127 

128 <Step title="Aggiungere la credenziale">128 <Step title="Aggiungere il segreto">

129 Seleziona **Add credential** e compila il modulo. Mantieni il **Credential type** predefinito, **Bearer**, per una chiave API che viaggia in un'intestazione della richiesta, e compila questi campi:129 Seleziona **Add secret** e compila il modulo. Mantieni il **Credential type** predefinito, **Bearer**, per una chiave API che viaggia in un'intestazione della richiesta, e compila questi campi:

130 130 

131 * **Name**: un'etichetta per la credenziale, come `Internal billing API`131 * **Name**: un'etichetta per il segreto, come `Internal billing API`

132 * **Allowed websites**: gli host dell'API, come `api.example.com`. Un `*.` iniziale corrisponde a ogni sottodominio132 * **Allowed websites**: gli host dell'API, come `api.example.com`. Un `*.` iniziale corrisponde a ogni sottodominio

133 * **Custom headers**: una riga per l'intestazione che trasporta la chiave. La riga inizia con `Authorization` come **Name** dell'intestazione e `Bearer` come suo **Prefix**; incollate la chiave stessa come **Value**. Per un'intestazione come `X-Api-Key` che accetta il valore nudo, cambiate il nome e cancellate il prefisso133 * **Custom headers**: una riga per l'intestazione che trasporta la chiave. La riga inizia con `Authorization` come **Name** dell'intestazione e `Bearer` come suo **Prefix**; incolla la chiave stessa come **Value**. Per un'intestazione come `X-Api-Key` che accetta il valore nudo, cambia il nome e cancella il prefisso

134 134 

135 Per un'API che si autentica in un altro modo, scegliete un **Credential type** diverso. L'elenco è lo stesso che [Claude Tag](https://claude.com/docs/claude-tag/overview), l'integrazione Slack per i piani Team ed Enterprise, offre per le [connessioni](https://claude.com/docs/claude-tag/admins/add-connections).135 Per un'API che si autentica in un altro modo, scegli un **Credential type** diverso. L'elenco è lo stesso che [Claude Tag](https://claude.com/docs/claude-tag/overview), l'integrazione Slack per i piani Team ed Enterprise, offre per le [connessioni](https://claude.com/docs/claude-tag/admins/add-connections).

136 </Step>136 </Step>

137 137 

138 <Step title="Salvare la credenziale">138 <Step title="Salvare il segreto">

139 Selezionate **Connect**. La credenziale appare nell'elenco con i suoi host, salvata senza il pulsante **Save changes** della finestra di dialogo. Non potete visualizzare il valore di nuovo dopo il salvataggio.139 Seleziona **Connect**. Il segreto appare nell'elenco con i suoi host, salvato senza il pulsante **Save changes** della finestra di dialogo. Non puoi visualizzare di nuovo il valore dopo il salvataggio.

140 </Step>140 </Step>

141</Steps>141</Steps>

142 142 

143Per confermare che la credenziale funziona, avviate una sessione nell'ambiente e chiedete a Claude di chiamare l'API, ad esempio con `curl`. L'API risponde come se la chiave fosse nella richiesta, e la chiave non appare nelle variabili di ambiente della sessione o in nessun file. Se l'elenco contrassegna una credenziale **Not sent**, la nota sotto di essa dice perché e cosa fare. Due credenziali i cui host si sovrappongono senza corrispondere esattamente non ricevono alcun marcatore, e il proxy dell'agente ne invia solo una.143Per confermare che il segreto funziona, avvia una sessione nell'ambiente e chiedi a Claude di chiamare l'API, ad esempio con `curl`. L'API risponde come se la chiave fosse nella richiesta, e la chiave non appare nelle variabili d'ambiente della sessione né in alcun file. Se invece l'elenco contrassegna un segreto come **Not sent**, la nota sotto di esso spiega il motivo e cosa fare. Due segreti i cui host si sovrappongono senza corrispondere esattamente non ricevono alcun contrassegno, e il proxy dell'agente ne invia solo uno.

144 144 

145<h4 id="which-requests-get-the-credential">145<h4 id="which-requests-get-the-credential">

146 Quali richieste ricevono la credenziale146 Quali richieste ricevono il segreto

147</h4>147</h4>

148 148 

149Il proxy dell'agente allega una credenziale a una richiesta quando l'host della richiesta corrisponde a uno che avete elencato su quella credenziale. Le sessioni possono raggiungere quegli host anche quando il [livello di accesso di rete](#access-levels) dell'ambiente non lo permetterebbe altrimenti, tranne gli [host che non ricevono mai la credenziale](#requests-that-never-get-the-credential). La credenziale si applica in ogni sessione che viene eseguita nell'ambiente, chiunque l'abbia avviata, finché non la cancellate.149Il proxy dell'agente allega un segreto a una richiesta quando l'host della richiesta corrisponde a uno che hai elencato su quel segreto. Le sessioni possono raggiungere quegli host anche quando il [livello di accesso di rete](#access-levels) dell'ambiente non lo permetterebbe altrimenti, tranne gli [host che non ricevono mai il segreto](#requests-that-never-get-the-credential). Il segreto si applica in ogni sessione eseguita nell'ambiente, chiunque l'abbia avviata, finché non lo elimini.

150 150 

151<h4 id="requests-that-never-get-the-credential">151<h4 id="requests-that-never-get-the-credential">

152 Richieste che non ricevono mai la credenziale152 Richieste che non ricevono mai il segreto

153</h4>153</h4>

154 154 

155Il proxy dell'agente non allega mai una credenziale che aggiungete a queste richieste:155Il proxy dell'agente non allega mai un segreto che aggiungi a queste richieste:

156 156 

157* **GitHub**: il [proxy GitHub](#github-proxy) autentica le richieste a GitHub invece, quindi non avete bisogno di una credenziale API per esso157* **GitHub**: è invece il [proxy GitHub](#github-proxy) ad autenticare le richieste a GitHub, quindi non hai bisogno di un segreto di rete per esso

158* **L'API Anthropic e i registri di pacchetti pubblici**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` e `proxy.golang.org`158* **L'API Anthropic e i registri di pacchetti pubblici**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` e `proxy.golang.org`

159* **Richieste dello script di configurazione**: Claude Code si connette al proxy dell'agente quando si avvia, dopo che lo [script di configurazione](#setup-scripts) è stato eseguito159* **Richieste dello script di configurazione**: Claude Code si connette al proxy dell'agente quando si avvia, dopo che lo [script di configurazione](#setup-scripts) è stato eseguito

160* **Esportazione della telemetria di Claude Code**: Claude Code invia l'[esportazione della telemetria](/docs/it/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) propria piuttosto che attraverso un comando che esegue, e quella richiesta non passa attraverso il proxy dell'agente160* **Esportazione della telemetria di Claude Code**: Claude Code invia l'[esportazione della telemetria](/docs/it/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) propria piuttosto che attraverso un comando che esegue, e quella richiesta non passa attraverso il proxy dell'agente


179 179 

180* Le sessioni già in esecuzione nell'ambiente continuano a funzionare.180* Le sessioni già in esecuzione nell'ambiente continuano a funzionare.

181* L'ambiente scompare dal selettore e da `/remote-env`, quindi non potete sceglierlo per le nuove sessioni.181* L'ambiente scompare dal selettore e da `/remote-env`, quindi non potete sceglierlo per le nuove sessioni.

182* Le credenziali API sull'ambiente rimangono allegate nelle sue sessioni in esecuzione. Cancellate quelle che non desiderate più prima di archiviare.182* I segreti di rete dell'ambiente rimangono allegati nelle sue sessioni in esecuzione. Elimina quelli che non vuoi più prima di archiviare.

183* Nessuna nuova sessione può iniziare in un ambiente archiviato, su nessuna superficie. Se l'ambiente era il vostro [default CLI](#select-an-environment-from-the-cli) salvato, Claude Code avvia le sessioni cloud CLI nell'ambiente ospitato da Anthropic quando il vostro elenco ne ha uno, e altrimenti nel primo ambiente nel vostro elenco che non è un [ambiente bridge Remote Control](#the-default-environment). Qualsiasi cosa configurata con l'ambiente esplicitamente, come una [routine](/docs/it/routines#environments-and-network-access), non può avviare nuove sessioni in esso. Puntate a un altro ambiente.183* Nessuna nuova sessione può iniziare in un ambiente archiviato, su nessuna superficie. Se l'ambiente era il vostro [default CLI](#select-an-environment-from-the-cli) salvato, Claude Code avvia le sessioni cloud CLI nell'ambiente ospitato da Anthropic quando il vostro elenco ne ha uno, e altrimenti nel primo ambiente nel vostro elenco che non è un [ambiente bridge Remote Control](#the-default-environment). Qualsiasi cosa configurata con l'ambiente esplicitamente, come una [routine](/docs/it/routines#environments-and-network-access), non può avviare nuove sessioni in esso. Puntate a un altro ambiente.

184 184 

185<h3 id="organization-shared-environments">185<h3 id="organization-shared-environments">


197 197 

198Gli Owner scelgono l'[ambiente predefinito](#the-default-environment) dell'organizzazione separatamente, su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).198Gli Owner scelgono l'[ambiente predefinito](#the-default-environment) dell'organizzazione separatamente, su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

199 199 

200Le sessioni di ogni membro in un ambiente condiviso leggono le sue variabili, quindi non includete segreti in esse. Le [credenziali API](#add-api-credentials), che danno alle sessioni una chiave che non possono leggere, non sono ancora disponibili sui piani Team o Enterprise.200Le sessioni di ogni membro in un ambiente condiviso leggono le sue variabili, quindi non includervi segreti. I [segreti di rete](#add-api-credentials), che danno alle sessioni una chiave che non possono leggere, non sono ancora disponibili sui piani Team o Enterprise.

201 201 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">202<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 Impostare l'ambiente che un canale Claude Tag utilizza203 Impostare l'ambiente che un canale Claude Tag utilizza


239 239 

240* GitHub, attraverso il suo [proxy separato](#github-proxy)240* GitHub, attraverso il suo [proxy separato](#github-proxy)

241* I [connettori MCP](#network-access) che abilitate, il cui traffico viaggia attraverso i server di Anthropic241* I [connettori MCP](#network-access) che abilitate, il cui traffico viaggia attraverso i server di Anthropic

242* Gli host che avete elencato sulle [credenziali API](#add-api-credentials) dell'ambiente, tranne gli [host che non ricevono mai la credenziale](#requests-that-never-get-the-credential)242* Gli host che hai elencato nei [segreti di rete](#add-api-credentials) dell'ambiente, tranne gli [host che non ricevono mai il segreto](#requests-that-never-get-the-credential)

243* L'API Anthropic, per le richieste di Claude Code stesso, anche a **None**, come notato sotto [Sicurezza e isolamento](/docs/it/claude-code-on-the-web#security-and-isolation)243* L'API Anthropic, per le richieste di Claude Code stesso, anche a **None**, come notato sotto [Sicurezza e isolamento](/docs/it/claude-code-on-the-web#security-and-isolation)

244 244 

245<h3 id="allow-specific-domains">245<h3 id="allow-specific-domains">


254registry.example.com254registry.example.com

255```255```

256 256 

257Le sessioni in questo ambiente possono ora raggiungere `api.example.com`, qualsiasi sottodominio di `internal.example.com` e `registry.example.com`, e nessun altro dominio attraverso la rete della sessione. Il [traffico GitHub](#github-proxy), il [traffico del connettore MCP](#network-access) e le richieste agli host delle [credenziali API](#add-api-credentials) dell'ambiente, diversi dagli [host che non ricevono mai la credenziale](#requests-that-never-get-the-credential), non passano attraverso questo elenco di consentiti. Un `*.` iniziale corrisponde a ogni sottodominio. Per mantenere anche i [domini Trusted](#default-allowed-domains), selezionate **Also include default list of common package managers**; lasciatelo deselezionato per consentire solo quello che elencate.257Le sessioni in questo ambiente possono ora raggiungere `api.example.com`, qualsiasi sottodominio di `internal.example.com` e `registry.example.com`, e nessun altro dominio attraverso la rete della sessione. Il [traffico GitHub](#github-proxy), il [traffico dei connettori MCP](#network-access) e le richieste agli host dei [segreti di rete](#add-api-credentials) dell'ambiente, diversi dagli [host che non ricevono mai il segreto](#requests-that-never-get-the-credential), non passano attraverso questa allowlist. Un `*.` iniziale corrisponde a ogni sottodominio. Per mantenere anche i [domini Trusted](#default-allowed-domains), seleziona **Also include default list of common package managers**; lascialo deselezionato per consentire solo ciò che elenchi.

258 258 

259Se la vostra organizzazione utilizza gli [artifact](/docs/it/artifacts#availability), non avete bisogno di `*.frame.claudeusercontent.com` nell'elenco affinché le sessioni li leggano. Quando l'elenco lascia fuori quell'host, Claude Code legge il contenuto dell'artifact attraverso la connessione della sessione ad Anthropic invece. Mantenete l'host in un elenco di consentiti in due situazioni:259Se la vostra organizzazione utilizza gli [artifact](/docs/it/artifacts#availability), non avete bisogno di `*.frame.claudeusercontent.com` nell'elenco affinché le sessioni li leggano. Quando l'elenco lascia fuori quell'host, Claude Code legge il contenuto dell'artifact attraverso la connessione della sessione ad Anthropic invece. Mantenete l'host in un elenco di consentiti in due situazioni:

260 260 


272* **Credenziali Git**: il client git all'interno della VM utilizza una credenziale con ambito, che il proxy verifica e scambia con il vostro token GitHub effettivo.272* **Credenziali Git**: il client git all'interno della VM utilizza una credenziale con ambito, che il proxy verifica e scambia con il vostro token GitHub effettivo.

273* **Richieste API**: le richieste dagli strumenti GitHub integrati e da `gh` sotto il [segnaposto `proxy-injected`](#work-with-github-issues-and-pull-requests), vengono inviate con le vostre credenziali reali sostituite.273* **Richieste API**: le richieste dagli strumenti GitHub integrati e da `gh` sotto il [segnaposto `proxy-injected`](#work-with-github-issues-and-pull-requests), vengono inviate con le vostre credenziali reali sostituite.

274* **Restrizioni sui push**: il proxy rifiuta le eliminazioni di branch e i push di qualsiasi cosa diversa da un branch, come un tag. Non limita quali branch un push può aggiornare. Per farlo, usa le regole di protezione dei branch o i ruleset su GitHub.274* **Restrizioni sui push**: il proxy rifiuta le eliminazioni di branch e i push di qualsiasi cosa diversa da un branch, come un tag. Non limita quali branch un push può aggiornare. Per farlo, usa le regole di protezione dei branch o i ruleset su GitHub.

275* **Ambito del repository**: le richieste API GitHub e di asset di rilascio raggiungono solo i repository collegati alla sessione, quindi uno script di configurazione che scarica asset di rilascio da un repository non collegato riceve un 403.275* **Ambito del repository**: il proxy serve le richieste API GitHub per i repository collegati alla sessione. Una richiesta API per un altro repository riceve un 403 il cui messaggio inizia con `GitHub access to` e contiene `is not enabled for this session`.

276* **Restrizioni GraphQL**: il proxy serve solo un set fisso di operazioni GraphQL per i flussi di lavoro delle pull request. Il proxy rifiuta tutto il resto sull'endpoint GraphQL con un 403 che dice `This GraphQL query is not enabled for this session` e nomina il fallback REST, `gh api repos/{owner}/{repo}/...`. La restrizione si applica a ogni richiesta attraverso il proxy indipendentemente dalle credenziali che fornite, quindi un `GH_TOKEN` che impostate riceve lo stesso 403. Claude non può raggiungere le API GitHub che esistono solo in GraphQL, come Projects v2, attraverso il proxy.276* **Restrizioni GraphQL**: il proxy rifiuta le richieste all'endpoint GraphQL di GitHub con un 403 il cui messaggio inizia con `GitHub GraphQL is not available from Claude Code sessions` e indica il fallback REST, `gh api repos/{owner}/{repo}/...`. I sottocomandi di `gh` che usano GraphQL, come `gh pr` e `gh issue`, ricevono lo stesso 403. La restrizione si applica a ogni richiesta attraverso il proxy indipendentemente dalle credenziali che fornisci, quindi anche un `GH_TOKEN` che imposti riceve lo stesso 403. Claude non può raggiungere attraverso il proxy le API GitHub che esistono solo in GraphQL, come Projects v2.

277 277 

278I file sottoposti a commit dai repository pubblici arrivano tramite `raw.githubusercontent.com`, che il [proxy di sicurezza](#security-proxy) gestisce invece. Quel dominio è nella lista [Trusted](#default-allowed-domains) predefinita, quindi quei file rimangono raggiungibili a meno che il [livello di accesso](#access-levels) dell'ambiente non lo escluda.278I file sottoposti a commit dai repository pubblici arrivano tramite `raw.githubusercontent.com`, che il [proxy di sicurezza](#security-proxy) gestisce invece. Quel dominio è nella lista [Trusted](#default-allowed-domains) predefinita, quindi quei file rimangono raggiungibili a meno che il [livello di accesso](#access-levels) dell'ambiente non lo escluda.

279 279 


285 285 

286* Protezione contro richieste dannose286* Protezione contro richieste dannose

287* Limitazione della velocità e prevenzione degli abusi287* Limitazione della velocità e prevenzione degli abusi

288* Filtro dei contenuti per una sicurezza migliorata

289* Un audit trail a livello DNS dei nomi host richiesti

290 288 

291<h2 id="what’s-available-in-cloud-sessions">289<h2 id="what’s-available-in-cloud-sessions">

292 Cosa è disponibile nelle sessioni cloud290 Cosa è disponibile nelle sessioni cloud

293</h2>291</h2>

294 292 

295Negli ambienti ospitati da Anthropic, ogni sessione ottiene una macchina virtuale (VM) fresca che esegue Ubuntu 24.04 su x86\_64, indipendentemente dal vostro sistema operativo e dall'architettura della CPU, con il vostro repository clonato e i toolchain comuni preinstallati. Quando una dipendenza fornisce binari precompilati, come gem Ruby con estensioni native o wheel Python precostruiti, utilizzate la sua build Linux x86\_64 per corrispondere alla VM. Questa sezione copre i default ospitati da Anthropic, gli strumenti GitHub integrati, come [eseguire test e servizi](#run-tests-start-services-and-add-packages), i [limiti di risorse](#resource-limits) che ogni VM ottiene, e i [limiti di tempo](#time-limits) sul lavoro a lunga esecuzione.293Negli ambienti ospitati da Anthropic, ogni sessione ottiene una macchina virtuale (VM) nuova che esegue Ubuntu 24.04 su x86\_64, indipendentemente dal tuo sistema operativo e dall'architettura della tua CPU, con il tuo repository clonato e i toolchain comuni preinstallati. Quando una dipendenza fornisce binari precompilati, come gem Ruby con estensioni native o wheel Python precompilati, usa la sua build Linux x86\_64 per corrispondere alla VM. Questa sezione copre i default degli ambienti ospitati da Anthropic, gli strumenti GitHub integrati, come [eseguire test e servizi](#run-tests-start-services-and-add-packages), i [limiti di risorse](#resource-limits) di ogni VM e i [limiti di tempo](#time-limits) sul lavoro a lunga esecuzione.

296 294 

297<Note>295<Note>

298 Le sessioni che la vostra organizzazione instrada a un [ambiente self-hosted](/docs/it/self-hosted-environments) vengono eseguite sui vostri runner invece, con gli strumenti che la vostra immagine runner fornisce.296 Le sessioni che la tua organizzazione instrada a un [ambiente self-hosted](/docs/it/self-hosted-environments) vengono invece eseguite sui tuoi runner, con gli strumenti forniti dalla tua immagine runner.

299</Note>297</Note>

300 298 

301<h3 id="what-carries-over-from-your-setup">299<h3 id="what-carries-over-from-your-setup">

302 Cosa viene trasferito dalla vostra configurazione300 Cosa viene trasferito dalla tua configurazione

303</h3>301</h3>

304 302 

305Le sessioni cloud iniziano da un clone fresco del vostro repository. Qualsiasi cosa che sottoponete a commit nel repository è disponibile. Qualsiasi cosa che avete installato o configurato solo sulla vostra macchina non è disponibile nella sessione. La politica della vostra organizzazione arriva separatamente attraverso le [impostazioni gestite dal server](/docs/it/server-managed-settings).303Le sessioni cloud partono da un clone nuovo del tuo repository. Tutto ciò di cui fai il commit nel repository è disponibile. Tutto ciò che hai installato o configurato solo sulla tua macchina non è disponibile nella sessione. La policy della tua organizzazione arriva separatamente tramite le [impostazioni gestite dal server](/docs/it/server-managed-settings).

306 304 

307| | Disponibile nelle sessioni cloud | Perché |305| | Disponibile nelle sessioni cloud | Perché |

308| :- | :- | :- |306| :- | :- | :- |

309| Il vostro `CLAUDE.md` del repository | Sì | Parte del clone |307| Il `CLAUDE.md` del tuo repository | Sì | Parte del clone |

310| I vostri hook `.claude/settings.json` del repository e le regole di permesso | Sì, in una sessione con un repository | Parte del clone. Una sessione con diversi repository, incluso un thread di [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), inizia sopra i clone e non li legge |308| Gli hook e le regole di permesso in `.claude/settings.json` del tuo repository | Sì, in una sessione con un solo repository | Parte del clone. Una sessione con più repository, incluso un thread di [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), parte al di sopra dei clone e non li legge |

311| I vostri server MCP `.mcp.json` del repository | Sì, in una sessione con un repository | Parte del clone, trovato dalla directory di lavoro della sessione |309| I server MCP in `.mcp.json` del tuo repository | Sì, in una sessione con un solo repository | Parte del clone, trovato a partire dalla directory di lavoro della sessione |

312| Il vostro `.claude/rules/` del repository | Sì | Parte del clone |310| La directory `.claude/rules/` del tuo repository | Sì | Parte del clone |

313| Il vostro `.claude/skills/`, `.claude/agents/`, `.claude/commands/` del repository | Sì | Parte del clone |311| Le directory `.claude/skills/`, `.claude/agents/`, `.claude/commands/` del tuo repository | Sì | Parte del clone |

314| Plugin e marketplace dichiarati nel vostro `.claude/settings.json` del repository | No | Una sessione cloud non installa i plugin che un repository attiva sotto [`enabledPlugins`](/docs/it/settings-reference#enabledplugins), inclusi quelli dai marketplace che elenca sotto [`extraKnownMarketplaces`](/docs/it/settings-reference#extraknownmarketplaces) |312| Plugin e marketplace dichiarati in `.claude/settings.json` del tuo repository | No | Una sessione cloud non installa i plugin che un repository attiva in [`enabledPlugins`](/docs/it/settings-reference#enabledplugins), inclusi quelli dei marketplace che elenca in [`extraKnownMarketplaces`](/docs/it/settings-reference#extraknownmarketplaces) |

315| Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione | Sì, eccetto nelle sessioni di [Claude Tag](https://claude.com/docs/claude-tag/overview) | Recuperate dai server di Anthropic quando la sessione inizia. Consultate [Copertura della superficie](/docs/it/model-config#surface-coverage) per come `availableModels` viene applicato nelle sessioni cloud. Le impostazioni distribuite al vostro dispositivo tramite MDM o file di impostazioni gestite non si applicano, perché la sessione viene eseguita su una VM gestita da Anthropic; in un [ambiente self-hosted](/docs/it/self-hosted-environments), le sessioni leggono anche il file di impostazioni gestite nell'immagine runner, per [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) |313| Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della tua organizzazione | Sì, tranne nelle sessioni di [Claude Tag](https://claude.com/docs/claude-tag/overview) | Recuperate dai server di Anthropic all'avvio della sessione. Consulta [Copertura delle superfici](/docs/it/model-config#surface-coverage) per sapere come viene applicato `availableModels` nelle sessioni cloud. Le impostazioni distribuite sul tuo dispositivo tramite MDM o file di impostazioni gestite non si applicano, perché la sessione viene eseguita su una VM gestita da Anthropic; in un [ambiente self-hosted](/docs/it/self-hosted-environments), le sessioni leggono anche il file di impostazioni gestite nell'immagine runner, secondo [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) |

316| Il vostro `~/.claude/CLAUDE.md` utente | No | Vive sulla vostra macchina, non nel repository |314| Il tuo `~/.claude/CLAUDE.md` utente | No | Si trova sulla tua macchina, non nel repository. Consulta [Aggiungere preferenze personali senza fare il commit nel repository](#add-personal-preferences-without-committing-to-the-repo) |

317| Il vostro `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` utente | No | Vivono sulla vostra macchina, non nel repository. Sottoponete a commit nel directory `.claude/` del repository. Le sessioni cloud caricano automaticamente le skill che abilitate su claude.ai |315| Le tue directory utente `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | No | Si trovano sulla tua macchina, non nel repository. Fai invece il commit dei loro contenuti nella directory `.claude/` del repository. Le sessioni cloud caricano automaticamente le skill che abiliti su claude.ai |

318| Plugin abilitati solo nelle vostre impostazioni utente | No | L'`enabledPlugins` con ambito utente vive in `~/.claude/settings.json` sulla vostra macchina |316| Plugin abilitati solo nelle tue impostazioni utente | No | `enabledPlugins` con ambito utente si trova in `~/.claude/settings.json` sulla tua macchina |

319| Server MCP che avete aggiunto con `claude mcp add` all'ambito locale predefinito o all'ambito utente | No | Quelli scrivono su `~/.claude.json` sulla vostra macchina, non nel repository. Aggiungete il server con `claude mcp add --scope project`, che scrive il [`.mcp.json`](/docs/it/mcp#project-scope) del repository, e sottoponete a commit quel file. Una sessione con un repository lo carica |317| Server MCP che hai aggiunto con `claude mcp add` nell'ambito locale predefinito o nell'ambito utente | No | Questi scrivono in `~/.claude.json` sulla tua macchina, non nel repository. Aggiungi il server con `claude mcp add --scope project`, che scrive il file [`.mcp.json`](/docs/it/mcp#project-scope) del repository, e fai il commit di quel file. Una sessione con un solo repository lo carica |

320| Variabili di trasporto nel vostro blocco `env` di `.claude/settings.json` del repository, come `NODE_EXTRA_CA_CERTS` e le [variabili del certificato client mTLS](/docs/it/network-config#mtls-authentication) | No | L'ambiente di hosting gestisce la connessione API della sessione, quindi Claude Code ignora queste chiavi e annota ogni chiave ignorata nel log di debug della sessione |318| Variabili di trasporto nel blocco `env` di `.claude/settings.json` del tuo repository, come `NODE_EXTRA_CA_CERTS` e le [variabili del certificato client mTLS](/docs/it/network-config#mtls-authentication) | No | L'ambiente di hosting gestisce la connessione API della sessione, quindi Claude Code ignora queste chiavi e annota ogni chiave ignorata nel log di debug della sessione |

321| Chiavi API e token per i servizi che Claude chiama | Sui piani Pro e Max, come [credenziali API](#add-api-credentials) | Aggiungete la chiave una volta sull'ambiente e il proxy dell'agente la allega alle richieste per gli host che elencate. Una chiave che il proxy dell'agente [non può allegare](#requests-that-never-get-the-credential), o qualsiasi chiave su un piano Team o Enterprise, rimane in una variabile di ambiente |319| Chiavi API e token per i servizi che Claude chiama | Sui piani Pro e Max, come [segreti di rete](#add-api-credentials) | Aggiungi la chiave una volta sull'ambiente e il proxy dell'agente la allega alle richieste per gli host che elenchi. Una chiave che il proxy dell'agente [non può allegare](#requests-that-never-get-the-credential), o qualsiasi chiave su un piano Team o Enterprise, rimane in una variabile d'ambiente |

322| Auth interattivo come AWS SSO | No | Non supportato. SSO richiede un login basato su browser che non può essere eseguito in una sessione cloud |320| Autenticazione interattiva come AWS SSO | No | Non supportata. SSO richiede un login basato su browser che non può essere eseguito in una sessione cloud |

323 321 

324Per rendere disponibile la vostra configurazione nelle sessioni cloud, sottoponete a commit nel repository.322Per rendere disponibile la tua configurazione nelle sessioni cloud, fanne il commit nel repository.

325 323 

326Chiunque utilizzi l'ambiente può leggere le sue variabili di ambiente e lo script di configurazione. La nota della finestra di dialogo sotto **Environment variables** lo dice e avverte contro l'aggiunta di segreti lì. Sui piani Pro e Max, memorizzate una chiave che il proxy dell'agente può allegare come [credenziale API](#add-api-credentials) invece.324Chiunque utilizzi l'ambiente può leggerne le variabili d'ambiente e lo script di configurazione. La nota della finestra di dialogo sotto **Environment variables** lo indica e sconsiglia di inserirvi segreti. Sui piani Pro e Max, memorizza invece una chiave che il proxy dell'agente può allegare come [segreto di rete](#add-api-credentials).

325 

326<h4 id="add-personal-preferences-without-committing-to-the-repo">

327 Aggiungere preferenze personali senza fare il commit nel repository

328</h4>

329 

330In un ambiente ospitato da Anthropic, aggiungi uno [script di configurazione](#setup-scripts) che scriva `~/.claude/CLAUDE.md` per le preferenze che preferisci non inserire in un repository condiviso. Claude Code carica quel file come [istruzioni utente](/docs/it/memory#choose-where-to-put-claude-md-files) nella sessione. Questo esempio imposta una preferenza per i messaggi di commit:

331 

332```bash theme={null}

333#!/bin/bash

334mkdir -p ~/.claude

335cat > ~/.claude/CLAUDE.md <<'EOF'

336Use conventional commit messages.

337EOF

338```

339 

340Inserisci lo script in uno dei tuoi ambienti personali anziché in uno [condiviso](#organization-shared-environments).

341 

342Esegui `/context` nella tua prossima sessione cloud e verifica che `/root/.claude/CLAUDE.md` compaia sotto **Memory files**.

327 343 

328<h3 id="installed-tools">344<h3 id="installed-tools">

329 Strumenti installati345 Strumenti installati

330</h3>346</h3>

331 347 

332Le sessioni cloud vengono fornite con runtime di linguaggio comuni, strumenti di build e database preinstallati. La tabella seguente riassume cosa è incluso per categoria.348Le sessioni cloud includono runtime di linguaggio comuni, strumenti di build e database preinstallati. La tabella seguente riassume cosa è incluso per categoria.

333 349 

334| Categoria | Incluso |350| Categoria | Incluso |

335| :- | :- |351| :- | :- |


347 363 

348¹ Bun è installato ma ha [problemi di compatibilità](#install-dependencies-with-a-sessionstart-hook) noti con il proxy per il recupero dei pacchetti.364¹ Bun è installato ma ha [problemi di compatibilità](#install-dependencies-with-a-sessionstart-hook) noti con il proxy per il recupero dei pacchetti.

349 365 

350Per ottenere le versioni della maggior parte degli strumenti in questa tabella, chiedete a Claude di eseguire `check-tools` in una sessione cloud. È un comando shell installato sulla VM della sessione, non un comando che digitate con `/`; chiedete a Claude perché [Claude esegue tutti i comandi della VM per voi](#run-tests-start-services-and-add-packages). Per uno strumento che non segnala, come Ruby, PHP, bun, PostgreSQL o Redis, chiedete a Claude di eseguire il comando di versione dello strumento stesso, ad esempio `psql --version`.366Per ottenere le versioni della maggior parte degli strumenti in questa tabella, chiedi a Claude di eseguire `check-tools` in una sessione cloud. È un comando shell installato sulla VM della sessione, non un comando che digiti con `/`; lo chiedi a Claude perché [Claude esegue tutti i comandi della VM per te](#run-tests-start-services-and-add-packages). Per uno strumento che non riporta, come Ruby, PHP, bun, PostgreSQL o Redis, chiedi a Claude di eseguire il comando di versione dello strumento stesso, ad esempio `psql --version`.

351 367 

352Le versioni di Node.js sono installate su `/opt/node20`, `/opt/node21` e `/opt/node22`, con 22 su `PATH` per impostazione predefinita. Per lavorare con una versione diversa, chiedete a Claude di anteporre la directory `bin` di quella versione, come `/opt/node20/bin`, a `PATH`.368Le versioni di Node.js sono installate in `/opt/node20`, `/opt/node21` e `/opt/node22`, con la 22 su `PATH` per impostazione predefinita. Per lavorare con una versione diversa, chiedi a Claude di anteporre a `PATH` la directory `bin` di quella versione, come `/opt/node20/bin`.

353 369 

354I toolchain al di fuori di questo elenco, come .NET SDK, non sono preinstallati anche quando i loro registri di pacchetti sono sulla [lista di consentiti predefinita](#default-allowed-domains). Installateli con uno [script di configurazione](#setup-scripts).370I toolchain non presenti in questo elenco, come .NET SDK, non sono preinstallati anche quando i relativi registri di pacchetti sono nell'[allowlist predefinita](#default-allowed-domains). Installali con uno [script di configurazione](#setup-scripts).

355 371 

356<h3 id="work-with-github-issues-and-pull-requests">372<h3 id="work-with-github-issues-and-pull-requests">

357 Lavorare con i problemi e le pull request di GitHub373 Lavorare con issue e pull request di GitHub

358</h3>374</h3>

359 375 

360Le sessioni cloud includono strumenti GitHub integrati che consentono a Claude di leggere i problemi, elencare le pull request, recuperare i diff e pubblicare commenti senza alcuna configurazione. Questi strumenti si autenticano attraverso il [proxy GitHub](#github-proxy) utilizzando il metodo che avete configurato sotto [Opzioni di autenticazione GitHub](/docs/it/claude-code-on-the-web#github-authentication-options), quindi il vostro token non entra mai nel contenitore.376Le sessioni cloud includono strumenti GitHub integrati che consentono a Claude di leggere le issue, elencare le pull request, recuperare i diff e pubblicare commenti senza alcuna configurazione. Questi strumenti si autenticano tramite il [proxy GitHub](#github-proxy) usando il metodo che hai configurato in [Opzioni di autenticazione GitHub](/docs/it/claude-code-on-the-web#github-authentication-options), quindi il tuo token non entra mai nel container.

361 377 

362Potete impostare `GH_TOKEN` o `GITHUB_TOKEN` voi stessi nelle [impostazioni di ambiente](#set-environment-variables), o lasciare entrambi non impostati e lasciare che il [proxy GitHub](#github-proxy) si autentichi per voi:378Puoi impostare `GH_TOKEN` o `GITHUB_TOKEN` tu stesso nelle [impostazioni dell'ambiente](#set-environment-variables), oppure lasciarli entrambi non impostati e lasciare che il [proxy GitHub](#github-proxy) gestisca l'autenticazione per te:

363 379 

364* Se impostate un token, passa attraverso al contenitore invariato, quindi i vostri script e il [`gh` CLI](https://cli.github.com) di GitHub lo utilizzano direttamente.380* Se imposti un token, viene passato al container senza modifiche, quindi i tuoi script e la [CLI `gh`](https://cli.github.com) di GitHub lo usano direttamente.

365* Se non impostate nessuno e il [proxy GitHub](#github-proxy) sta gestendo l'autenticazione per la vostra sessione, entrambe le variabili leggono come la stringa segnaposto `proxy-injected` nei comandi che Claude esegue, e il proxy sostituisce le vostre credenziali reali sulle richieste GitHub in uscita. `gh` funziona senza un token vostro, ma uno script che legge `GITHUB_TOKEN` direttamente ottiene il segnaposto, non un token utilizzabile.381* Se non ne imposti nessuno e il [proxy GitHub](#github-proxy) gestisce l'autenticazione per la tua sessione, entrambe le variabili contengono la stringa segnaposto `proxy-injected` nei comandi che Claude esegue, e il proxy sostituisce le tue credenziali reali nelle richieste GitHub in uscita. Le chiamate `gh api` per i repository collegati funzionano senza un tuo token, ma uno script che legge direttamente `GITHUB_TOKEN` ottiene il segnaposto, non un token utilizzabile.

366 382 

367Un token che impostate è una variabile di ambiente ordinaria, quindi chiunque utilizzi l'ambiente può leggerlo; il percorso del proxy mantiene la credenziale fuori dalla configurazione dell'ambiente e dalla VM della sessione.383Un token che imposti è una normale variabile d'ambiente, quindi chiunque utilizzi l'ambiente può leggerlo; il percorso tramite proxy mantiene la credenziale fuori dalla configurazione dell'ambiente e dalla VM della sessione.

368 384 

369Per verificare quale caso si applica alla vostra sessione, chiedete a Claude di eseguire `echo $GH_TOKEN`.385Per verificare quale caso si applica alla tua sessione, chiedi a Claude di eseguire `echo $GH_TOKEN`.

370 386 

371Il [`gh` CLI](https://cli.github.com) di GitHub è preinstallato. Se avete bisogno di un comando `gh` che gli strumenti integrati non coprono, come `gh release` o `gh workflow run`, chiedete a Claude di eseguirlo. `gh` legge `GH_TOKEN` automaticamente, quindi non avete bisogno di eseguire `gh auth login`.387La [CLI `gh`](https://cli.github.com) di GitHub è preinstallata. Se ti serve un'operazione GitHub non coperta dagli strumenti integrati, chiedi a Claude di chiamare la REST API con `gh api`. Funzionano anche i sottocomandi `gh` che usano la REST API, come `gh workflow list`. Il proxy [rifiuta i sottocomandi che usano GraphQL](#github-proxy), come `gh pr` e `gh issue`. `gh` legge `GH_TOKEN` automaticamente, quindi non devi eseguire `gh auth login`.

372 388 

373<h3 id="link-output-back-to-the-session">389<h3 id="link-output-back-to-the-session">

374 Collegare l'output di nuovo alla sessione390 Collegare l'output alla sessione

375</h3>391</h3>

376 392 

377Ogni sessione cloud ha un URL di trascrizione su claude.ai, e la sessione può leggere il suo ID dalla variabile di ambiente `CLAUDE_CODE_REMOTE_SESSION_ID`. Utilizzate questo per mettere un link tracciabile nei corpi PR, nei messaggi di commit, nei post Slack o nei report generati in modo che un revisore possa aprire l'esecuzione che li ha prodotti.393Ogni sessione cloud ha un URL di trascrizione su claude.ai, e la sessione può leggere il proprio ID dalla variabile d'ambiente `CLAUDE_CODE_REMOTE_SESSION_ID`. Usalo per inserire un link tracciabile nel corpo delle PR, nei messaggi di commit, nei post Slack o nei report generati, in modo che un revisore possa aprire l'esecuzione che li ha prodotti.

378 394 

379I commit che Claude crea in una sessione cloud includono un trailer git `Claude-Session: <url>`, e i corpi PR includono l'URL della sessione su una riga propria. Per omettere il trailer e il link nel corpo PR, impostate [`attribution.sessionUrl`](/docs/it/settings-reference#attribution-sessionurl) su `false`.395I commit che Claude crea in una sessione cloud includono un trailer git `Claude-Session: <url>`, e il corpo delle PR include l'URL della sessione su una riga a sé. Per omettere il trailer e il link nel corpo della PR, imposta [`attribution.sessionUrl`](/docs/it/settings-reference#attribution-sessionurl) su `false`.

380 396 

381Per includere il link della sessione in qualcosa di diverso da un commit o PR, come un messaggio Slack che Claude pubblica o un file di report che scrive, chiedete a Claude di eseguire il comando seguente e utilizzate il suo output. Il comando converte il prefisso `cse_` nel valore della variabile di ambiente al prefisso `session_` che l'URL della trascrizione si aspetta:397Per includere il link della sessione in qualcosa di diverso da un commit o una PR, come un messaggio Slack che Claude pubblica o un file di report che scrive, fai eseguire a Claude il comando seguente e usane l'output. Il comando converte il prefisso `cse_` nel valore della variabile d'ambiente nel prefisso `session_` che l'URL della trascrizione si aspetta:

382 398 

383```bash theme={null}399```bash theme={null}

384echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"400echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"


388 Eseguire test, avviare servizi e aggiungere pacchetti404 Eseguire test, avviare servizi e aggiungere pacchetti

389</h3>405</h3>

390 406 

391Non avete una shell nella VM della sessione. Claude esegue ogni comando per voi, quindi formulate i compiti in questa sezione come richieste nel vostro prompt.407Non hai accesso a una shell nella VM della sessione. Claude esegue ogni comando per te, quindi formula le attività di questa sezione come richieste nel tuo prompt.

392 408 

393<h4 id="run-tests">409<h4 id="run-tests">

394 Eseguire test410 Eseguire test

395</h4>411</h4>

396 412 

397Claude esegue i test come parte del lavoro su un compito. Chiedete nel vostro prompt, come "fix the failing tests in `tests/`" o "run pytest after each change." I test runner che vengono con i [toolchain preinstallati](#installed-tools), come pytest e cargo test, funzionano senza configurazione aggiuntiva. Un runner che il vostro progetto dichiara come dipendenza, come jest, si installa con le vostre dipendenze.413Claude esegue i test come parte del lavoro su un'attività. Chiedilo nel tuo prompt, ad esempio "fix the failing tests in `tests/`" o "run pytest after each change." I test runner inclusi nei [toolchain preinstallati](#installed-tools), come pytest e cargo test, funzionano senza configurazione aggiuntiva. Un runner che il tuo progetto dichiara come dipendenza, come jest, viene installato insieme alle tue dipendenze.

398 414 

399<h4 id="start-services">415<h4 id="start-services">

400 Avviare servizi416 Avviare servizi

401</h4>417</h4>

402 418 

403PostgreSQL e Redis sono preinstallati ma non in esecuzione per impostazione predefinita. Chiedete a Claude di avviare quello di cui avete bisogno; i comandi che esegue sono:419PostgreSQL e Redis sono preinstallati ma non in esecuzione per impostazione predefinita. Chiedi a Claude di avviare quello che ti serve; i comandi che esegue sono:

404 420 

405```bash theme={null}421```bash theme={null}

406service postgresql start422service postgresql start


410service redis-server start426service redis-server start

411```427```

412 428 

413Docker è disponibile per l'esecuzione di servizi containerizzati. Chiedete a Claude di eseguire `docker compose up` per avviare i servizi del vostro progetto. L'accesso di rete per il pull delle immagini segue il [livello di accesso](#access-levels) del vostro ambiente, e i [default Trusted](#default-allowed-domains) includono Docker Hub e altri registri comuni.429Docker è disponibile per eseguire servizi containerizzati. Chiedi a Claude di eseguire `docker compose up` per avviare i servizi del tuo progetto. L'accesso di rete per scaricare le immagini segue il [livello di accesso](#access-levels) del tuo ambiente, e i [default Trusted](#default-allowed-domains) includono Docker Hub e altri registri comuni.

414 430 

415Se le vostre immagini sono grandi o lente da estrarre, aggiungete `docker compose pull` o `docker compose build` al vostro [script di configurazione](#setup-scripts). La [cache dell'ambiente](#environment-caching) mantiene le immagini estratte, quindi ogni nuova sessione le ha su disco. La cache memorizza solo file, non processi in esecuzione, quindi Claude avvia comunque i contenitori ogni sessione.431Se le tue immagini sono grandi o lente da scaricare, aggiungi `docker compose pull` o `docker compose build` al tuo [script di configurazione](#setup-scripts). La [cache dell'ambiente](#environment-caching) conserva le immagini scaricate, quindi ogni nuova sessione le ha già su disco. La cache memorizza solo file, non processi in esecuzione, quindi Claude avvia comunque i container in ogni sessione.

416 432 

417<h4 id="add-packages">433<h4 id="add-packages">

418 Aggiungere pacchetti434 Aggiungere pacchetti

419</h4>435</h4>

420 436 

421Per aggiungere pacchetti che non sono preinstallati, utilizzate uno [script di configurazione](#setup-scripts). La [cache dell'ambiente](#environment-caching) mantiene quello che lo script installa, quindi i pacchetti che installate lì sono disponibili all'inizio di ogni sessione senza reinstallare ogni volta. Potete anche chiedere a Claude di installare pacchetti a metà sessione, ma quelle installazioni non si trasferiscono ad altre sessioni.437Per aggiungere pacchetti non preinstallati, usa uno [script di configurazione](#setup-scripts). La [cache dell'ambiente](#environment-caching) conserva ciò che lo script installa, quindi i pacchetti installati lì sono disponibili all'inizio di ogni sessione senza doverli reinstallare ogni volta. Puoi anche chiedere a Claude di installare pacchetti a metà sessione, ma queste installazioni non vengono trasferite ad altre sessioni.

422 438 

423<h3 id="resource-limits">439<h3 id="resource-limits">

424 Limiti di risorse440 Limiti di risorse


430* 16 GB di RAM446* 16 GB di RAM

431* 30 GB di disco447* 30 GB di disco

432 448 

433La VM può interrompere i compiti che necessitano di significativamente più memoria, come grandi lavori di build o test ad alta intensità di memoria. Per carichi di lavoro oltre questi limiti, utilizzate [Remote Control](/docs/it/remote-control) per eseguire Claude Code sul vostro hardware, o eseguite le sessioni cloud in un [ambiente self-hosted](/docs/it/self-hosted-environments) su compute che la vostra organizzazione gestisce.449La VM può interrompere le attività che richiedono molta più memoria RAM, come grandi job di build o test ad alto consumo di memoria. Per carichi di lavoro che superano questi limiti, usa [Remote Control](/docs/it/remote-control) per eseguire Claude Code sul tuo hardware, oppure esegui le sessioni cloud in un [ambiente self-hosted](/docs/it/self-hosted-environments) su risorse di calcolo gestite dalla tua organizzazione.

434 450 

435<h3 id="time-limits">451<h3 id="time-limits">

436 Limiti di tempo452 Limiti di tempo

437</h3>453</h3>

438 454 

439Negli ambienti ospitati da Anthropic, questi limiti di tempo si applicano al lavoro a lunga esecuzione in una sessione cloud, come una build, un'installazione o un'esecuzione di test. Ogni voce si collega alla sezione che definisce il limite.455Negli ambienti ospitati da Anthropic, questi limiti di tempo si applicano al lavoro a lunga esecuzione in una sessione cloud, come una build, un'installazione o un'esecuzione di test. Ogni voce rimanda alla sezione che definisce il limite.

440 456 

441* **Comandi che Claude esegue**: un ambiente cloud non imposta il suo proprio timeout di comando, quindi si applicano i default dello strumento Bash. Claude attende 2 minuti per un comando per impostazione predefinita e può chiedere fino a 10 minuti.457* **Comandi che Claude esegue**: un ambiente cloud non imposta un proprio timeout per i comandi, quindi si applicano i default dello strumento Bash. Per impostazione predefinita Claude attende 2 minuti per un comando in primo piano e può richiedere fino a 10 minuti.

442 458 

443 Quando un comando raggiunge il suo [timeout](/docs/it/tools-reference#timeout-and-output-limits), Claude Code [lo sposta in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) invece di fermarlo, a meno che il comando non inizi con `sleep`. Un comando spostato in questo modo può continuare a essere eseguito per altri 30 minuti prima che Claude Code lo interrompa al suo [limite di tempo in background](/docs/it/tools-reference#time-limit-for-background-commands). Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `1800000` millisecondi allunga sia quel limite che il default per il foreground.459 Quando un comando raggiunge il suo [timeout](/docs/it/tools-reference#timeout-and-output-limits), Claude Code [lo sposta in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) invece di interromperlo, a meno che il comando non inizi con `sleep`. Un comando spostato in questo modo può continuare a essere eseguito per altri 30 minuti al massimo prima che Claude Code lo interrompa al raggiungimento del [limite di tempo per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands). Impostare `BASH_DEFAULT_TIMEOUT_MS` oltre `1800000` millisecondi allunga sia quel limite sia il default per i comandi in primo piano.

444* **Hook SessionStart**: Claude Code annulla un hook `command` dopo 600 secondi a meno che non impostiate [`timeout`](/docs/it/hooks#common-fields), in secondi, sulla voce dell'hook. Claude Code non applica il timeout su un hook che eseguite con [`async: true`](/docs/it/hooks#run-hooks-in-the-background).460* **Hook SessionStart**: Claude Code annulla un hook `command` dopo 600 secondi, a meno che tu non imposti [`timeout`](/docs/it/hooks#common-fields), in secondi, nella voce dell'hook. Claude Code non applica il timeout a un hook che esegui con [`async: true`](/docs/it/hooks#run-hooks-in-the-background).

445* **Script di configurazione**: uno script che richiede più di circa cinque minuti non viene memorizzato nella cache. [Requisiti dello script](#script-requirements) copre come rimanere sotto questo limite.461* **Script di configurazione**: uno script che impiega più di circa cinque minuti non viene memorizzato nella cache. [Requisiti dello script](#script-requirements) spiega come restare sotto questo limite.

446* **Sessioni inattive**: dopo alcuni minuti senza attività, la VM di una sessione si mette in pausa con i suoi file salvati, e una VM in pausa può essere successivamente recuperata. [Impostare variabili di ambiente](#set-environment-variables) descrive cosa una sessione raccoglie in ogni caso, e [Environment expired](/docs/it/claude-code-on-the-web#environment-expired) copre come riaprire una sessione la cui VM è stata recuperata.462* **Sessioni inattive**: dopo alcuni minuti senza attività, la VM di una sessione va in pausa con i suoi file salvati, e una VM in pausa può essere successivamente recuperata dal sistema. [Impostare variabili d'ambiente](#set-environment-variables) descrive cosa una sessione recepisce in ciascun caso, e [Environment expired](/docs/it/claude-code-on-the-web#environment-expired) spiega come riaprire una sessione la cui VM è stata recuperata.

447 463 

448Per aumentare i timeout dei comandi per le sessioni di un ambiente, aggiungete [`BASH_DEFAULT_TIMEOUT_MS` e `BASH_MAX_TIMEOUT_MS`](/docs/it/env-vars#variables) alle sue [variabili di ambiente](#set-environment-variables). Entrambi prendono millisecondi. Ad esempio, `BASH_DEFAULT_TIMEOUT_MS=600000` rende 10 minuti il default.464Per aumentare i timeout dei comandi per le sessioni di un ambiente, aggiungi [`BASH_DEFAULT_TIMEOUT_MS` e `BASH_MAX_TIMEOUT_MS`](/docs/it/env-vars#variables) alle sue [variabili d'ambiente](#set-environment-variables). Entrambe accettano valori in millisecondi. Ad esempio, `BASH_DEFAULT_TIMEOUT_MS=600000` imposta 10 minuti come default.

449 465 

450<h2 id="setup-scripts">466<h2 id="setup-scripts">

451 Script di configurazione467 Script di configurazione

code-review.md +1 −1

Details

384 Regola lo sforzo e gli argomenti384 Regola lo sforzo e gli argomenti

385</h3>385</h3>

386 386 

387Passa un [livello di sforzo](/docs/it/model-config#adjust-effort-level) per scambiare copertura con confidenza. A `low` e `medium`, la revisione segnala solo i risultati di cui è più sicura, quindi vedi meno falsi positivi; `high` fino a `max` ampliano la copertura e possono includere risultati di cui la revisione è meno sicura.387Passa un [livello di sforzo](/docs/it/model-config#adjust-effort-level) per scambiare copertura con confidenza. A `low`, la revisione segnala i risultati di cui è più sicura, quindi vedi meno falsi positivi. Da `medium` fino a `max`, la revisione amplia la copertura.

388 388 

389Quando non digiti un livello, la revisione riutilizza l'ultimo livello da `low` a `max` che hai digitato, anche in una sessione precedente, e Claude Code mostra un avviso come `Reusing high effort, the level you typed last time`. Digita un livello, come `/code-review high`, per cambiare ciò che le esecuzioni successive riutilizzano; un livello che passi in un'esecuzione `-p` non interattiva non lo aggiorna. `ultra` non aggiorna né utilizza il livello ricordato. Se non hai mai digitato un livello, la revisione utilizza lo sforzo attuale della sessione. Prima della v2.1.223, un `/code-review` senza un livello utilizzava sempre lo sforzo attuale della sessione.389Quando non digiti un livello, la revisione riutilizza l'ultimo livello da `low` a `max` che hai digitato, anche in una sessione precedente, e Claude Code mostra un avviso come `Reusing high effort, the level you typed last time`. Digita un livello, come `/code-review high`, per cambiare ciò che le esecuzioni successive riutilizzano; un livello che passi in un'esecuzione `-p` non interattiva non lo aggiorna. `ultra` non aggiorna né utilizza il livello ricordato. Se non hai mai digitato un livello, la revisione utilizza lo sforzo attuale della sessione. Prima della v2.1.223, un `/code-review` senza un livello utilizzava sempre lo sforzo attuale della sessione.

390 390 

Details

1586 1586 

1587La sessione illustra un flusso realistico con conteggi di token rappresentativi:1587La sessione illustra un flusso realistico con conteggi di token rappresentativi:

1588 1588 

1589* **Prima di digitare qualcosa**: CLAUDE.md, memoria automatica, nomi degli strumenti MCP e descrizioni delle skill si caricano tutti nel contesto. I file [AGENTS.md](/docs/it/memory#agents-md) possono caricarsi anche loro, da soli o insieme a CLAUDE.md. La tua configurazione personale potrebbe aggiungere altro qui, come uno [stile di output](/docs/it/output-styles) o testo da [`--append-system-prompt`](/docs/it/cli-reference).1589* **Prima di digitare qualcosa**: CLAUDE.md, memoria automatica, nomi degli strumenti MCP e descrizioni delle skill si caricano tutti nel contesto. I file [AGENTS.md](/docs/it/memory#agents-md) possono caricarsi al posto di CLAUDE.md. La tua configurazione personale potrebbe aggiungere altro qui, come uno [stile di output](/docs/it/output-styles) o testo da [`--append-system-prompt`](/docs/it/cli-reference).

1590* **Mentre Claude lavora**: ogni lettura di file si aggiunge al contesto, le [regole con ambito di percorso](/docs/it/memory#path-specific-rules) si caricano automaticamente insieme ai file corrispondenti e un [hook PostToolUse](/docs/it/hooks-guide) si attiva dopo ogni modifica.1590* **Mentre Claude lavora**: ogni lettura di file si aggiunge al contesto, le [regole con ambito di percorso](/docs/it/memory#path-specific-rules) si caricano automaticamente insieme ai file corrispondenti e un [hook PostToolUse](/docs/it/hooks-guide) si attiva dopo ogni modifica.

1591* **Il prompt di follow-up**: un [subagent](/docs/it/sub-agents) gestisce la ricerca nella sua propria finestra di contesto separata, quindi le letture di file di grandi dimensioni rimangono fuori dalla tua. Solo il riepilogo e un piccolo trailer di metadati tornano indietro.1591* **Il prompt di follow-up**: un [subagent](/docs/it/sub-agents) gestisce la ricerca nella sua propria finestra di contesto separata, quindi le letture di file di grandi dimensioni rimangono fuori dalla tua. Solo il riepilogo e un piccolo trailer di metadati tornano indietro.

1592* **Alla fine della procedura dettagliata**: esegui `/compact`, che sostituisce la conversazione con un riepilogo strutturato. La maggior parte del contenuto di avvio si ricarica automaticamente; la tabella sottostante mostra cosa accade a ogni meccanismo.1592* **Alla fine della procedura dettagliata**: esegui `/compact`, che sostituisce la conversazione con un riepilogo strutturato. La maggior parte del contenuto di avvio si ricarica automaticamente; la tabella sottostante mostra cosa accade a ogni meccanismo.


1595 Cosa sopravvive alla compattazione1595 Cosa sopravvive alla compattazione

1596</h2>1596</h2>

1597 1597 

1598Quando una sessione lunga si compatta, Claude Code riassume la cronologia della conversazione per adattarsi alla finestra di contesto. A partire dalla v2.1.198, la richiesta di riepilogo eredita la configurazione del [extended thinking](/docs/it/model-config#extended-thinking) della tua sessione, quindi ragiona con il thinking abilitato quando la tua sessione lo ha abilitato e rimane disattivato altrimenti. Il thinking influisce solo su come viene prodotto il riepilogo; le impostazioni della tua sessione rimangono invariate in seguito. Cosa accade a ogni tipo di contenuto dipende da come è stato caricato:1598Quando una sessione lunga si compatta, Claude Code riassume la cronologia della conversazione per adattarsi alla finestra di contesto. A partire dalla v2.1.198, la richiesta di riepilogo eredita la configurazione del [ragionamento esteso](/docs/it/model-config#extended-thinking) della tua sessione, quindi usa il ragionamento quando la tua sessione lo ha abilitato e lo lascia disattivato altrimenti. Il ragionamento influisce solo su come viene prodotto il riepilogo; le impostazioni della tua sessione rimangono invariate in seguito. Cosa accade a ogni tipo di contenuto dipende da come è stato caricato:

1599 1599 

1600| Meccanismo | Dopo la compattazione |1600| Meccanismo | Dopo la compattazione |

1601| :- | :- |1601| :- | :- |


1608| CLAUDE.md annidato nelle sottodirectory | Claude Code li ricarica [su richiesta](/docs/it/memory#how-claude-md-files-load) |1608| CLAUDE.md annidato nelle sottodirectory | Claude Code li ricarica [su richiesta](/docs/it/memory#how-claude-md-files-load) |

1609| File che Claude ha letto o modificato | Claude Code li rilegge fino a cinque, i più recentemente modificati per primi |1609| File che Claude ha letto o modificato | Claude Code li rilegge fino a cinque, i più recentemente modificati per primi |

1610| Corpi di skill invocati | Reinizializzati, limitati a 5.000 token per skill e 25.000 token totali; i più vecchi vengono eliminati per primi |1610| Corpi di skill invocati | Reinizializzati, limitati a 5.000 token per skill e 25.000 token totali; i più vecchi vengono eliminati per primi |

1611| [Background commands](/docs/it/interactive-mode#background-bash-commands) e background [subagents](/docs/it/sub-agents#run-subagents-in-foreground-or-background) | Continuano a funzionare. Claude Code ricorda a Claude quali sono ancora in esecuzione in modo che non avvii un duplicato |1611| [Comandi in background](/docs/it/interactive-mode#background-bash-commands) e [subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in background | Continuano a funzionare. Claude Code ricorda a Claude quali sono ancora in esecuzione in modo che non avvii un duplicato |

1612| Contesto che gli hooks hanno aggiunto in precedenza | Riassunto insieme al resto della conversazione |1612| Contesto che gli hook hanno aggiunto in precedenza | Riassunto insieme al resto della conversazione |

1613| [SessionStart hooks](/docs/it/hooks-guide#re-inject-context-after-compaction) che corrispondono alla sorgente `compact` | Claude Code li esegue e aggiunge il loro output al contesto compattato |1613| [Hook SessionStart](/docs/it/hooks-guide#re-inject-context-after-compaction) che corrispondono alla sorgente `compact` | Claude Code li esegue e aggiunge il loro output al contesto compattato |

1614 1614 

1615Subito dopo la compattazione, Claude Code rilegge fino a cinque dei file che Claude ha letto o modificato nella sessione, scegliendo quelli modificati più recentemente. Un file di oltre 5.000 token ritorna come riferimento di percorso senza il suo contenuto, mostrato come `Referenced file` invece di `Read`.1615Subito dopo la compattazione, Claude Code rilegge fino a cinque dei file che Claude ha letto o modificato nella sessione, scegliendo quelli modificati più recentemente. Un file di oltre 5.000 token ritorna come riferimento di percorso senza il suo contenuto, mostrato come `Referenced file` invece di `Read`.

1616 1616 

1617Le regole con ambito di percorso e i file CLAUDE.md annidati si caricano nella cronologia dei messaggi quando il loro file trigger viene letto, quindi la compattazione li riassume insieme a tutto il resto. Se una regola deve persistere attraverso la compattazione, rimuovi il frontmatter `paths:` o spostalo nel CLAUDE.md della radice del progetto.1617Le regole con ambito di percorso e i file CLAUDE.md annidati si caricano nella cronologia dei messaggi quando Claude legge, scrive o modifica il loro file trigger, quindi la compattazione li riassume insieme a tutto il resto. Se una regola deve persistere attraverso la compattazione, rimuovi il frontmatter `paths:` o spostala nel CLAUDE.md della radice del progetto.

1618 1618 

1619I corpi delle skill vengono reinizializzati dopo la compattazione, ma le skill di grandi dimensioni vengono troncate per adattarsi al limite per skill, e le skill invocate più vecchie vengono eliminate una volta superato il budget totale. Il troncamento mantiene l'inizio del file, quindi metti le istruzioni più importanti vicino alla parte superiore di `SKILL.md`.1619I corpi delle skill vengono reinizializzati dopo la compattazione, ma le skill di grandi dimensioni vengono troncate per adattarsi al limite per skill, e le skill invocate più vecchie vengono eliminate una volta superato il budget totale. Il troncamento mantiene l'inizio del file, quindi metti le istruzioni più importanti vicino alla parte superiore di `SKILL.md`.

1620 1620 


1632* **Cancella tra i compiti**: esegui `/clear` quando passi a un lavoro non correlato. La vecchia conversazione esclude i file di cui hai bisogno dopo e costa token su ogni messaggio.1632* **Cancella tra i compiti**: esegui `/clear` quando passi a un lavoro non correlato. La vecchia conversazione esclude i file di cui hai bisogno dopo e costa token su ogni messaggio.

1633* **Delega letture di grandi dimensioni**: invia la ricerca a un [subagent](/docs/it/sub-agents) in modo che i contenuti del file rimangono nella sua finestra di contesto, non nella tua.1633* **Delega letture di grandi dimensioni**: invia la ricerca a un [subagent](/docs/it/sub-agents) in modo che i contenuti del file rimangono nella sua finestra di contesto, non nella tua.

1634 1634 

1635Se hai bisogno di una finestra più grande piuttosto che di una conversazione più piccola, i modelli Fable, Sonnet 5 e versioni successive, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una finestra di contesto di 1 milione di token. Vedi [Extended context](/docs/it/model-config#extended-context) per la disponibilità per piano e come selezionare una variante di modello `[1m]`. La compattazione funziona allo stesso modo al limite più grande.1635Se hai bisogno di una finestra più grande piuttosto che di una conversazione più piccola, i modelli Fable, Sonnet 5 e versioni successive, Haiku 5.5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una finestra di contesto di 1 milione di token. Vedi [Extended context](/docs/it/model-config#extended-context) per la disponibilità per piano e come selezionare una variante di modello `[1m]`. La compattazione funziona allo stesso modo al limite più grande.

1636 1636 

1637Sonnet 5.5 e Sonnet 5 funzionano con la finestra di contesto 1M e non hanno alcuna variante `[1m]` da selezionare. Vedi [Sonnet 5.5 and Sonnet 5 context window](/docs/it/model-config#sonnet-5-5-and-sonnet-5-context-window) per le loro soglie di auto-compattazione, e [the context window behind a gateway](/docs/it/model-config#context-window-behind-a-gateway) per come Claude Code dimensiona la finestra quando imposti `ANTHROPIC_BASE_URL` su un [LLM gateway](/docs/it/llm-gateway).1637Sonnet 5.5 e Sonnet 5 funzionano con la finestra di contesto 1M e non hanno alcuna variante `[1m]` da selezionare. Vedi [Sonnet 5.5 and Sonnet 5 context window](/docs/it/model-config#sonnet-5-5-and-sonnet-5-context-window) per le loro soglie di auto-compattazione, e [the context window behind a gateway](/docs/it/model-config#context-window-behind-a-gateway) per come Claude Code dimensiona la finestra quando imposti `ANTHROPIC_BASE_URL` su un [LLM gateway](/docs/it/llm-gateway).

1638 1638 

costs.md +16 −16

Details

252 Riduci l'utilizzo dei token252 Riduci l'utilizzo dei token

253</h2>253</h2>

254 254 

255I costi dei token si ridimensionano con la dimensione del contesto: più contesto Claude elabora, più token utilizzi. Claude Code ottimizza automaticamente i costi attraverso il [prompt caching](/docs/it/prompt-caching), che riduce i costi per il contenuto ripetuto come i prompt di sistema, e l'auto-compact, che riassume la cronologia della conversazione quando ci si avvicina ai limiti del contesto.255I costi dei token si ridimensionano con la dimensione del contesto: più contesto Claude elabora, più token utilizzi. Claude Code ottimizza automaticamente i costi attraverso il [prompt caching](/docs/it/prompt-caching), che riduce i costi per il contenuto ripetuto come i prompt di sistema, e la compattazione automatica, che riassume la cronologia della conversazione quando ci si avvicina ai limiti del contesto.

256 256 

257Le seguenti strategie ti aiutano a mantenere il contesto piccolo e ridurre i costi per messaggio.257Le seguenti strategie ti aiutano a mantenere il contesto piccolo e ridurre i costi per messaggio.

258 258 


260 Gestisci il contesto in modo proattivo260 Gestisci il contesto in modo proattivo

261</h3>261</h3>

262 262 

263Utilizza `/usage` per controllare l'utilizzo attuale dei token, o [configura la tua linea di stato](/docs/it/statusline#context-window-usage) per visualizzarla continuamente.263Utilizza `/usage` per controllare l'utilizzo attuale dei token, o [configura la tua riga di stato](/docs/it/statusline#context-window-usage) per visualizzarlo continuamente.

264 264 

265* **Cancella tra i compiti**: Utilizza `/clear` per ricominciare da capo quando passi a lavori non correlati. Il contesto obsoleto spreca token su ogni messaggio successivo. Utilizza `/rename` prima di cancellare in modo da poter trovare la sessione in seguito, quindi `/resume` per tornare ad essa.265* **Cancella tra i compiti**: Utilizza `/clear` per ricominciare da capo quando passi a lavori non correlati. Il contesto obsoleto spreca token su ogni messaggio successivo. Utilizza `/rename` prima di cancellare in modo da poter trovare la sessione in seguito, quindi `/resume` per tornare ad essa.

266* **Aggiungi istruzioni di compaction personalizzate**: `/compact Focus on code samples and API usage` dice a Claude cosa preservare durante la sintesi.266* **Aggiungi istruzioni di compattazione personalizzate**: `/compact Focus on code samples and API usage` dice a Claude cosa preservare durante la sintesi.

267 267 

268Puoi anche personalizzare il comportamento della compaction nel tuo file CLAUDE.md nella radice del tuo progetto:268Puoi anche personalizzare il comportamento della compattazione nel tuo file CLAUDE.md nella radice del tuo progetto:

269 269 

270```markdown theme={null}270```markdown theme={null}

271# Compact instructions271# Compact instructions


280Sonnet gestisce bene la maggior parte dei compiti di codifica e costa meno di Opus. Riserva Opus per decisioni architettoniche complesse o ragionamento multi-step. Utilizza `/model` per cambiare modello a metà sessione, o imposta un valore predefinito in `/config`. Un passaggio a Opus si applica anche ai [subagent che ereditano il modello della tua sessione](/docs/it/model-config#setting-your-model). Per semplici compiti subagent, specifica `model: haiku` nella tua [configurazione subagent](/docs/it/sub-agents#choose-a-model).280Sonnet gestisce bene la maggior parte dei compiti di codifica e costa meno di Opus. Riserva Opus per decisioni architettoniche complesse o ragionamento multi-step. Utilizza `/model` per cambiare modello a metà sessione, o imposta un valore predefinito in `/config`. Un passaggio a Opus si applica anche ai [subagent che ereditano il modello della tua sessione](/docs/it/model-config#setting-your-model). Per semplici compiti subagent, specifica `model: haiku` nella tua [configurazione subagent](/docs/it/sub-agents#choose-a-model).

281 281 

282<h3 id="reduce-mcp-server-overhead">282<h3 id="reduce-mcp-server-overhead">

283 Riduci l'overhead del server MCP283 Riduci l'overhead dei server MCP

284</h3>284</h3>

285 285 

286Le definizioni degli strumenti MCP sono [rinviate per impostazione predefinita](/docs/it/mcp#scale-with-mcp-tool-search), quindi solo i nomi degli strumenti e le istruzioni del server entrano nel contesto finché Claude non utilizza uno strumento specifico. Esegui `/context` per vedere cosa sta consumando spazio.286Le definizioni degli strumenti MCP sono [rinviate per impostazione predefinita](/docs/it/mcp#scale-with-mcp-tool-search), quindi solo i nomi degli strumenti e le istruzioni del server entrano nel contesto finché Claude non utilizza uno strumento specifico. Esegui `/context` per vedere cosa sta consumando spazio.


295I [plugin di intelligenza del codice](/docs/it/plugins/code-intelligence) danno a Claude una navigazione precisa dei simboli invece della ricerca basata su testo, riducendo le letture di file non necessarie quando si esplora codice sconosciuto. Una singola chiamata "vai alla definizione" sostituisce quello che altrimenti potrebbe essere un grep seguito dalla lettura di più file candidati. I server di linguaggio installati segnalano anche gli errori di tipo automaticamente dopo le modifiche, quindi Claude cattura gli errori senza eseguire un compilatore.295I [plugin di intelligenza del codice](/docs/it/plugins/code-intelligence) danno a Claude una navigazione precisa dei simboli invece della ricerca basata su testo, riducendo le letture di file non necessarie quando si esplora codice sconosciuto. Una singola chiamata "vai alla definizione" sostituisce quello che altrimenti potrebbe essere un grep seguito dalla lettura di più file candidati. I server di linguaggio installati segnalano anche gli errori di tipo automaticamente dopo le modifiche, quindi Claude cattura gli errori senza eseguire un compilatore.

296 296 

297<h3 id="offload-processing-to-hooks-and-skills">297<h3 id="offload-processing-to-hooks-and-skills">

298 Offload dell'elaborazione agli hook e alle skills298 Offload dell'elaborazione agli hook e alle skill

299</h3>299</h3>

300 300 

301Gli [hook](/docs/it/hooks) personalizzati possono pre-elaborare i dati prima che Claude li veda. Invece di Claude che legge un file di log di 10.000 righe per trovare errori, un hook può cercare `ERROR` e restituire solo le righe corrispondenti, riducendo il contesto da decine di migliaia di token a centinaia.301Gli [hook](/docs/it/hooks) personalizzati possono pre-elaborare i dati prima che Claude li veda. Invece di Claude che legge un file di log di 10.000 righe per trovare errori, un hook può cercare `ERROR` e restituire solo le righe corrispondenti, riducendo il contesto da decine di migliaia di token a centinaia.


350Per verificare la configurazione, esegui `/hooks` e controlla che l'hook appaia sotto PreToolUse. Puoi anche avviare Claude Code con `claude --debug-file ./claude-debug.txt` e chiedere a Claude di eseguire `npm test`. Quando l'hook riscrive il comando, quel file di log contiene una riga `modified tool input keys` che elenca `command` e gli altri campi di input Bash.350Per verificare la configurazione, esegui `/hooks` e controlla che l'hook appaia sotto PreToolUse. Puoi anche avviare Claude Code con `claude --debug-file ./claude-debug.txt` e chiedere a Claude di eseguire `npm test`. Quando l'hook riscrive il comando, quel file di log contiene una riga `modified tool input keys` che elenca `command` e gli altri campi di input Bash.

351 351 

352<h3 id="move-instructions-from-claude-md-to-skills">352<h3 id="move-instructions-from-claude-md-to-skills">

353 Sposta le istruzioni da CLAUDE.md alle skills353 Sposta le istruzioni da CLAUDE.md alle skill

354</h3>354</h3>

355 355 

356Il tuo file [CLAUDE.md](/docs/it/memory) viene caricato nel contesto all'inizio della sessione. Se contiene istruzioni dettagliate per flussi di lavoro specifici (come revisioni PR o migrazioni di database), quei token sono presenti anche quando stai facendo lavori non correlati. Le [skills](/docs/it/skills) si caricano su richiesta solo quando invocate, quindi spostare le istruzioni specializzate nelle skills mantiene il tuo contesto di base più piccolo. Mira a mantenere CLAUDE.md sotto 200 righe includendo solo gli elementi essenziali.356Il tuo file [CLAUDE.md](/docs/it/memory) viene caricato nel contesto all'inizio della sessione. Se contiene istruzioni dettagliate per workflow specifici (come revisioni PR o migrazioni di database), quei token sono presenti anche quando stai facendo lavori non correlati. Le [skill](/docs/it/skills) si caricano su richiesta solo quando invocate, quindi spostare le istruzioni specializzate nelle skill mantiene il tuo contesto di base più piccolo. Mira a mantenere CLAUDE.md sotto 200 righe includendo solo gli elementi essenziali.

357 357 

358<h3 id="adjust-extended-thinking">358<h3 id="adjust-extended-thinking">

359 Regola il pensiero esteso359 Regola il ragionamento esteso

360</h3>360</h3>

361 361 

362Il pensiero esteso è abilitato per impostazione predefinita perché migliora significativamente le prestazioni su compiti complessi di pianificazione e ragionamento. I token di pensiero vengono fatturati come token di output, e il budget predefinito può essere decine di migliaia di token per richiesta a seconda del modello.362Il ragionamento esteso è abilitato per impostazione predefinita perché migliora significativamente le prestazioni su compiti complessi di pianificazione e ragionamento. I token di ragionamento vengono fatturati come token di output, e il budget predefinito può essere decine di migliaia di token per richiesta a seconda del modello.

363 363 

364Per compiti più semplici dove il ragionamento profondo non è necessario, puoi ridurre i costi abbassando il [livello di sforzo](/docs/it/model-config#adjust-effort-level) con `/effort` o in `/model`, o disabilitando il pensiero in `/config`. Non puoi disattivare il pensiero su Opus 5.5, Sonnet 5.5, o sui modelli Fable, che utilizzano sempre il pensiero esteso.364Per compiti più semplici dove il ragionamento profondo non è necessario, puoi ridurre i costi abbassando il [livello di sforzo](/docs/it/model-config#adjust-effort-level) con `/effort` o in `/model`, o disabilitando il ragionamento in `/config`. Non puoi disattivare il ragionamento su Opus 5.5, Sonnet 5.5, Haiku 5.5 o sui modelli Fable, che utilizzano sempre il ragionamento esteso.

365 365 

366Sui modelli con un [budget di pensiero fisso](/docs/it/model-config#adaptive-reasoning-and-fixed-thinking-budgets), puoi anche abbassare il budget impostando la [variabile di ambiente](/docs/it/env-vars) `MAX_THINKING_TOKENS`, ad esempio `MAX_THINKING_TOKENS=8000`. I modelli di ragionamento adattivo ignorano i budget diversi da zero, quindi utilizza i livelli di sforzo lì.366Sui modelli con un [budget di ragionamento fisso](/docs/it/model-config#adaptive-reasoning-and-fixed-thinking-budgets), puoi anche abbassare il budget impostando la [variabile d'ambiente](/docs/it/env-vars) `MAX_THINKING_TOKENS`, ad esempio `MAX_THINKING_TOKENS=8000`. I modelli di ragionamento adattivo ignorano i budget diversi da zero, quindi utilizza i livelli di sforzo lì.

367 367 

368<h3 id="delegate-verbose-operations-to-subagents">368<h3 id="delegate-verbose-operations-to-subagents">

369 Delega le operazioni dettagliate ai subagent369 Delega le operazioni dettagliate ai subagent


371 371 

372L'esecuzione di test, il recupero della documentazione o l'elaborazione di file di log possono consumare un contesto significativo. Delega questi ai [subagent](/docs/it/sub-agents#isolate-high-volume-operations) in modo che l'output dettagliato rimanga nel contesto del subagent mentre solo un riassunto ritorna alla tua conversazione principale.372L'esecuzione di test, il recupero della documentazione o l'elaborazione di file di log possono consumare un contesto significativo. Delega questi ai [subagent](/docs/it/sub-agents#isolate-high-volume-operations) in modo che l'output dettagliato rimanga nel contesto del subagent mentre solo un riassunto ritorna alla tua conversazione principale.

373 373 

374L'utilizzo dei subagent stesso attinge ancora al tuo utilizzo. Per spendere meno su di essi, [scegli un modello più piccolo per un subagent](/docs/it/sub-agents#choose-a-model) o [esegui ogni subagent su un modello](/docs/it/sub-agents#run-every-subagent-on-one-model).374Le richieste del subagent stesso attingono comunque al tuo utilizzo. Per spendere meno su di esse, [scegli un modello più piccolo per un subagent](/docs/it/sub-agents#choose-a-model) o [esegui ogni subagent su un modello](/docs/it/sub-agents#run-every-subagent-on-one-model).

375 375 

376<h3 id="manage-agent-team-costs">376<h3 id="manage-agent-team-costs">

377 Gestisci i costi del team di agenti377 Gestisci i costi del team di agenti


383 Scrivi prompt specifici383 Scrivi prompt specifici

384</h3>384</h3>

385 385 

386Richieste vaghe come "migliora questa codebase" attivano una scansione ampia. Richieste specifiche come "aggiungi la convalida dell'input alla funzione di accesso in auth.ts" permettono a Claude di lavorare in modo efficiente con letture di file minime.386Richieste vaghe come "migliora questo codebase" attivano una scansione ampia. Richieste specifiche come "aggiungi la convalida dell'input alla funzione di accesso in auth.ts" permettono a Claude di lavorare in modo efficiente con letture di file minime.

387 387 

388<h3 id="work-efficiently-on-complex-tasks">388<h3 id="work-efficiently-on-complex-tasks">

389 Lavora in modo efficiente su compiti complessi389 Lavora in modo efficiente su compiti complessi


391 391 

392Per lavori più lunghi o complessi, queste abitudini aiutano a evitare token sprecati andando nella direzione sbagliata:392Per lavori più lunghi o complessi, queste abitudini aiutano a evitare token sprecati andando nella direzione sbagliata:

393 393 

394* **Utilizza plan mode per compiti complessi**: Premi Shift+Tab per entrare in [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) prima dell'implementazione. Claude esplora la codebase e propone un approccio per la tua approvazione, prevenendo la rielaborazione costosa quando la direzione iniziale è sbagliata.394* **Utilizza plan mode per compiti complessi**: Premi Shift+Tab per entrare in [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) prima dell'implementazione. Claude esplora il codebase e propone un approccio per la tua approvazione, prevenendo la rielaborazione costosa quando la direzione iniziale è sbagliata.

395* **Correggi la rotta presto**: Se Claude inizia a andare nella direzione sbagliata, premi Escape per fermarti immediatamente. Utilizza `/rewind` o doppio tocco Escape per ripristinare la conversazione e il codice a un checkpoint precedente.395* **Correggi la rotta presto**: Se Claude inizia a andare nella direzione sbagliata, premi Escape per fermarti immediatamente. Utilizza `/rewind` o doppio tocco Escape per ripristinare la conversazione e il codice a un checkpoint precedente.

396* **Fornisci target di verifica**: Includi casi di test, incolla screenshot o definisci l'output previsto nel tuo prompt. Quando Claude può verificare il suo lavoro, cattura i problemi prima che tu debba richiedere correzioni.396* **Fornisci target di verifica**: Includi casi di test, incolla screenshot o definisci l'output previsto nel tuo prompt. Quando Claude può verificare il suo lavoro, cattura i problemi prima che tu debba richiedere correzioni.

397* **Testa in modo incrementale**: Scrivi un file, testalo, quindi continua. Questo cattura i problemi presto quando sono economici da risolvere.397* **Testa in modo incrementale**: Scrivi un file, testalo, quindi continua. Questo cattura i problemi presto.

398 398 

399<h2 id="background-token-usage">399<h2 id="background-token-usage">

400 Utilizzo dei token in background400 Utilizzo dei token in background

desktop.md +59 −8

Details

108 Disponibilità della modalità auto108 Disponibilità della modalità auto

109</h4>109</h4>

110 110 

111La modalità auto è disponibile a tutti gli utenti sull'API Anthropic e richiede Claude Opus 4.6 o successivo, Sonnet 4.6 o successivo, o un [modello Fable](/docs/it/model-config#work-with-fable). Gli amministratori dell'organizzazione possono disattivare la modalità auto con la chiave `disableAutoMode` nelle [impostazioni gestite](#managed-settings).111La modalità auto è disponibile a tutti gli utenti sull'API Anthropic e richiede Claude Opus 4.6 o successivo, Sonnet 4.6 o successivo, Haiku 5.5 o un [modello Fable](/docs/it/model-config#work-with-fable). Gli amministratori dell'organizzazione possono disattivare la modalità auto con la chiave `disableAutoMode` nelle [impostazioni gestite](#managed-settings).

112 112 

113Nelle distribuzioni Enterprise che instradano Desktop verso Agent Platform di Google Cloud, la modalità auto è anche disponibile per impostazione predefinita; vedi [Modalità auto su Bedrock, Agent Platform o Foundry](/docs/it/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) per i modelli supportati.113Nelle distribuzioni Enterprise che instradano Desktop verso Agent Platform di Google Cloud, la modalità auto è anche disponibile per impostazione predefinita; vedi [Modalità auto su Bedrock, Agent Platform o Foundry](/docs/it/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) per i modelli supportati.

114 114 


225 Esegui comandi nel terminale225 Esegui comandi nel terminale

226</h3>226</h3>

227 227 

228Il terminale integrato ti consente di eseguire comandi insieme alla tua sessione senza passare a un'altra app. Fai clic su **Terminal** nella barra del titolo della sessione o premi **Ctrl+\`** su macOS o Windows. Il terminale si apre nella directory di lavoro della tua sessione e condivide lo stesso ambiente di Claude, quindi comandi come `npm test` o `git status` vedono gli stessi file che Claude sta modificando. Per aprire una seconda scheda del terminale, fai clic su **+** nell'header del pannello del terminale o fai clic con il pulsante destro su una cartella nella chat per scegliere **Open in terminal**. Il terminale è disponibile solo nelle sessioni locali.228Il terminale integrato ti consente di eseguire comandi insieme alla tua sessione senza passare a un'altra app. Fai clic su **Terminal** nella barra del titolo della sessione o premi **Ctrl+\`** su macOS o Windows. Il terminale si apre nella directory di lavoro della tua sessione e condivide lo stesso ambiente di Claude, quindi comandi come `npm test` o `git status` vedono gli stessi file che Claude sta modificando. Per aprire una seconda scheda del terminale, fai clic su **+** nell'header del pannello del terminale o fai clic con il pulsante destro su una cartella nella chat per scegliere **Open in terminal**. Il terminale è disponibile nelle sessioni locali e [SSH](#ssh-sessions).

229 229 

230<h3 id="open-and-edit-files">230<h3 id="open-and-edit-files">

231 Apri e modifica file231 Apri e modifica file


743 743 

744Per impostare variabili di ambiente per le sessioni locali e i server di sviluppo su qualsiasi piattaforma, apri il menu a discesa dell'ambiente nella casella del prompt, passa il mouse su **Local** e fai clic sull'icona dell'ingranaggio per aprire l'editor di ambiente locale. Le variabili che salvi qui vengono archiviate crittografate sulla tua macchina e si applicano a ogni sessione locale e server di anteprima che avvii. Puoi anche aggiungere variabili alla chiave `env` nel tuo file `~/.claude/settings.json`, anche se queste raggiungono solo le sessioni Claude e non i server di sviluppo. Vedi [variabili di ambiente](/docs/it/env-vars) per l'elenco completo delle variabili supportate.744Per impostare variabili di ambiente per le sessioni locali e i server di sviluppo su qualsiasi piattaforma, apri il menu a discesa dell'ambiente nella casella del prompt, passa il mouse su **Local** e fai clic sull'icona dell'ingranaggio per aprire l'editor di ambiente locale. Le variabili che salvi qui vengono archiviate crittografate sulla tua macchina e si applicano a ogni sessione locale e server di anteprima che avvii. Puoi anche aggiungere variabili alla chiave `env` nel tuo file `~/.claude/settings.json`, anche se queste raggiungono solo le sessioni Claude e non i server di sviluppo. Vedi [variabili di ambiente](/docs/it/env-vars) per l'elenco completo delle variabili supportate.

745 745 

746[Extended thinking](/docs/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni su compiti di ragionamento complesso ma utilizza token aggiuntivi. Su Anthropic API, imposta `MAX_THINKING_TOKENS` a `0` nell'editor di ambiente locale per disattivare il thinking; questo non ha effetto su Opus 5.5, Sonnet 5.5 o sui Fable models, che utilizzano sempre extended thinking. Con il thinking disattivato su Anthropic API, Claude Code invia effort `high` invece di un livello superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5.746Il [ragionamento esteso](/docs/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni su compiti di ragionamento complesso ma utilizza token aggiuntivi. Sulla Anthropic API, imposta `MAX_THINKING_TOKENS` a `0` nell'editor di ambiente locale per disattivare il ragionamento; questo non ha effetto su Opus 5.5, Sonnet 5.5, Haiku 5.5 o sui modelli Fable, che utilizzano sempre il ragionamento esteso. Con il ragionamento disattivato sulla Anthropic API, Claude Code invia effort `high` invece di un livello superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5.

747 747 

748Sui modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level), Claude Code ignora il numero in sé in un valore positivo di `MAX_THINKING_TOKENS`, perché è invece il ragionamento adattivo a controllare la profondità del ragionamento. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di ragionamento fisso; i modelli Fable, Sonnet 5 e versioni successive, e Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo e non hanno una modalità di budget fisso.748Sui modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level), Claude Code ignora il numero in sé in un valore positivo di `MAX_THINKING_TOKENS`, perché è invece il ragionamento adattivo a controllare la profondità del ragionamento. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di ragionamento fisso; i modelli Fable, Sonnet 5 e versioni successive, Haiku 5.5, e Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo e non hanno una modalità di budget fisso.

749 749 

750<h4 id="local-sessions-on-managed-devices">750<h4 id="local-sessions-on-managed-devices">

751 Local sessions on managed devices751 Local sessions on managed devices


783 783 

784La macchina remota deve eseguire Linux o macOS. L'app desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Una volta connesso, le sessioni SSH supportano modalità di autorizzazione, connettori, plugin e MCP server.784La macchina remota deve eseguire Linux o macOS. L'app desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Una volta connesso, le sessioni SSH supportano modalità di autorizzazione, connettori, plugin e MCP server.

785 785 

786<h4 id="open-an-ssh-session-from-a-link">

787 Aprire una sessione SSH da un link

788</h4>

789 

790Un link `claude://code/new` apre la pagina di nuova sessione di Desktop e può indicare una connessione SSH. Inserisci un link di questo tipo in un runbook, in una dashboard o in una pagina wiki per aprire Desktop già configurato per la macchina e la cartella giuste. Per le piattaforme che rimuovono questi link, consulta [Il link viene visualizzato come testo normale invece di essere cliccabile](/docs/it/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable).

791 

792I link SSH richiedono Claude Desktop v2.110.0 o versioni successive.

793 

794Il link seguente indica l'utente `dev` su `build.example.com`, la porta 2222 e la cartella `/srv/payments`, e compila un prompt:

795 

796```text theme={null}

797claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

798```

799 

800Un link SSH accetta questi parametri, e solo `ssh_host` è obbligatorio:

801 

802| Parametro | Valore |

803| :- | :- |

804| `ssh_host` | `host` o `user@host`, scritto come nel campo **SSH host**. Il valore non può iniziare con `-`, e la parte host accetta solo lettere, cifre, `.`, `_`, `:` e `-` |

805| `ssh_port` | Un numero di porta da 1 a 65535 |

806| `ssh_folder` | Una cartella sulla macchina remota. Inizia con `/` o `~/`, oppure usa `~` |

807| `q` | Testo con codifica URL per la casella del prompt |

808 

809Un alias di `~/.ssh/config` funziona come `ssh_host` solo per chi ha quella voce. Per far corrispondere una connessione che le persone hanno già, assegna al link lo stesso utente, host e porta di quella connessione.

810 

811Quando apri il link, Desktop ti chiede di confermare prima di selezionare la connessione:

812 

813* **Una connessione che hai già**: se host, utente e porta corrispondono a una delle tue connessioni, Desktop ti chiede se usarla e ti mostra il nome e l'host della connessione, e la cartella se il link ne indica una.

814* **Una nuova connessione**: altrimenti Desktop apre la finestra di dialogo per aggiungere una connessione SSH. Quando aggiungi la connessione, Desktop ti chiede se connetterti prima di salvare qualsiasi cosa e ti mostra l'host del link, e la porta e la cartella se il link le indica.

815 

816Finché non confermi, Desktop non salva l'host, la porta o la cartella del link, e non seleziona né apre una connessione con essi. Se è già selezionata una connessione SSH, la pagina di nuova sessione può comunque connettersi a essa autonomamente, come fa senza un link, anche quando il link indica lo stesso host. Un link non può contenere un file di chiave, una password o un comando.

817 

818Chiunque può scrivere un link, quindi controlla cosa ha compilato:

819 

820* **Prima di confermare**: controlla l'host e la cartella.

821* **Prima di inviare**: controlla il prompt e l'ambiente selezionato.

822 

823Desktop compila il prompt quando il link si apre, al posto di qualsiasi testo che non hai inviato, e non lo invia mai al posto tuo. Tratta il prompt come testo normale, quindi una `/` o un `!` iniziali e una menzione di file con `@` non agiscono come comando o menzione. Se annulli, il prompt rimane nella casella e l'ambiente che avevi selezionato non cambia.

824 

825Un link non aggira [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to). Desktop controlla l'allowlist quando si connette.

826 

827Se il link apre Desktop senza una finestra di dialogo relativa alla connessione, verifica una di queste cause:

828 

829* **Hai effettuato la disconnessione**: accedi, quindi apri di nuovo il link.

830* **È aperta un'altra finestra di dialogo**: chiudila, quindi apri di nuovo il link.

831* **Il link non è valido**: Desktop mostra un messaggio che indica cosa correggere e non compila il prompt.

832* **Desktop è precedente alla v2.110.0**: le versioni precedenti ignorano i parametri SSH e aprono la pagina di nuova sessione solo con il prompt.

833* **Le sessioni SSH sono disattivate**: se il tuo amministratore imposta l'allowlist su un array vuoto, Desktop rifiuta i link SSH.

834 

786<h4 id="pre-configure-ssh-connections-for-your-team">835<h4 id="pre-configure-ssh-connections-for-your-team">

787 Pre-configure SSH connections for your team836 Pre-configure SSH connections for your team

788</h4>837</h4>


805}854}

806```855```

807 856 

808Ogni voce richiede `id`, `name` e `sshHost`. I campi `sshPort` e `sshIdentityFile` sono facoltativi. Gli utenti possono anche aggiungere `sshConfigs` al loro `~/.claude/settings.json`, che è dove vengono archiviate le connessioni aggiunte tramite la finestra di dialogo.857Ogni voce richiede `id`, `name` e `sshHost`. I campi `sshPort` e `sshIdentityFile` sono facoltativi. Gli utenti possono anche aggiungere `sshConfigs` al proprio `~/.claude/settings.json`.

809 858 

810<h4 id="restrict-which-ssh-hosts-users-can-connect-to">859<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

811 Restrict which SSH hosts users can connect to860 Restrict which SSH hosts users can connect to


866| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel menu a discesa dell'ambiente. Gli utenti non possono modificare o eliminare le connessioni gestite. |915| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel menu a discesa dell'ambiente. Gli utenti non possono modificare o eliminare le connessioni gestite. |

867| `sshHostAllowlist` | limita le [sessioni SSH](#restrict-which-ssh-hosts-users-can-connect-to) agli host il cui nome host risolto corrisponde a uno di questi modelli. Un array vuoto disabilita le sessioni SSH. Letto solo dalle impostazioni gestite. |916| `sshHostAllowlist` | limita le [sessioni SSH](#restrict-which-ssh-hosts-users-can-connect-to) agli host il cui nome host risolto corrisponde a uno di questi modelli. Un array vuoto disabilita le sessioni SSH. Letto solo dalle impostazioni gestite. |

868| `disableDesktopLocalSessions` | imposta su `true` per disattivare le [sessioni Code che vengono eseguite sul dispositivo](#local-sessions-on-managed-devices), lasciando disponibili le sessioni SSH verso altri host e le sessioni cloud. Il valore deve essere il booleano JSON `true`. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.37937.0 o successivo. |917| `disableDesktopLocalSessions` | imposta su `true` per disattivare le [sessioni Code che vengono eseguite sul dispositivo](#local-sessions-on-managed-devices), lasciando disponibili le sessioni SSH verso altri host e le sessioni cloud. Il valore deve essere il booleano JSON `true`. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.37937.0 o successivo. |

918| `disableSshSavedPasswords` | imposta su `true` per impedire a Desktop di offrire di ricordare le password SSH e di usare o mostrare quelle salvate in precedenza. Attivarla non le elimina. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.49585.0 o successivo. |

869| `managedMcpServers` | invia le configurazioni del server MCP a tutti gli utenti. Disponibile solo nelle distribuzioni Desktop di terze parti (3P). In ogni voce, imposta un trasporto di `"http"`, `"sse"` o `"stdio"`, i dettagli della connessione e facoltativamente una mappa `toolPolicy` per limitare quali strumenti di quel server gli utenti possono invocare. Forniscilo tramite il file di impostazioni gestite, MDM o il blocco [`desktop`](/docs/it/claude-apps-gateway-config#claude-desktop-overlay) di una politica gateway delle app Claude, poiché le distribuzioni di terze parti non ricevono le impostazioni della console di amministrazione. Per fornirlo tramite il gateway, hai bisogno di Claude Code v2.1.232 o successivo sul server gateway. Questa è la chiave dell'app desktop stessa; Claude Code legge un'[impostazione gestita con lo stesso nome](/docs/it/managed-mcp#provide-servers-through-managed-settings) propria, con una forma di voce diversa. |919| `managedMcpServers` | invia le configurazioni del server MCP a tutti gli utenti. Disponibile solo nelle distribuzioni Desktop di terze parti (3P). In ogni voce, imposta un trasporto di `"http"`, `"sse"` o `"stdio"`, i dettagli della connessione e facoltativamente una mappa `toolPolicy` per limitare quali strumenti di quel server gli utenti possono invocare. Forniscilo tramite il file di impostazioni gestite, MDM o il blocco [`desktop`](/docs/it/claude-apps-gateway-config#claude-desktop-overlay) di una politica gateway delle app Claude, poiché le distribuzioni di terze parti non ricevono le impostazioni della console di amministrazione. Per fornirlo tramite il gateway, hai bisogno di Claude Code v2.1.232 o successivo sul server gateway. Questa è la chiave dell'app desktop stessa; Claude Code legge un'[impostazione gestita con lo stesso nome](/docs/it/managed-mcp#provide-servers-through-managed-settings) propria, con una forma di voce diversa. |

870 920 

871Quali impostazioni gestite raggiungono una sessione Desktop dipende da dove quella sessione viene eseguita. Le restrizioni del modello come [`availableModels`](/docs/it/model-config#restrict-model-selection) vengono applicate nelle sessioni Claude Code di Desktop nello stesso modo che nel CLI del terminale; vedi [copertura della superficie](/docs/it/model-config#surface-coverage).921Quali impostazioni gestite raggiungono una sessione Desktop dipende da dove quella sessione viene eseguita. Le restrizioni del modello come [`availableModels`](/docs/it/model-config#restrict-model-selection) vengono applicate nelle sessioni Claude Code di Desktop nello stesso modo che nel CLI del terminale; vedi [copertura della superficie](/docs/it/model-config#surface-coverage).

872 922 

873* **Sessioni locali su questa macchina**: un file di impostazioni gestite distribuito su disco si applica. Le impostazioni gestite inviate in remoto tramite la console di amministrazione raggiungono anche queste sessioni sull'API di Anthropic quando la sessione si autentica con un [accesso o una chiave idonei](/docs/it/server-managed-settings#platform-availability), seguendo la stessa [precedenza delle impostazioni](/docs/it/settings#settings-precedence) del CLI del terminale.923* **Sessioni locali su questa macchina**: un file di impostazioni gestite distribuito su disco si applica. Le impostazioni gestite inviate in remoto tramite la console di amministrazione raggiungono anche queste sessioni sull'API di Anthropic quando la sessione si autentica con un [accesso o una chiave idonei](/docs/it/server-managed-settings#platform-availability), seguendo la stessa [precedenza delle impostazioni](/docs/it/settings#settings-precedence) del CLI del terminale.

874* **[Sessioni cloud](#cloud-sessions)**: ricevono [impostazioni gestite dal server](/docs/it/server-managed-settings); i file distribuiti su dispositivo non le raggiungono, perché vengono eseguite su VM gestite da Anthropic. Le sessioni instradate a un [ambiente self-hosted](/docs/it/self-hosted-environments) leggono anche il file di impostazioni gestite nell'immagine del runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.924* **[Sessioni cloud](#cloud-sessions)**: ricevono [impostazioni gestite dal server](/docs/it/server-managed-settings); i file distribuiti su dispositivo non le raggiungono, perché vengono eseguite su VM gestite da Anthropic. Le sessioni instradate a un [ambiente self-hosted](/docs/it/self-hosted-environments) leggono anche il file di impostazioni gestite nell'immagine del runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.

875* **[Sessioni SSH](#ssh-sessions)**: la sessione legge il file di impostazioni gestite dall'host remoto. Desktop stesso legge `sshConfigs`, `sshHostAllowlist` e `disableDesktopLocalSessions` dalle impostazioni gestite della macchina locale.925* **[Sessioni SSH](#ssh-sessions)**: la sessione legge il file di impostazioni gestite dall'host remoto. Desktop stesso legge `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` e `disableDesktopLocalSessions` dalle impostazioni gestite della macchina locale.

876* **Sessioni [Cowork](https://claude.com/docs/cowork/overview)**: in una sessione Cowork su questa macchina, Claude Code non recupera mai le impostazioni della console di amministrazione, anche quando l'utente accede con un account Team o Enterprise, e legge la politica distribuita sulla macchina a meno che la tua configurazione di Claude Desktop non imposti `requireCoworkFullVmSandbox`. Le sessioni Cowork remote non ricevono nessuna delle due. Vedi [dove e quando una politica si applica](/docs/it/managed-settings#where-and-when-a-policy-applies) per sapere quali file di dispositivo raggiungono Cowork, e [regole di permesso MCP](/docs/it/permissions#mcp) per come le regole `Bash` e `WebFetch` si applicano agli strumenti di Cowork.926* **Sessioni [Cowork](https://claude.com/docs/cowork/overview)**: in una sessione Cowork su questa macchina, Claude Code non recupera mai le impostazioni della console di amministrazione, anche quando l'utente accede con un account Team o Enterprise, e legge la politica distribuita sulla macchina a meno che la tua configurazione di Claude Desktop non imposti `requireCoworkFullVmSandbox`. Le sessioni Cowork remote non ricevono nessuna delle due. Vedi [dove e quando una politica si applica](/docs/it/managed-settings#where-and-when-a-policy-applies) per sapere quali file di dispositivo raggiungono Cowork, e [regole di permesso MCP](/docs/it/permissions#mcp) per come le regole `Bash` e `WebFetch` si applicano agli strumenti di Cowork.

877 927 

878Nelle sessioni locali e SSH, l'app desktop fornisce i connettori claude.ai connessi di ogni utente a Claude Code direttamente. Nessuna impostazione MCP o `managed-mcp.json` raggiunge quei connettori, indipendentemente dalla fonte di impostazioni o dalla posizione del file che usi. Per bloccare gli strumenti di un connettore in queste sessioni, usa i [controlli degli strumenti del connettore](/docs/it/mcp#organization-controls-on-connector-tools) della tua organizzazione. [Come i connettori raggiungono Claude Code](/docs/it/mcp#how-connectors-reach-claude-code) mostra quali impostazioni governano i connettori in ogni tipo di sessione.928Nelle sessioni locali e SSH, l'app desktop fornisce i connettori claude.ai connessi di ogni utente a Claude Code direttamente. Nessuna impostazione MCP o `managed-mcp.json` raggiunge quei connettori, indipendentemente dalla fonte di impostazioni o dalla posizione del file che usi. Per bloccare gli strumenti di un connettore in queste sessioni, usa i [controlli degli strumenti del connettore](/docs/it/mcp#organization-controls-on-connector-tools) della tua organizzazione. [Come i connettori raggiungono Claude Code](/docs/it/mcp#how-connectors-reach-claude-code) mostra quali impostazioni governano i connettori in ogni tipo di sessione.


885 Criteri di gestione dei dispositivi935 Criteri di gestione dei dispositivi

886</h3>936</h3>

887 937 

888I team IT possono gestire l'app desktop tramite MDM su macOS o criteri di gruppo su Windows. I criteri disponibili includono l'abilitazione o la disabilitazione della funzione Claude Code, il controllo degli aggiornamenti automatici e l'impostazione di un URL di distribuzione personalizzato.938I team IT possono gestire l'app desktop tramite MDM su macOS, criteri di gruppo su Windows o un file di criteri su Linux. I criteri disponibili includono l'abilitazione o la disabilitazione della funzione Claude Code, il controllo degli aggiornamenti automatici su macOS e Windows e l'impostazione di un URL di distribuzione personalizzato.

889 939 

890* **macOS**: configura tramite il dominio di preferenza `com.anthropic.claudefordesktop` usando strumenti come Jamf o Kandji940* **macOS**: configura tramite il dominio di preferenza `com.anthropic.claudefordesktop` usando strumenti come Jamf o Kandji

891* **Windows**: configura tramite il registro in `SOFTWARE\Policies\Claude`941* **Windows**: configura tramite il registro in `SOFTWARE\Policies\Claude`

942* **Linux**: configura tramite un file di proprietà di root in `/etc/claude-desktop/managed-settings.json`, che contiene le chiavi dei criteri come oggetto JSON. Desktop rifiuta il file se chiunque diverso da root può scrivere su di esso o sulla sua cartella. È un file diverso dal [file di impostazioni gestite](/docs/it/managed-settings) di Claude Code.

892 943 

893<h3 id="network-access-requirements">944<h3 id="network-access-requirements">

894 Requisiti di accesso alla rete945 Requisiti di accesso alla rete


1092Per vedere quale versione dell'app desktop stai eseguendo:1143Per vedere quale versione dell'app desktop stai eseguendo:

1093 1144 

1094* **macOS**: fai clic su **Claude** nella barra dei menu, quindi **About Claude**1145* **macOS**: fai clic su **Claude** nella barra dei menu, quindi **About Claude**

1095* **Windows**: fai clic su **Help**, quindi **About**1146* **Windows**: fai clic su **Help**, quindi **About Claude**

1096 1147 

1097Fai clic sul numero di versione per copiarlo negli appunti.1148Fai clic sul numero di versione per copiarlo negli appunti.

1098 1149 

Details

92* Salvare uno screenshot con **Cmd+S** o una registrazione dello schermo con **Cmd+R**, utilizzando i pulsanti di acquisizione del riquadro o le scorciatoie da tastiera; i file vengono salvati sul tuo Desktop92* Salvare uno screenshot con **Cmd+S** o una registrazione dello schermo con **Cmd+R**, utilizzando i pulsanti di acquisizione del riquadro o le scorciatoie da tastiera; i file vengono salvati sul tuo Desktop

93* Interrompere lo streaming di un dispositivo senza spegnerlo facendo clic su **Detach simulator**, che riporta il riquadro allo stato **Attach simulator**93* Interrompere lo streaming di un dispositivo senza spegnerlo facendo clic su **Detach simulator**, che riporta il riquadro allo stato **Attach simulator**

94 94 

95Per regolare il flusso video dal simulatore, apri il menu **Display** del riquadro. Abbassa **Frame rate** o **Resolution** se il riquadro affatica il tuo Mac. Entrambe le impostazioni cambiano il modo in cui il riquadro visualizza il dispositivo, non il modo in cui l'app viene eseguita.95Se il riquadro mostra un menu **Display**, usalo per regolare il flusso video dal simulatore. Abbassa **Frame rate** o **Resolution** se il riquadro affatica il tuo Mac. Entrambe le impostazioni cambiano il modo in cui il riquadro visualizza il dispositivo, non il modo in cui l'app viene eseguita.

96 96 

97Tu e Claude controllate lo stesso dispositivo, quindi i tuoi tocchi cambiano lo stato dell'app che Claude vede. Per fare in modo che Claude verifichi uno schermo specifico, navigaci toccando, quindi chiedi. Mentre Claude controlla il dispositivo, il riquadro mostra un badge **Claude is using this device** sopra lo schermo; aspetta che il badge scompaia prima di toccare, in modo che il risultato rifletta l'app piuttosto che il tuo input.97Tu e Claude controllate lo stesso dispositivo, quindi i tuoi tocchi cambiano lo stato dell'app che Claude vede. Per fare in modo che Claude verifichi uno schermo specifico, navigaci toccando, quindi chiedi. Mentre Claude controlla il dispositivo, il riquadro mostra un badge **Claude is using this device** sopra lo schermo; aspetta che il badge scompaia prima di toccare, in modo che il risultato rifletta l'app piuttosto che il tuo input.

98 98 

env-vars.md +308 −304

Details

93}93}

94```94```

95 95 

96Claude Code copia questi valori nel suo ambiente così come sono scritti. Nessuna shell li elabora, quindi abbreviazioni come `~` o `$HOME` restano come digitate. Per una variabile che accetta un percorso, come `CLAUDE_CONFIG_DIR`, scrivi il percorso assoluto: `"CLAUDE_CONFIG_DIR": "/home/you/.claude-work"`.

97 

96Il file che scegli controlla a chi si applicano le variabili:98Il file che scegli controlla a chi si applicano le variabili:

97 99 

98| File | Si applica a |100| File | Si applica a |


124 Variabili126 Variabili

125</h2>127</h2>

126 128 

127Le variabili numeriche, come timeout, budget di token e numero di nuovi tentativi, accettano la notazione scientifica e la scrittura con separatori 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 scritture potevano impostare silenziosamente un valore molto più piccolo, ad esempio `1e6` impostava un timeout a 1.129Le 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 cifre semplici, 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 130 

129<Note>131<Note>

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.132 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 133 

132 Alcune variabili verificano solo se le hai impostate, quindi qualsiasi valore non vuoto, incluso `0`, attiva il comportamento, e per disattivarlo devi rimuovere la variabile o impostarla su un valore vuoto. Queste variabili funzionano in questo modo:134 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 135 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`137 * `DISABLE_TELEMETRY`


143 145 

144| Variabile | Scopo |146| Variabile | Scopo |

145| :- | :- |147| :- | :- |

146| `ANTHROPIC_API_KEY` | Chiave API inviata come header `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 sostituisca il tuo abbonamento. Per usare invece il tuo abbonamento, esegui `unset ANTHROPIC_API_KEY` |148| `ANTHROPIC_API_KEY` | Chiave API inviata come header `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'header `Authorization` (il valore che imposti qui avrà il prefisso `Bearer `) |149| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'header `Authorization` (al valore che imposti qui verrà anteposto `Bearer `) |

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 |150| `ANTHROPIC_AWS_API_KEY` | Chiave API del workspace per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella AWS Console. Viene inviata come `x-api-key` e ha la precedenza su AWS SigV4 |

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 il traffico attraverso un [gateway LLM](/docs/it/llm-gateway). Il valore predefinito è `https://aws-external-anthropic.{region}.api.aws`. Claude Code risolve la regione con la [stessa precedenza usata su Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |151| `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 il traffico 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` | Obbligatoria per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviata in ogni richiesta come header `anthropic-workspace-id` |152| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatoria per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Viene inviata in ogni richiesta come header `anthropic-workspace-id` |

151| `ANTHROPIC_BASE_URL` | Sovrascrive l'endpoint API per instradare le richieste attraverso 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) è disabilitato 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) è disabilitato 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 |153| `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) è disabilitato per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il tuo proxy inoltra i blocchi `tool_reference`. Dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disabilitato quando questa variabile punta a un host diverso da `api.anthropic.com`, come avviene su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi il traffico attraverso un [gateway LLM](/docs/it/llm-gateway). Consulta [Amazon Bedrock](/docs/it/amazon-bedrock) |154| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi il traffico tramite un [gateway LLM](/docs/it/llm-gateway). Consulta [Amazon Bedrock](/docs/it/amazon-bedrock) |

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) |155| `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 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 versioni successive. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza cross-region (`us`, `eu`, `apac`, `jp`, `au` o `global`) che Claude Code prova per primo invece 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) di Amazon Bedrock (`default`, `flex` o `priority`). Inviato come header `X-Amzn-Bedrock-Service-Tier`. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |157| `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`). Viene inviato come header `X-Amzn-Bedrock-Service-Tier`. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'header `anthropic-beta` da includere nelle richieste API. Claude Code invia già gli header 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 |158| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'header `anthropic-beta` da includere nelle richieste API. Claude Code invia già gli header beta di cui ha bisogno; usala 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 tramite chiave API, questa variabile funziona con tutti i metodi di autenticazione, incluso l'abbonamento Claude.ai |

157| `ANTHROPIC_CUSTOM_HEADERS` | Header personalizzati da aggiungere alle richieste (formato `Name: Value`, separati da un a capo per più header). Se un nome o un valore contiene un carattere che un header HTTP non può trasportare, come una virgoletta curva o uno spazio a larghezza zero, la richiesta non riesce con un errore che identifica la coppia in base alla posizione. Richiede Claude Code v2.1.227 o versioni successive. [Invalid request header value](/docs/it/errors#invalid-request-header-value) elenca il set esatto di caratteri e dove viene eseguito il controllo. Un valore che imposta un header 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) |159| `ANTHROPIC_CUSTOM_HEADERS` | Header personalizzati da aggiungere alle richieste (formato `Name: Value`, separati da un a capo per più header). Se un nome o un valore contiene un carattere che un header 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. [Invalid request header value](/docs/it/errors#invalid-request-header-value) elenca il set esatto di caratteri e dove viene eseguito il controllo. Un valore che imposta un header 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 del modello da aggiungere come voce personalizzata nel selettore `/model`. Usala per rendere selezionabile un modello non standard o specifico di un gateway senza sostituire gli alias integrati. Consulta [Configurazione del modello](/docs/it/model-config#add-a-custom-model-option) |160| `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 di un 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 visualizzata per la voce del modello personalizzato nel selettore `/model`. Se non impostata, il valore predefinito è `Custom model (<model-id>)` |161| `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 visualizzato per la voce del modello personalizzato nel selettore `/model`. Se non impostata, 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 |162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome visualizzato per la voce del modello personalizzato nel selettore `/model`. Quando non è impostata, 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 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) |163| `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 del modello a cui si risolve l'alias `fable` e 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) |164| `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 visualizzata per il modello Fable fissato nel selettore `/model`. Se 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) |165| `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 visualizzato per il modello Fable fissato nel selettore `/model`. Se non impostata, 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) |166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome visualizzato per il modello Fable fissato nel selettore `/model`. Quando non è impostata, 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 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) |167| `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 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) |168| `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 visualizzata per il modello Haiku fissato nel selettore `/model`. Se 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) |169| `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 visualizzato per il modello Haiku fissato nel selettore `/model`. Se non impostata, 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) |170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome visualizzato per il modello Haiku fissato nel selettore `/model`. Quando non è impostata, 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 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) |171| `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 con cui si avviano per impostazione predefinita le nuove sessioni. Richiede Claude Code v2.1.236 o versioni successive. Consulta [Impostare un modello predefinito per le nuove sessioni](/docs/it/model-config#set-a-default-model-for-new-sessions) |172| `ANTHROPIC_DEFAULT_MODEL` | Modello con cui le nuove sessioni iniziano 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 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) |173| `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 visualizzata per il modello Opus fissato nel selettore `/model`. Se 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) |174| `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 visualizzato per il modello Opus fissato nel selettore `/model`. Se non impostata, 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) |175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome visualizzato per il modello Opus fissato nel selettore `/model`. Quando non è impostata, 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 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) |176| `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 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) |177| `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 visualizzata per il modello Sonnet fissato nel selettore `/model`. Se 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) |178| `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 visualizzato per il modello Sonnet fissato nel selettore `/model`. Se non impostata, 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) |179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome visualizzato per il modello Sonnet fissato nel selettore `/model`. Quando non è impostata, 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 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) |180| `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 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à rispetto alle credenziali di `/login`. Consulta [precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) |181| `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à rispetto alle credenziali di `/login`. Consulta [precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |182| `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 header `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 versioni successive |183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer token per l'autenticazione Microsoft Foundry, come un token di accesso Microsoft Entra. Claude Code lo invia come header `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` (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |184| `ANTHROPIC_FOUNDRY_BASE_URL` | URL di base completo della 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`). Claude Code [rifiuta un URL o un nome host](/docs/it/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Obbligatoria se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostata (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |185| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome della risorsa Microsoft Foundry (ad esempio, `my-resource`). Claude Code [rifiuta un URL o un nome host](/docs/it/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Obbligatoria se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostata (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da usare (consulta [Configurazione del modello](/docs/it/model-config#environment-variables)) |186| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da usare (consulta [Configurazione del modello](/docs/it/model-config#environment-variables)) |

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 dell'autenticazione](/docs/it/authentication#authentication-precedence) |187| `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 dell'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 dell'autenticazione](/docs/it/authentication#authentication-precedence) |188| `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 dell'autenticazione](/docs/it/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATA] Nome del [modello di classe Haiku per le attività in background](/docs/it/costs) |189| `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` | 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 |190| `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` | Sovrascrive l'URL dell'endpoint di Google Cloud's Agent Platform. Usala per endpoint personalizzati di Google Cloud's Agent Platform o quando instradi il traffico attraverso un [gateway LLM](/docs/it/llm-gateway). Consulta [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |191| `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 il traffico 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 del progetto GCP a cui sono indirizzate le richieste di Google Cloud's Agent Platform. Consulta [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials) |192| `ANTHROPIC_VERTEX_PROJECT_ID` | ID del progetto GCP a cui sono indirizzate le richieste di Google Cloud's Agent Platform. Consulta [Configurare le credenziali GCP](/docs/it/google-vertex-ai#3-configure-gcp-credentials) |

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 si applica a più di un workspace, in modo che lo scambio di token sappia quale workspace usare |193| `ANTHROPIC_WORKSPACE_ID` | ID del workspace per la [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostala quando la tua regola di federazione ha come ambito più di un workspace, in modo che lo scambio di token sappia quale workspace usare come destinazione |

192| `API_FORCE_IDLE_TIMEOUT` | Sovrascrive il timeout di inattività del corpo di 5 minuti che interrompe una risposta in streaming del modello 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 chunk e l'altro, oppure `1` per mantenerlo attivo per ogni provider. Se 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 streaming](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando imposti `0` qui |194| `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, ovvero 10 minuti; massimo: 2147483647). Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi il traffico attraverso un proxy. I valori superiori al massimo causano un overflow del timer sottostante e fanno fallire immediatamente le richieste |195| `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 il traffico 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 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/)) |196| `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 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) nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o versioni successive |197| `BASH_DEFAULT_TIMEOUT_MS` | Timeout predefinito per un comando dello strumento Bash o PowerShell in primo piano, 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) nelle sessioni non presidiate. 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 riporta nel risultato di un comando (predefinito: 30000; massimo: 150000). Se imposti l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars), Claude Code ignora questa variabile. Consulta [Limiti di output](/docs/it/tools-reference#output-limits) |198| `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 imposti 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 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) nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o versioni successive |199| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per un comando dello strumento Bash o PowerShell in primo piano, 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) nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o successiva |

198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP 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) |200| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP per il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, log e tracce vengono inviati lì invece che agli exporter configurati. Impostala nella 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` | 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 |201| `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` | 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 propri 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` |202| `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 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 versioni successive |203| `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 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 è impostata o è `never`. Impostare `0` non disattiva il timeout; chiude immediatamente la finestra di dialogo. Nelle v2.1.198 e 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 versioni successive |204| `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 è definita o è `never`. Impostare `0` non disattiva il timeout; chiude immediatamente la finestra di dialogo. Nelle v2.1.198 e 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` | Imposta su `1` per disabilitare 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. Rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata allo strumento Agent omette `subagent_type`. Una chiamata di questo tipo non riesce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disabilitare 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. 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` | Imposta su `1` per omettere il prefisso `mcp__<server>__` dai nomi degli strumenti dei server MCP creati tramite SDK. Gli strumenti usano i loro nomi originali. Solo per l'uso dell'SDK |206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per omettere il prefisso `mcp__<server>__` dai 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 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 al processo padre |207| `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 al processo padre |

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 |208| `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` | Imposta su `1` per forzare l'attivazione dello spostamento automatico in background delle attività degli agenti di lunga durata. Quando è attivo, 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 versioni successive |209| `CLAUDE_AUTO_BACKGROUND_TASKS` | Imposta su `1` per forzare l'attivazione dello spostamento automatico in background delle attività degli agenti a lunga esecuzione. Quando è attivo, 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` | Nella [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 versioni successive |210| `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` | Imposta su `1` per produrre 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 versioni successive |211| `CLAUDE_AX_SCREEN_READER` | Imposta su `1` per generare un output adatto agli screen reader: testo semplice senza bordi decorativi né 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` | Nella [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 un nuovo output la interrompa. Predefinito `3000`. Imposta `0` per eseguire il rendering immediatamente. Claude Code limita l'attesa a `600000` (10 minuti). La prima pressione di un tasto termina l'attesa in anticipo. Richiede Claude Code v2.1.217 o versioni successive |212| `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 lo screen reader possa pronunciare la riga per intero prima che un nuovo output la interrompa. Predefinito `3000`. Imposta `0` per eseguire il rendering immediatamente. Claude Code limita l'attesa a `600000` (10 minuti). Il primo tasto che premi termina anticipatamente l'attesa. Richiede Claude Code v2.1.217 o successiva |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Torna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |213| `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à 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 eventi. Claude Code limita questa variabile a un valore compreso tra 10 secondi e 30 minuti. Richiede Claude Code v2.1.210 o versioni successive |214| `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 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 stai usando 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 invece di interrogarlo periodicamente. Richiede Claude Code v2.1.181 o versioni successive |215| `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` | Imposta su `1` per mantenere visibile il cursore nativo del terminale e disabilitare l'indicatore del cursore a testo invertito. Consente agli ingranditori dello schermo come Zoom di macOS di seguire la posizione del cursore |216| `CLAUDE_CODE_ACCESSIBILITY` | Imposta su `1` per mantenere visibile il cursore nativo del terminale e disabilitare 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` | 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 |217| `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` | 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 |218| `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` | 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 il traffico attraverso 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 |219| `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 il traffico 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 con cui aggiornare le credenziali (quando usi [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |220| `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` | 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) |221| `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` | 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 versioni successive |222| `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` | Imposta su `0` per impedire a Claude di [rispondere autonomamente ai commenti inviati a lui](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Richiede Claude Code v2.1.228 o versioni successive |223| `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` | 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 nessuno dei due casi. 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 coinvolte. 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 |224| `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 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 coperte. 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` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

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 numero intero semplice come `500000`: un valore come `500k` viene letto come `500` e 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 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 |226| `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 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 campo `used_percentage` della riga di stato viene sempre misurato 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` | Sovrascrive la [connessione automatica all'IDE](/docs/it/vs-code). 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) |227| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrive la [connessione automatica all'IDE](/docs/it/vs-code). 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 [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 versioni successive. La sezione collegata elenca quali sessioni interrogano il server quando la variabile non è impostata, e da quale versione. Richiede Claude Code v2.1.271 o versioni successive |228| `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 attende affinché la catena predefinita di provider di credenziali AWS produca le credenziali prima che la richiesta non riesca 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 versioni successive |229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi che Claude Code attende affinché la catena predefinita di 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, ad esempio un accesso SSO basato su browser con MFA tramite un wrapper come `aws-vault`. Si applica su Amazon Bedrock, [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e sull'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). 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 |

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 `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 versioni successive |230| `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` | Imposta su `0` per far sì che una sessione non interattiva segnali al proprio host uno stato inattivo alla fine di ogni turno, anche mentre è ancora in esecuzione del lavoro in background. Per impostazione predefinita, la sessione continua a segnalare uno stato di esecuzione oltre la fine del turno mentre è ancora attivo del lavoro in background, come un agente in background o l'esecuzione di un [workflow](/docs/it/workflows). Questo evita che un host che osserva lo stato, come un elenco di sessioni remote, annunci che Claude è in attesa del tuo input a metà del lavoro. I comandi shell in background, come un server di sviluppo, non mantengono lo stato di esecuzione. Il valore predefinito dello stato di esecuzione e la disattivazione con `0` richiedono Claude Code v2.1.269 o versioni successive; nelle versioni precedenti, imposta `1` per mantenere lo stato di esecuzione |231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Imposta su `0` per fare in modo che una sessione non interattiva segnali uno stato inattivo al proprio 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 un [workflow](/docs/it/workflows), è ancora attivo. Questo impedisce a un host che monitora 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 di esecuzione. Il comportamento predefinito dello stato di esecuzione e la disattivazione con `0` richiedono Claude Code v2.1.269 o successiva; nelle versioni precedenti, imposta `1` per mantenere lo stato di esecuzione |

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ò ricollegarsi alla sessione che lo ha eseguito. Richiede Claude Code v2.1.199 o versioni successive. Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), leggi invece `CLAUDE_CODE_REMOTE_SESSION_ID` |232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Impostata automaticamente nei sottoprocessi dello strumento Bash e dei [comandi 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ò rimandare 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` | Imposta su `0` per far leggere a Claude Code il byte `0x08`, scritto anche `^H`, come semplice Backspace, oppure `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) |233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Imposta su `0` per fare in modo che Claude Code legga il byte `0x08`, scritto anche `^H`, come Backspace semplice, 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 Backspace semplice 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 delle origini dei certificati CA per le connessioni TLS. `bundled` è il set di CA Mozilla incluso in Claude Code. `system` è l'archivio attendibile del sistema operativo, letto solo nei runtime con `tls.getCACertificates`: il binario nativo, oppure Node 22.15 o versioni successive per le installazioni npm. Consulta [Archivio dei certificati CA](/docs/it/network-config#ca-certificate-store). Il valore predefinito è `bundled,system` |234| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole delle origini dei certificati CA per le connessioni TLS. `bundled` è il set di CA di Mozilla fornito con Claude Code. `system` è l'archivio attendibile 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` | 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 interattiva `claude` 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 versioni successive |235| `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 mantenute. 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 del file del certificato client per l'autenticazione mTLS |236| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |

235| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata client per l'autenticazione mTLS |237| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |

236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |

237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora senza effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e header della risposta di una richiesta API in streaming. Usa `API_TIMEOUT_MS` per il timeout per richiesta. Per la fase degli header della risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora senza effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e header di risposta di una richiesta API in streaming. Usa `API_TIMEOUT_MS` per il timeout per richiesta. Per la fase degli header di risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

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` |240| `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 abilitata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: impostare solo questa variabile non abilita 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`. Imposta su `verbose` per includere diagnostiche ad alto volume come l'output completo del comando della riga di stato, oppure alzalo a `error` per ridurre il rumore |241| `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` | Imposta su `1` per disabilitare il supporto alla [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 questo limite. Utile per ambienti enterprise con requisiti di conformità. Per il suo ruolo nella correzione della finestra per un ID modello `[1m]` non riconosciuto, consulta [Correggere la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disabilitare 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 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, a una finestra da 200K; consulta [Contesto esteso](/docs/it/model-config#extended-context) per sapere come viene applicato questo limite. Utile per ambienti enterprise con requisiti di conformità. Per il suo ruolo nella correzione della finestra per un ID modello `[1m]` non riconosciuto, consulta [Correggere la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disabilitare 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, né su Opus 4.7 e successivi, che usano sempre il ragionamento adattivo |243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disabilitare 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, su Haiku 5.5 o su Opus 4.7 e successivi, che usano sempre il ragionamento adattivo |

242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Imposta su `1` per impedire a Claude Code di unire chiave per chiave i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) provenienti da diverse 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 versioni successive |244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Imposta su `1` per impedire a Claude Code di unire chiave 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 la 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` | Imposta 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, così gli script esistenti che lo passano continuano a funzionare senza errori |245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta 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, così gli script esistenti che lo passano continuano a funzionare senza errori |

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 su richiesta. Equivale all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |246| `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` | Imposta su `1` per disabilitare il [rendering a schermo intero](/docs/it/fullscreen) e usare il renderer classico della schermata 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 a questa modalità 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 |247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disabilitare 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 normalmente. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/docs/it/settings-reference#tui). Puoi anche cambiare modalità 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` | 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 può riattivare 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 |248| `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` | Imposta su `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disabilitare 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_AUTH_REFRESH_LOCK` | Imposta su `1` per far eseguire a un processo Claude Code il proprio comando [`gcpAuthRefresh`](/docs/it/settings-reference#gcpauthrefresh) o [`awsAuthRefresh`](/docs/it/settings-reference#awsauthrefresh) direttamente invece di attendere mentre un altro processo lo esegue. Richiede Claude Code v2.1.286 o versioni successive |250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Imposta su `1` per fare in modo che un processo Claude Code esegua da sé il proprio 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_AUTO_MEMORY` | Imposta su `1` per disabilitare 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 disabiliterebbero. Quando è disabilitata, Claude non crea né carica file di memoria automatica |251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disabilitare 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 disabiliterebbero. Quando è disabilitata, Claude non crea né carica file di memoria automatica |

250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disabilitare tutte le funzionalità delle attività in background, incluso il parametro `run_in_background` degli strumenti Bash e subagent, lo spostamento automatico in background e la scorciatoia Ctrl+B |252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disabilitare 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_DEFAULT` | Imposta su `1` per impedire a Claude Code di trattare una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) con un header `Content-Type` mancante o vuoto come lo stream di eventi binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia rimosso l'header da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Imposta questa variabile solo per un gateway che riemette anche lo stream come server-sent events; Claude Code legge allora il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o versioni successive |253| `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 header `Content-Type` mancante o vuoto come il flusso di eventi binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia rimosso l'header da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Impostala solo per un gateway che riemette anche lo stream come server-sent events; Claude Code legge quindi il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o successiva |

252| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo 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). Invece di impostare questa variabile, configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modificarli. Richiede Claude Code v2.1.208 o versioni successive |254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo 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 per inoltrare l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 o successiva |

253| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per arrestare i comandi shell in background, i workflow dinamici e, a partire dalla v2.1.198, i subagent in background in esecuzione in una [sessione in background](/docs/it/agent-view) 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. Influisce solo su 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 versioni successive |255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per arrestare i comandi shell in background in esecuzione, i workflow dinamici e, dalla v2.1.198, i subagent in background di una [sessione in background](/docs/it/agent-view) 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. Influisce solo su quel passaggio: spostare una sessione in background 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_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 versioni successive |256| `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 condizioni 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_BUNDLED_SKILLS` | Imposta su `1` per disabilitare 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 sono nascosti al modello. `/doctor` resta digitabile come i comandi integrati; nascondilo invece con `DISABLE_DOCTOR_COMMAND`. Le skill provenienti da plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivale all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disabilitare le [skill](/docs/it/skills) e i workflow inclusi in Claude Code: le skill incluse 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; per nasconderlo usa invece `DISABLE_DOCTOR_COMMAND`. Le skill provenienti da plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |

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`. Pensata per gli host che incorporano Claude Code e forniscono le proprie indicazioni sul browser. Richiede Claude Code v2.1.257 o versioni successive |258| `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`. Pensata per gli host che incorporano Claude Code e forniscono le proprie indicazioni per il browser. Richiede Claude Code v2.1.257 o successiva |

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 automatica |259| `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 automatica |

258| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare 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 |260| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare 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_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 versioni successive |261| `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_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere dalle richieste API gli header di richiesta `anthropic-beta` pre-release, i campi del corpo associati e i campi beta dello schema degli strumenti come `defer_loading` e `eager_input_streaming`. Usala quando un gateway proxy rifiuta le richieste con un errore `Unexpected value(s)` per l'header `anthropic-beta` o un errore `Extra inputs are not permitted`. [Disabilitare le funzionalità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) elenca cosa rimuove la variabile, incluso [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search), e cosa Claude Code continua a inviare |262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere dalle richieste API gli header di richiesta `anthropic-beta` in pre-release, i campi del corpo associati e i campi beta dello schema degli strumenti come `defer_loading` e `eager_input_streaming`. Usala quando un gateway proxy rifiuta le richieste con un errore `Unexpected value(s)` per l'header `anthropic-beta` o con un errore `Extra inputs are not permitted`. [Disabilitare le funzionalità in pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) elenca cosa rimuove la variabile, incluso [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search), e cosa Claude Code continua a inviare |

261| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disabilitare 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 invece di avviare gli agenti Explore e Plan. I subagent personalizzati denominati `Explore` o `Plan` non sono interessati. Per rimuovere ogni tipo di subagent integrato nell'Agent SDK o in modalità non interattiva, usa invece `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Richiede Claude Code v2.1.198 o versioni successive |263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disabilitare 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 chiamati `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_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/docs/it/fast-mode) |264| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/docs/it/fast-mode) |

263| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi sono disabilitati 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 disabilitarli del tutto, usa l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Consulta [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi sono disabilitati 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 disabilitarli 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_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare 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) |266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare 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_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) |267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere dal contesto di Claude le istruzioni integrate sul 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_INLINE_SHELL_RM_PROMPT` | Imposta su `1` per impedire a Claude Code di leggere gli script passati a una shell con `-c`, come `bash -c 'rm -rf ~'`, alla ricerca di rimozioni di [percorsi critici](/docs/it/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code controlla comunque le destinazioni costituite da variabili di shell e parametri posizionali in quegli script, e gli altri controlli sui 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.288 o versioni successive |268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Imposta su `1` per impedire a Claude Code di esaminare gli script passati a una shell con `-c`, come `bash -c 'rm -rf ~'`, alla ricerca di rimozioni di [percorsi critici](/docs/it/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code controlla comunque le destinazioni date da variabili di shell e parametri posizionali in quegli script, e gli altri controlli sui 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.288 o successiva |

267| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire la rimappatura automatica di Opus 4.0 e 4.1 alla versione attuale di Opus 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 |269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire la rimappatura automatica di Opus 4.0 e 4.1 alla versione attuale di Opus 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 |

268| `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 non riesce invece immediatamente. Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configuri cambia comunque modello in caso di quel rifiuto, e i [controlli del modello all'avvio](/docs/it/amazon-bedrock#startup-model-checks) ripiegano comunque su un altro modello all'avvio. Richiede Claude Code v2.1.285 o versioni successive |270| `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 durante la sessione stessa; la richiesta rifiutata fallisce invece immediatamente. Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configuri effettua comunque il passaggio in caso di rifiuto, e i [controlli dei modelli all'avvio](/docs/it/amazon-bedrock#startup-model-checks) usano comunque un fallback al momento dell'avvio. Richiede Claude Code v2.1.285 o successiva |

269| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disabilitare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona comunque. Usala per mantenere il comportamento nativo del terminale di copia alla selezione |271| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta 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. Usala per mantenere il comportamento nativo del terminale di copia alla selezione |

270| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disabilitare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento con la rotellina del mouse. 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 i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando sono impostate entrambe. Richiede Claude Code v2.1.195 o versioni successive |272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disabilitare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento con la rotellina del mouse. 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 i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando sono impostate entrambe. Richiede Claude Code v2.1.195 o successiva |

271| `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 non riesce con un errore a livello di connessione, come un reset della connessione o un errore di handshake TLS. Con la ricarica disabilitata, Claude Code carica i file ruotati solo la volta successiva in cui applica le impostazioni o al successivo avvio. Richiede Claude Code v2.1.232 o versioni successive |273| `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 dell'handshake TLS. Con la ricarica disabilitata, Claude Code carica i file ruotati solo alla successiva applicazione delle impostazioni o al successivo avvio. Richiede Claude Code v2.1.232 o successiva |

272| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Imposta su un qualsiasi valore non vuoto, come `1`, per disabilitare 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 e non traffico di rete, perché possono attivare installazioni di dipendenze. **Impostarla su `0` o `false` disabilita comunque questo traffico**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per consentirlo di nuovo. Disabilita 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; disabilitala con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sull'[individuazione dei modelli del gateway](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha un proprio consenso esplicito |274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Imposta su qualsiasi valore non vuoto, come `1`, per disabilitare 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 l'installazione di dipendenze. **Impostarla su `0` o `false` disabilita comunque questo traffico**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per consentirlo di nuovo. Disabilita 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; disabilitala 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 una propria attivazione esplicita |

273| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disabilitare il fallback non in streaming quando una richiesta in streaming non riesce a metà dello 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 |275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disabilitare 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 |

274| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Imposta su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre stai scrivendo 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 disabilita 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 versioni successive |276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Imposta su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre stai digitando nel terminale o questo 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 disabilita 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 |

275| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta 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 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 |277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta 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 su una macchina. Se la variabile è impostata in quel momento, 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 |

276| `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 al 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 da terminale. Richiede Claude Code v2.1.233 o versioni successive |278| `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 da terminale. Richiede Claude Code v2.1.233 o successiva |

277| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory di sistema delle skill gestite. Utile per sessioni in container o CI che non devono caricare skill fornite dall'operatore |279| `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 |

278| `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 versioni successive |280| `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 |

279| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Imposta su `1` per disattivare il [cambio automatico di modello quando un classificatore di sicurezza segnala una richiesta](/docs/it/model-config#automatic-model-fallback), il comportamento controllato dall'impostazione [`switchModelsOnFlag`](/docs/it/settings-reference#switchmodelsonflag) |281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Imposta su `1` per disattivare il [cambio automatico di modello quando un classificatore di sicurezza segnala una richiesta](/docs/it/model-config#automatic-model-fallback), il comportamento controllato dall'impostazione [`switchModelsOnFlag`](/docs/it/settings-reference#switchmodelsonflag) |

280| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Imposta su `1` per impedire a Claude Code di inviare il campo di output strutturato `output_config.format` e il valore `anthropic-beta` associato, nel caso di un [gateway LLM](/docs/it/llm-gateway-protocol#feature-pass-through) il cui upstream li rifiuta. Lascia attive le altre funzionalità pre-release che [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) disattiva. Richiede Claude Code v2.1.288 o versioni successive |282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Imposta su `1` per impedire a Claude Code di inviare il campo di output strutturato `output_config.format` e il valore `anthropic-beta` associato, per un [gateway LLM](/docs/it/llm-gateway-protocol#feature-pass-through) il cui upstream li rifiuta. Lascia attive le altre funzionalità in pre-release che [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) disattiva. Richiede Claude Code v2.1.288 o successiva |

281| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Imposta su `1` per disattivare il controllo sui [percorsi critici](/docs/it/permission-modes#critical-paths) per un `rm` ricorsivo la cui destinazione è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli sui 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 versioni successive |283| `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 la cui destinazione è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli sui 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 |

282| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione. Salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione. Salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |

283| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. È 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 disabilitare 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 |285| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. È 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 disabilitare 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, Haiku 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 |

284| `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 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 versioni successive |286| `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 quell'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può invece correggere la finestra presunta; consulta [Correggere la finestra per un gateway o un ID 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 |

285| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) ed eseguire il rendering di ogni messaggio della trascrizione. Usala se lo scorrimento in modalità a schermo intero mostra aree vuote dove dovrebbero comparire i messaggi |287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) ed eseguire il rendering di ogni messaggio nella trascrizione. Usala se lo scorrimento in modalità a schermo intero mostra aree vuote dove dovrebbero comparire i messaggi |

286| `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 versioni successive |288| `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 |

287| `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 invece che 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 [passare 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 versioni successive |289| `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 invece che 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 [passare al processo successivo della sessione](/docs/it/agent-view#the-supervisor-process), ad esempio quando [sposti la sessione in background](/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 |

288| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disabilitare i [workflow](/docs/it/workflows#turn-workflows-off). Equivale all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disabilitare i [workflow](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |

289| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `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) |291| `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`. Si applica comunque un limite [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel). Consulta [Regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

290| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Imposta su `1` per aggiungere al flusso dei messaggi i messaggi [`session_state_changed`](/docs/it/agent-sdk/typescript#sdksessionstatechangedmessage), che contengono lo stato della sessione. Richiede l'[Agent SDK](/docs/it/agent-sdk/overview) oppure `--print`, `--output-format stream-json` e `--verbose` |292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Imposta su `1` per aggiungere al flusso di messaggi i messaggi [`session_state_changed`](/docs/it/agent-sdk/typescript#sdksessionstatechangedmessage), che contengono lo stato della sessione. Richiede l'[Agent SDK](/docs/it/agent-sdk/overview) oppure `--print`, `--output-format stream-json` e `--verbose` |

291| `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 del [Claude apps gateway](/docs/it/claude-apps-gateway) con accesso effettuato. 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 |293| `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 [Claude apps gateway](/docs/it/claude-apps-gateway) con accesso effettuato. 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 |

292| `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 forzarne l'attivazione quando [`awaySummaryEnabled`](/docs/it/settings-reference#awaysummaryenabled) è `false`. Ha la precedenza sull'impostazione e sull'opzione in `/config` |294| `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'interruttore 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'interruttore in `/config` |

293| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato dei plugin tra un turno e l'altro 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 |295| `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 |

294| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per indirizzare 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 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 altrimenti non ha alcun effetto. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e il criterio dell'organizzazione sul feedback del prodotto hanno la precedenza |296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per instradare il sondaggio sulla qualità della sessione "How is Claude doing?" verso il 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 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`, altrimenti non ha effetto. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la policy dell'organizzazione sul feedback del prodotto hanno la precedenza |

295| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate agli strumenti vengono trasmessi in streaming dall'API mentre Claude li genera. Con questa opzione disattivata, un input di grandi dimensioni per uno strumento, come la scrittura di un file lungo, arriva solo dopo che Claude ha finito di generarlo, il che può dare l'impressione che si sia bloccato. Attivata per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, attivata per ciascun modello dove il container distribuito la supporta. Imposta su `0` per disattivarla. Imposta su `1` per forzarne l'attivazione quando instradi tramite un proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivata per impostazione predefinita su Microsoft Foundry e nelle connessioni tramite [gateway](/docs/it/llm-gateway) |297| `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. Attivata per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, attivata per ogni modello dove il container distribuito la supporta. Imposta su `0` per disattivarla. Imposta su `1` per forzarne l'attivazione quando instradi tramite un proxy con `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) |

296| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta su `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é i gateway basati su una chiave API condivisa mostrerebbero altrimenti a ogni utente tutti i modelli a cui la chiave può accedere. I modelli rilevati 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) |298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta su `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é i gateway basati su una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli rilevati 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) |

297| `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 |299| `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 |

298| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che compaiono nell'input del prompt. Ha la precedenza sull'impostazione [`promptSuggestionEnabled`](/docs/it/settings-reference#promptsuggestionenabled), che è quella scritta dall'opzione **Prompt suggestions** in `/config`. Claude Code inoltre [sospende 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 su `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) |300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che compaiono 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 [sospende 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 su `true` per mantenerli attivi fino al raggiungimento del limite. Richiede Claude Code v2.1.238 o successiva. Consulta [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |

299| `CLAUDE_CODE_ENABLE_TASKS` | Seleziona quali strumenti di tracciamento delle attività fornisce Claude Code 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 su `0` per ottenere invece lo strumento legacy `TodoWrite`. Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |301| `CLAUDE_CODE_ENABLE_TASKS` | Seleziona quali strumenti di tracciamento delle attività fornisce Claude Code 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 su `0` per ottenere invece lo strumento legacy `TodoWrite`. Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |

300| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta su `1` per abilitare la raccolta di dati OpenTelemetry per metriche e logging. Obbligatoria 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) |302| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta su `1` per abilitare la raccolta di 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) |

301| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Imposta su `1` per ottenere gli strumenti di tracciamento delle attività su ogni modello. Senza questa variabile, 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 successiva |303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Imposta su `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 |

302| `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 |304| `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 |

303| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |

304| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da incorporare nel 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 qualunque copia avesse ereditato il processo supervisore in background |306| `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 |

305| `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 |307| `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 |

306| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `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 ereditato di `CLAUDE_CODE_CHILD_SESSION`, 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 classificata erroneamente come annidata. Dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi con tmux questa variabile non è più necessaria. Rispettata anche nella v2.1.169 e precedenti; non ha alcun effetto nella v2.1.170 e v2.1.171, in cui il rilevamento delle sessioni annidate che essa sovrascrive era stato rimosso |308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `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. A partire 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 nella v2.1.170 e v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |

307| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta su `1` per forzare il rendering barrato di `~~text~~` nelle risposte di Claude quando il tuo terminale lo supporta ma non viene rilevato automaticamente, ad esempio via SSH senza l'inoltro di `TERM_PROGRAM`. Senza questa variabile, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta su `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 inoltro di `TERM_PROGRAM`. Senza questa variabile, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |

308| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'attivazione dell'[output sincronizzato](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) in 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 alla verifica delle funzionalità. Non ha effetto in tmux. A differenza di `CLAUDE_CODE_NO_FLICKER`, che passa al [rendering a schermo intero](/docs/it/fullscreen), questa variabile non cambia il renderer |310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'attivazione 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 alla verifica 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 variabile non cambia il renderer |

309| `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 biforcati](/docs/it/sub-agents#fork-the-current-conversation) ed è attiva per impostazione predefinita solo nelle sessioni interattive. Imposta su `1` per attivarla anche in `claude -p` e nell'Agent SDK, oppure su `0` per disattivarla in ogni tipo di sessione. Puoi eseguire `/subtask` indipendentemente dal fatto che la modalità fork sia attiva. Il comportamento predefinito nelle sessioni interattive richiede Claude Code v2.1.232 o successiva; nelle versioni precedenti, imposta la variabile su `1` per attivare la modalità fork |311| `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 biforcati](/docs/it/sub-agents#fork-the-current-conversation) ed è attiva per impostazione predefinita solo nelle sessioni interattive. Imposta su `1` per attivarla anche in `claude -p` e nell'Agent SDK, oppure su `0` per disattivarla in ogni tipo di sessione. Puoi eseguire `/subtask` indipendentemente dal fatto che la modalità fork sia attiva. Il comportamento predefinito nelle sessioni interattive richiede Claude Code v2.1.232 o successiva; nelle versioni precedenti, imposta la variabile su `1` per attivare la modalità fork |

310| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Imposta su `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 direttamente. A differenza del flag, che termina con un errore al di fuori della modalità non interattiva con output stream-json, la variabile in quei casi viene ignorata, così le invocazioni annidate continuano a funzionare quando è impostata a livello di processo. Richiede Claude Code v2.1.211 o successiva |312| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Imposta su `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`, 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 solo. 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ì che le invocazioni annidate continuino a funzionare quando è impostata a livello di processo. Richiede Claude Code v2.1.211 o successiva |

311| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Imposta su `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 un provider di terze parti come Amazon Bedrock o Claude Platform on AWS. Imposta su `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 |313| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Imposta su `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 su `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 |

312| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in millisecondi per la richiesta di [rilevamento 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 forme di scrittura mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |314| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in millisecondi per la richiesta di [rilevamento 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 forme mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |

313| `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) |315| `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) |

314| `CLAUDE_CODE_GLOB_HIDDEN` | Imposta su `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 |316| `CLAUDE_CODE_GLOB_HIDDEN` | Imposta su `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 |

315| `CLAUDE_CODE_GLOB_NO_IGNORE` | Imposta su `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 la propria [impostazione `respectGitignore`](/docs/it/settings-reference#respectgitignore) |317| `CLAUDE_CODE_GLOB_NO_IGNORE` | Imposta su `false` per far rispettare allo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior) i pattern di `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti, compresi quelli ignorati da Git. Non influisce sul completamento automatico dei file con `@`, che ha la propria [impostazione `respectGitignore`](/docs/it/settings-reference#respectgitignore) |

316| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per il rilevamento dei file da parte dello strumento Glob. Il valore predefinito è 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |318| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per il rilevamento dei file da parte dello strumento Glob. Il valore predefinito è 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |

317| `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. Indica minuti interi in cifre semplici, al massimo `10080`, ovvero una settimana. Claude Code tratta qualsiasi altro valore come non impostato e usa il valore predefinito. Richiede Claude Code v2.1.234 o successiva |319| `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 controllarlo](/docs/it/goal#background-work-defers-evaluation). Predefinito `30`. Imposta `0` per disattivare i controlli. Indica 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 |

318| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Imposta su `0` per disattivare la compressione gzip dei corpi delle richieste dell'API Claude, della telemetria e di pubblicazione degli [artefatti](/docs/it/artifacts) inviate ad `api.anthropic.com`. Per impostazione predefinita, Claude Code comprime i corpi delle richieste di grandi dimensioni sulle connessioni dirette e salta la compressione quando invii le richieste tramite un proxy, configuri un certificato client o imposti `NODE_EXTRA_CA_CERTS`. Usa `0` se un [proxy con ispezione TLS](/docs/it/network-config#ca-certificate-store) che Claude Code non riesce a rilevare gestisce in modo errato le richieste compresse |320| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Imposta su `0` per disattivare la compressione gzip dei corpi delle richieste dell'API Claude, della telemetria e della pubblicazione degli [artefatti](/docs/it/artifacts) inviate a `api.anthropic.com`. Per impostazione predefinita, Claude Code comprime i corpi delle richieste di grandi dimensioni sulle connessioni dirette e salta la compressione quando invii le richieste tramite un proxy, configuri un certificato client o imposti `NODE_EXTRA_CA_CERTS`. Usa `0` se un [proxy con ispezione TLS](/docs/it/network-config#ca-certificate-store) che Claude Code non riesce a rilevare gestisce male le richieste compresse |

319| `CLAUDE_CODE_HIDE_CWD` | Imposta su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso espone il nome utente del sistema operativo |321| `CLAUDE_CODE_HIDE_CWD` | Imposta su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso espone il nome utente del tuo sistema operativo |

320| `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 |322| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrive l'indirizzo host usato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso l'instradamento da WSL a Windows |

321| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta su `1` per saltare l'installazione automatica delle estensioni IDE. Equivale a impostare [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) su `false` |323| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta su `1` per saltare l'installazione automatica delle estensioni IDE. Equivale a impostare [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) su `false` |

322| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `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 |324| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `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 |

323| `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ò regolare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successiva |325| `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 disattivarlo. Richiede Claude Code v2.1.217 o successiva |

324| `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 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 per il suo nome |326| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrive la dimensione della finestra di contesto che Claude Code presuppone per il modello attivo. A partire 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 per il suo nome |

325| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri di ciascuna descrizione di uno strumento 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 |327| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri di ogni descrizione di 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 altro valore viene ignorato e si applica il valore predefinito. Richiede Claude Code v2.1.280 o successiva |

326| `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 massimi variano in base al modello; consulta [token massimi di output](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code riduce al limite massimo del modello un valore che lo supera. Per un ID modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite massimo è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |328| `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 di un modello. Per un ID di modello che Claude Code non riesce a ricondurre a un modello conosciuto, 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) |

327| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrive il numero di nuovi tentativi per 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 la fine di interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |329| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrive il numero di nuovi tentativi per 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 valore predefinito e rimuove il limite. Per le sessioni non presidiate che devono attendere interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |

328| `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); generarne 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 |330| `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) continuano ad applicarsi |

329| `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 regolato ma non rimosso. Richiede Claude Code v2.1.217 o successiva |331| `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 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 |

330| `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 |332| `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 |

331| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato alcun 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 anziché essere trattato come assenza di limite |333| `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 numero intero positivo viene rifiutato all'avvio con un errore invece di essere trattato come assenza di limite |

332| `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 indica 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 |334| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite al 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 indica 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 |

333| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `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 |335| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per avviare i server MCP stdio con solo un ambiente di base sicuro più l'`env` configurato del server, invece di ereditare l'ambiente della tua shell |

334| `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 su `0` per disattivare il passaggio automatico in background. Richiede Claude Code v2.1.212 o successiva |336| `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 su `0` per disattivare il passaggio automatico in background. Richiede Claude Code v2.1.212 o successiva |

335| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Per quanto tempo in millisecondi il primo turno di una sessione [non interattiva](/docs/it/headless) attende i server MCP che si stanno ancora connettendo, 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 su `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 |337| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Per quanto tempo in millisecondi il primo turno di una sessione [non interattiva](/docs/it/headless) attende i server MCP che si stanno ancora connettendo, al posto dell'[attesa del primo turno](/docs/it/agent-sdk/mcp#connection-timing) predefinita. Quando è impostata, l'attesa copre ogni server in sospeso. Imposta su `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 |

336| `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 su `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 aumenta la finestra di inattività di quel server almeno al valore di `timeout`. Non si applica ai server 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à |338| `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 su `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 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à |

337| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella in arrivo](/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 |339| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket di inbox](/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 che venga eseguito 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 |

338| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella in arrivo](/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 inizi 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 |340| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket di inbox](/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 inizi 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 |

339| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore del terminale nel punto di inserimento invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggiamento, forma e focus del terminale |341| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore nativo del terminale nel punto di inserimento invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggiamento, forma e focus del terminale. Impostare `0` equivale a lasciare la variabile non impostata, quindi non ripristina il blocco disegnato in una sessione in cui il cursore nativo del terminale è già attivo |

340| `CLAUDE_CODE_NEW_INIT` | Imposta 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 il codebase e scriverli. Senza questa variabile, `/init` genera automaticamente un CLAUDE.md senza chiedere nulla |342| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per far eseguire a `/init` 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 un CLAUDE.md automaticamente senza chiedere nulla |

341| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Imposta su `1` per scrivere l'output del terminale tramite un secondo descrittore di file non bloccante, così un terminale che smette di leggere, come un riquadro tmux in control mode messo in pausa o una connessione SSH bloccata, non può congelare Claude Code a metà sessione. Si applica su macOS, Linux e WSL quando stdout è un terminale. Richiede Claude Code v2.1.261 o successiva |343| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Imposta su `1` per scrivere l'output del terminale tramite un secondo file descriptor non bloccante, in modo che un terminale che smette di leggere, come un riquadro tmux in control mode 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 |

342| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quante volte Claude Code invia di nuovo una [richiesta non in streaming](/docs/it/errors#streaming-response-ended-before-any-complete-data-was-received) che va in timeout. Con `0`, la richiesta fallisce al primo timeout. Non impostata per impostazione predefinita, quindi è `CLAUDE_CODE_MAX_RETRIES` a limitare questi nuovi invii. Consulta [Regolare il comportamento dei nuovi tentativi](/docs/it/errors#tune-retry-behavior) per il timeout. Richiede Claude Code v2.1.285 o successiva |344| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quante volte Claude Code reinvia una [richiesta non in streaming](/docs/it/errors#streaming-response-ended-before-any-complete-data-was-received) che va in timeout. Con `0`, la richiesta fallisce al primo timeout. Non impostata per impostazione predefinita, quindi è `CLAUDE_CODE_MAX_RETRIES` a limitare questi reinvii. Consulta [Regolare il comportamento dei nuovi tentativi](/docs/it/errors#tune-retry-behavior) per il timeout. Richiede Claude Code v2.1.285 o successiva |

343| `CLAUDE_CODE_NO_FLICKER` | Imposta su `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 passarvi con `/tui fullscreen` |345| `CLAUDE_CODE_NO_FLICKER` | Imposta su `1` per abilitare il [rendering a schermo intero](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene stabile la memoria nelle conversazioni lunghe. Sovrascrive l'impostazione [`tui`](/docs/it/settings-reference#tui); puoi anche passare con `/tui fullscreen` |

344| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Quando è impostata, `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 |346| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Quando è impostata, `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 |

345| `CLAUDE_CODE_OAUTH_SCOPES` | Scope OAuth separati da spazi con cui è stato emesso il token di aggiornamento, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatoria quando è impostata `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |347| `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` |

346| `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 |348| `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 impostato per l'intera sessione. Per sostituire un token scaduto, generane uno nuovo e riavvia |

347| `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 |349| `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 del modello predefinito attuale. Opus 4.6 non supporta più la modalità veloce |

348| `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), marcatore di troncamento incluso, 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) |350| `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), marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, ovvero 60 KB). Aumentala solo se il tuo backend di telemetria accetta valori di attributi superiori a 64 KB, oppure riducila per diminuire il volume di telemetria. Richiede Claude Code v2.1.214 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

349| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Imposta su `1` per scrivere su stderr gli errori diagnostici dell'exporter OpenTelemetry. Per impostazione predefinita questi errori compaiono solo con `--debug`, quindi un exporter configurato in modo errato, ad esempio per un conflitto sulla porta di Prometheus, altrimenti fallisce senza segnalarlo. Richiede Claude Code v2.1.179 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |351| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Imposta su `1` per scrivere su stderr gli errori diagnostici degli exporter OpenTelemetry. Per impostazione predefinita questi errori compaiono solo con `--debug`, quindi un exporter configurato male, ad esempio per un conflitto di porte di Prometheus, altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

350| `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) |352| `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) |

351| `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) |353| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo di aggiornamento degli header OpenTelemetry dinamici in millisecondi (predefinito: 1740000 / 29 minuti). Consulta [Header dinamici](/docs/it/monitoring-usage#dynamic-headers) |

352| `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) |354| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in millisecondi entro cui l'exporter OpenTelemetry deve terminare allo spegnimento (predefinito: 2000). Aumentalo se le metriche vengono perse all'uscita. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

353| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Imposta su `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) |355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Imposta su `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) |

354| `CLAUDE_CODE_PERFORCE_MODE` | Imposta su `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 del proprietario, che Perforce rimuove dai file sincronizzati finché `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento delle modifiche di Perforce |356| `CLAUDE_CODE_PERFORCE_MODE` | Imposta su `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 del proprietario, che Perforce rimuove dai file sincronizzati finché `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento delle modifiche di Perforce |

355| `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` |357| `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` |

356| `CLAUDE_CODE_PLUGIN_DIRS` | Directory dei plugin da caricare per la sessione, ciascuna caricata come la caricherebbe 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. Indica ogni percorso come percorso assoluto o fallo iniziare 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) |358| `CLAUDE_CODE_PLUGIN_DIRS` | Directory di plugin da caricare per la sessione, ciascuna caricata come la caricherebbe 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. Indica ogni percorso come percorso assoluto o fallo iniziare 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) |

357| `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 [Git clone timed out](/docs/it/plugins/troubleshooting#git-clone-timed-out-after-120s) |359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Controlla se Claude Code ricarica un [mod](/docs/it/plugins/mods/overview) quando i file del mod cambiano. Il ricaricamento si applica a un mod che carichi da una directory con `--plugin-dir` ed è attivo per impostazione predefinita nelle sessioni interattive. Imposta su `1` per attivarlo anche nelle sessioni non interattive, oppure su `0` per disattivarlo in ogni sessione. Richiede Claude Code v2.1.287 o successiva. Consulta [impostazioni e variabili d'ambiente dei mod](/docs/it/plugins/mods/reference#settings-and-environment-variables) |

358| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Imposta su `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 air-gapped in cui una nuova clonazione fallirebbe allo stesso modo. Consulta [Gli aggiornamenti del marketplace non riescono negli ambienti offline](/docs/it/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |360| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in millisecondi per clonare o aggiornare un marketplace di plugin (predefinito: 120000). Aumenta questo valore per repository di grandi dimensioni o connessioni di rete lente. Consulta [Git clone timed out](/docs/it/plugins/troubleshooting#git-clone-timed-out-after-120s) |

359| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta su `1` per clonare le sorgenti GitHub in forma abbreviata `owner/repo` tramite HTTPS invece che 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` |361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Imposta su `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 presso di esso. Utile in ambienti offline o isolati in cui una nuova clonazione fallirebbe allo stesso modo. Consulta [Gli aggiornamenti del marketplace falliscono in ambienti offline](/docs/it/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

360| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso di una o più directory seed dei plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Usala per includere in un'immagine container una directory dei plugin già popolata. 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) |362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta su `1` per clonare le sorgenti in forma abbreviata GitHub `owner/repo` tramite HTTPS invece che 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` |

361| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta su `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 il criterio di esecuzione effettivo della macchina. Per impostazione predefinita Claude Code aggira il criterio di esecuzione a livello di processo, così gli script `.ps1` e le importazioni di moduli funzionano nelle installazioni di Windows con il criterio Restricted predefinito. L'aggiramento a livello di processo non sovrascrive mai i Criteri di gruppo `MachinePolicy` o `UserPolicy`, indipendentemente da questa impostazione |363| `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 in un'immagine container una directory di plugin prepopolata. Claude Code registra i marketplace da queste directory all'avvio e usa i plugin già memorizzati nella cache senza clonarli di nuovo. Consulta [Prepopolare i plugin per i container](/docs/it/plugins/org#seed-containers-and-ci) |

362| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite massimo in millisecondi per l'attesa inattiva del lavoro in background, come subagent e workflow, 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 massimo, Claude Code smette di attendere le attività in background rimanenti ed esce. Imposta su `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 |364| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta su `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, e rispettare invece la execution policy effettiva della macchina. Per impostazione predefinita Claude Code aggira la execution policy a livello di processo, in modo che gli script `.ps1` e le importazioni di moduli funzionino nelle installazioni di Windows con policy predefinita Restricted. L'aggiramento a livello di processo non sovrascrive mai `MachinePolicy` o `UserPolicy` dei Criteri di gruppo, indipendentemente da questa impostazione |

365| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite massimo in millisecondi per l'attesa inattiva del lavoro in background, come subagent e workflow, 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 attività in background rimanenti ed esce. Imposta su `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 |

363| `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 indicato 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 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 |366| `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 indicato 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 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 |

364| `CLAUDE_CODE_PROJECT_DIR_NAME` | Da impostare insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory in `projects/` in cui Claude Code memorizza le trascrizioni e la memoria automatica di quella sessione, al posto di un nome 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 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 dal [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 |367| `CLAUDE_CODE_PROJECT_DIR_NAME` | Impostala insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory in `projects/` in cui Claude Code memorizza le trascrizioni e la memoria automatica di quella sessione, al posto di un nome 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 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 |

365| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, per scegliere il [TTL della cache dei prompt](/docs/it/prompt-caching#cache-lifetime) per la conversazione principale: i tuoi turni interattivi, `-p` e SDK, più gli helper 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 addebita le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |368| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, per scegliere il [TTL della cache del prompt](/docs/it/prompt-caching#cache-lifetime) per la conversazione principale: i tuoi turni interattivi, `-p` e SDK, più gli helper eseguiti inline 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 |

366| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Imposta su `1` per propagare il contesto di traccia W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione riguarda l'header `traceparent` nelle 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 con una connessione diretta all'API Anthropic. Aggiunta nella v2.1.152. Consulta [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |369| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Imposta su `1` per propagare il contesto di trace W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione copre 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 [Trace (beta)](/docs/it/monitoring-usage#traces-beta) |

367| `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, di 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 fornisce, così la configurazione del modello dell'host ha la precedenza su un modello fissato e non aggiornato nelle impostazioni gestite. 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, Google Cloud's Agent Platform 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) |370| `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 nei file di impostazioni le variabili di selezione del provider, di endpoint e di autenticazione come `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY`, in modo che le impostazioni utente non possano 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 fornisce, così che la configurazione del modello dell'host abbia 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 continua ad applicarsi 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, Google Cloud's Agent Platform 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) |

368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Imposta su `1` per consentire al proxy di eseguire la risoluzione DNS al posto del chiamante. Opzione da attivare esplicitamente negli ambienti in cui il proxy deve gestire la risoluzione dei nomi host |371| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Imposta su `1` per consentire al proxy di eseguire la risoluzione DNS al posto del chiamante. Opzione facoltativa per gli ambienti in cui la risoluzione dei nomi host deve essere gestita dal proxy |

369| `CLAUDE_CODE_REMOTE` | Impostata automaticamente su `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 |372| `CLAUDE_CODE_REMOTE` | Impostata automaticamente su `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 |

370| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostata automaticamente nelle [sessioni cloud](/docs/it/claude-code-on-the-web) sull'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) |373| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostata automaticamente nelle [sessioni cloud](/docs/it/claude-code-on-the-web) sull'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) |

371| `CLAUDE_CODE_RESTRICTED` | Imposta su `1` per avviare la sessione in modalità con restrizioni, come 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 successiva |374| `CLAUDE_CODE_RESTRICTED` | Imposta su `1` per avviare la sessione in modalità limitata, 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 |

372| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta su `1` per riprendere automaticamente se la sessione precedente si è interrotta a metà di un turno. Usata in modalità SDK affinché il modello continui senza che l'SDK debba inviare di nuovo il prompt. Per disattivarla, rimuovi la variabile o impostala su `0`. Per il pannello di chat di VS Code, consulta [Continuare le conversazioni dopo un ricaricamento](/docs/it/vs-code#continue-conversations-after-a-reload) |375| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta su `1` per riprendere automaticamente se la sessione precedente si è interrotta a metà turno. Usata in modalità SDK affinché il modello continui senza che l'SDK debba reinviare il prompt. Per disattivarla, rimuovi la variabile o impostala su `0`. Per il pannello chat di VS Code, consulta [Continuare le conversazioni dopo un ricaricamento](/docs/it/vs-code#continue-conversations-after-a-reload) |

373| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione affinché una sessione terminata a metà di un turno continui 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 così che tu possa continuare esplicitamente. Non impostata o `0` significa nessun limite, tranne che un turno la cui ultima richiesta è fallita con un errore API riprende solo se quell'errore risale a meno di sei ore prima. 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 affinché un riavvio su una trascrizione vecchia non esegua di nuovo un prompt obsoleto. Claude Code imposta da solo 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 |376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione affinché una sessione interrotta a metà turno continui 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 così che tu possa continuare 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 da sé un limite di un'ora quando riavvia una sessione di [agent view](/docs/it/agent-view) andata in crash che aveva ereditato la sua conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successiva |

374| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrive il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua un turno interrotto invece di inviarne di nuovo il prompt, o 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 |377| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrive il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua un turno interrotto invece di reinviarne il 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 |

375| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per le sessioni non presidiate come harness di valutazione, job 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 reimposta secondo una pianificazione. Prima della v2.1.239, il watchdog riprovava indefinitamente 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 al ripristino del limite quando la risposta riporta un orario di reimpostazione del rate limit, così una sessione che raggiunge un limite di utilizzo attende la fine della finestra rimanente. Dalla v2.1.199 in poi aumenta anche a 300 il numero predefinito di nuovi tentativi per altri errori transitori, come errori del server, timeout e connessioni interrotte, pari a circa tre ore di backoff, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successiva |378| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per le sessioni non presidiate come harness di valutazione, job 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 secondo una pianificazione. 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 riporta 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 anche a 300 il numero predefinito di nuovi tentativi per 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 |

376| `CLAUDE_CODE_SAFE_MODE` | Imposta su `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 di suggerimento dei file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione non funzionante. Il criterio delle impostazioni gestite si applica comunque, inclusi hook, riga di stato e comandi di suggerimento dei file configurati dal criterio; i plugin gestiti, le skill gestite, il CLAUDE.md gestito e i server MCP configurati dal criterio invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli generati direttamente ereditano la variabile |379| `CLAUDE_CODE_SAFE_MODE` | Imposta su `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 danneggiata. La policy delle impostazioni gestite continua ad applicarsi, 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 invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |

377| `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. La corrispondenza è basata su sottostringhe, quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. La moltiplicazione delle invocazioni a runtime tramite `xargs` o `find -exec` non viene rilevata; si tratta di un controllo di difesa in profondità |380| `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. La corrispondenza si basa su sottostringhe, quindi i trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. La moltiplicazione a runtime tramite `xargs` o `find -exec` non viene rilevata; si tratta di un controllo di difesa in profondità |

378| `CLAUDE_CODE_SCROLL_SPEED` | Imposta 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 accelerato di trackpad e rotella nei terminali che già amplificano gli eventi della rotella. Imposta su `3` per ottenere lo stesso comportamento di `vim` se il tuo terminale invia un evento della rotella per scatto senza amplificazione. Ignorata nel terminale degli IDE JetBrains, dove Claude Code usa una propria gestione dello scorrimento |381| `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 di trackpad e rotellina nei terminali che già amplificano gli eventi della rotellina. Imposta su `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 la propria gestione dello scorrimento |

379| `CLAUDE_CODE_SEND_FEEDBACK` | Imposta su `0` per disattivare il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Imposta su `1` per attivarlo dove il tuo account ha già accesso; la variabile da sola non può concedere l'accesso, 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 |382| `CLAUDE_CODE_SEND_FEEDBACK` | Imposta su `0` per disattivare il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Imposta su `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), continuano ad applicarsi |

380| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sovrascrive il tempo a disposizione in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Il valore è anche il timeout per ciascun 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 a disposizione è 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 a disposizione |383| `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 |

381| `CLAUDE_CODE_SESSION_ID` | Impostata automaticamente sull'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 dell'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, in linea con 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 |384| `CLAUDE_CODE_SESSION_ID` | Impostata automaticamente sull'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 dell'hook e viene aggiornata con `/clear`. Un sottoprocesso di un server MCP conserva l'ID con cui è stato avviato. Con `--resume <session-id>` riceve l'ID ripreso, in linea con 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 |

382| `CLAUDE_CODE_SHELL` | Imposta la shell che Claude Code usa 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 ripiega sul rilevamento automatico. Il rilevamento automatico usa il tuo `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` funzionante e poi `bash` trovati nel tuo `PATH` e nei percorsi di installazione standard |385| `CLAUDE_CODE_SHELL` | Imposta la shell che Claude Code usa 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 ripiega sul rilevamento automatico. Il rilevamento automatico usa il tuo `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` funzionante, poi `bash`, trovato nel tuo `PATH` e nei percorsi di installazione standard |

383| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso di comando che racchiude i comandi 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'audit. Impostando un semplice percorso di eseguibile come `/path/to/logger.sh`, ogni comando viene eseguito come `/path/to/logger.sh '<command>'`. Il wrapper riceve la riga di comando come singolo argomento tra virgolette 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 configurazione dell'ambiente, non solo il comando eseguito da Claude |386| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso di comando che avvolge i comandi 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 interrompe 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 configurazione dell'ambiente, non solo il comando eseguito da Claude |

384| `CLAUDE_CODE_SIMPLE` | Imposta su `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, di lettura dei file e di modifica dei file. Gli strumenti MCP da `--mcp-config` restano disponibili. Disabilita il rilevamento automatico di hook, skill, comandi personalizzati, subagent, plugin installati, server MCP, memoria automatica e CLAUDE.md. Le skill in una directory passata 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) |387| `CLAUDE_CODE_SIMPLE` | Imposta su `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` rimangono disponibili. Disabilita il rilevamento automatico di hook, skill, comandi personalizzati, subagent, plugin installati, server MCP, memoria automatica e CLAUDE.md. Le skill in una directory passata 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) |

385| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta su `1` per usare un prompt di sistema più breve e descrizioni abbreviate degli strumenti su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per disattivarlo anche sui modelli in cui l'esperimento o la configurazione del server lo abiliterebbero altrimenti. Il set completo di strumenti, gli hook, i server MCP e il rilevamento di CLAUDE.md restano abilitati |388| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta su `1` per usare un prompt di sistema più breve e descrizioni degli strumenti abbreviate su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per disattivarla anche sui modelli in cui l'esperimento o la configurazione del server la abiliterebbero altrimenti. Il set completo di strumenti, gli hook, i server MCP e il rilevamento di CLAUDE.md restano abilitati |

386| `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 |389| `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 le richieste autonomamente |

387| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Imposta su `1` per disattivare la cache in-process delle credenziali risolte dalla catena predefinita di provider di credenziali AWS, così Claude Code risolve 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 |390| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Imposta su `1` per disattivare la cache in-process delle credenziali risolte dalla catena predefinita dei provider di credenziali AWS, così 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 |

388| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando usi un gateway LLM) |391| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando usi un gateway LLM) |

389| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Imposta su `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" |392| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Imposta su `1` per trattare come disponibile una verifica di disponibilità della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) non riuscita, per le reti che bloccano la richiesta diretta della verifica a `api.anthropic.com`. Claude Code rispetta comunque una risposta "disabled by your organization" |

390| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Imposta su `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 |393| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Imposta su `1` per saltare la verifica 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 della verifica invece di rifiutarla. L'API rifiuta comunque le richieste in modalità veloce quando la tua organizzazione ha disabilitato la modalità veloce |

391| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry, per un proxy o gateway che inserisce il proprio header `Authorization`. Claude Code invia le richieste senza una credenziale Azure e conserva 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 impediva al client Microsoft Foundry di inviare richieste a meno che non fosse impostata anche una chiave API |394| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry, per un proxy o gateway che inserisce il proprio header `Authorization`. Claude Code invia le richieste senza una credenziale Azure e mantiene 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 |

392| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando usi un gateway LLM) |395| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando usi un gateway LLM) |

393| `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 [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) ricordano su questa macchina, per un massimo di un giorno, quali modelli hanno rilevato come non invocabili dal tuo account. Imposta su `1` per disattivare questa memoria. Richiede Claude Code v2.1.285 o successiva |396| `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 [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) ricordano su questa macchina, per un massimo di un giorno, quali modelli hanno rilevato che il tuo account non può invocare. Imposta su `1` per disattivare questa memoria. Richiede Claude Code v2.1.285 o successiva |

394| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `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 accessibile con la freccia su. Utile per sessioni temporanee eseguite tramite script |397| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `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 con la freccia su. Utile per sessioni effimere gestite da script |

395| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando usi un gateway LLM) |398| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando usi un gateway LLM) |

396| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Imposta su `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 |399| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Imposta su `1` affinché una sessione avviata con `--output-format stream-json` scriva un [messaggio di risultato che indica il motivo per cui 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 |

397| `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 su `0` per disabilitare il limite. Aumentalo se il tuo hook ha legittimamente bisogno di più iterazioni per giungere a una soluzione |400| `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 fine del turno prima che Claude Code lo sovrascriva e termini comunque il turno (predefinito: 8). Imposta su `0` per disabilitare il limite. Aumentalo se il tuo hook ha legittimamente bisogno di più iterazioni per concludersi |

398| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i membri dei [team di agenti](/docs/it/agent-teams#specify-teammates-and-models) e gli agenti dei [workflow](/docs/it/workflows) a cui non viene assegnato un modello in altro modo. Accetta un alias come `haiku` o un nome completo del 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 su `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 |401| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i membri dei [team di agenti](/docs/it/agent-teams#specify-teammates-and-models) e gli agenti dei [workflow](/docs/it/workflows) a cui non viene assegnato un modello in altro modo. Accetta un alias come `haiku` o un nome completo di 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 su `inherit` equivale a lasciarla non impostata. Prima della v2.1.251, questa variabile sovrascriveva sia il modello per invocazione sia il campo `model` della definizione |

399| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Imposta su `1` per forzare un unico modello su subagent, membri dei team 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 |402| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Imposta su `1` per forzare un unico modello per subagent, membri del team 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 |

400| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, per scegliere il [TTL della cache dei prompt](/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 addebita le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |403| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Imposta `5m` o `1h`, gli unici valori accettati da Claude Code, 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), 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 |

401| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta su `1` per rimuovere le credenziali dagli ambienti dei sottoprocessi avviati da Claude Code, come comandi Bash, hook e server MCP stdio. La pulizia riconosce una credenziale dal nome della variabile o dal suo valore, e lascia invariati i token GitHub e le impostazioni del proxy. Consulta [Cosa rimuove la pulizia dell'ambiente dei sottoprocessi](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la imposta automaticamente quando è configurato `allowed_non_write_users` |404| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta su `1` per rimuovere le credenziali dagli ambienti dei sottoprocessi avviati da Claude Code, come comandi Bash, hook e server MCP stdio. La pulizia riconosce una credenziale dal nome della variabile o dal suo valore, e lascia al loro posto i token GitHub e le impostazioni del proxy. Consulta [Cosa rimuove la pulizia dell'ambiente dei sottoprocessi](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la imposta automaticamente quando è configurato `allowed_non_write_users` |

402| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta su `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione dei plugin prima della prima query. Senza questa variabile, 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 |405| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta su `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 si installano in background e potrebbero non essere disponibili al primo turno. Combinala con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |

403| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona dei plugin. Quando viene superato, Claude Code procede senza plugin e registra un errore. Nessun valore predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona dei plugin. Quando viene superato, Claude Code procede senza plugin e registra un errore. Nessun valore predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |

404| `CLAUDE_CODE_SYNC_SKILLS` | Imposta su `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 attenda il loro 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 nel 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 anche senza questa variabile, quindi impostala solo quando un'esecuzione `-p` ha bisogno delle tue skill aggiornate già alla prima query. Prima della v2.1.273, le sessioni nel 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), come non eseguire i loro comandi `!` sulla tua macchina |407| `CLAUDE_CODE_SYNC_SKILLS` | Imposta su `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. Richiede l'autenticazione claude.ai. Le sessioni nel terminale in cui accedi con il tuo account claude.ai [sincronizzano queste skill](/docs/it/skills#where-synced-skills-load) senza questa variabile, quindi impostala solo quando un'esecuzione `-p` ha bisogno delle tue skill attuali alla prima query |

405| `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 |408| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per la risincronizzazione delle skill che viene 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 |

406| `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. In ogni caso i download terminano in background, e Claude attende il download di una skill quando la invoca |409| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per l'attesa dell'elenco iniziale delle skill da parte della prima query 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 |

407| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Imposta su `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) |410| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Imposta su `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) |

408| `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) |411| `CLAUDE_CODE_TASK_LIST_ID` | Condivide un elenco di attività tra sessioni. Imposta lo stesso ID in più istanze di Claude Code per coordinarti 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) |

409| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sovrascrive, in millisecondi, per quanto tempo una sessione non interattiva attende all'uscita che il suo [team di agenti](/docs/it/agent-teams) finisca di chiudersi. 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 |412| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sovrascrive, in millisecondi, per quanto tempo una sessione non interattiva attende all'uscita che il suo [team di agenti](/docs/it/agent-teams) finisca 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 |

410| `CLAUDE_CODE_TMPDIR` | Sovrascrive la directory temporanea usata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` a questo percorso su Unix, o `/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 sotto il percorso predefinito di sistema quando il tuo override è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash eseguiti fuori dalla 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%` se 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) |413| `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 directory predefinita di sistema quando la tua sovrascrittura è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash senza 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 la tua sovrascrittura, oppure `%TEMP%` se non ne hai impostata una. I file temporanei di Claude Code usano sempre la tua sovrascrittura. 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) |

411| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta su qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla su `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 limita l'output 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 |414| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta su qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla su `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 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 |

412| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, impostala su un elenco separato da virgole dei tipi di processo 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 ogni tipo, 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 |415| `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 ogni tipo, oppure `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene sotto il limite i comandi degli strumenti Bash, PowerShell e Monitor qualunque cosa tu elenchi. Richiede Claude Code v2.1.246 o successiva |

413| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, impostala su una dimensione come `4G` per [limitare la memoria utilizzabile dai comandi degli strumenti Bash e PowerShell](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e dai comandi dello strumento Monitor dalla v2.1.246 in poi. Scrivi la dimensione in cifre semplici, da sola per indicare un numero di byte oppure con un suffisso `K`, `M`, `G` o `T`. Imposta `0` o `off` per disattivare il limite. Dopo 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 |416| `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 quella dei 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 |

414| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta su `1` per limitare la crescita del [file della trascrizione](/docs/it/sessions#where-transcripts-are-stored) di una lunga sessione `-p` o dell'Agent SDK. Dopo ogni compattazione, una volta che il file supera i 5 MB, Claude Code rimuove la cronologia precedente a quella compattazione. La ripresa della sessione ripristina la stessa conversazione indipendentemente dal fatto che il file sia stato ridotto. Impostala nell'ambiente da cui avvii Claude Code, poiché un blocco `env` delle impostazioni non può attivarla. Richiede Claude Code v2.1.287 o successiva |417| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta su `1` per limitare quanto può crescere il [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored) di una lunga sessione `-p` o dell'Agent SDK. Dopo ogni compattazione, una volta che il file supera i 5 MB, Claude Code rimuove la cronologia precedente a quella compattazione. La ripresa della sessione ripristina la stessa conversazione indipendentemente dal fatto che il file sia stato ridotto. Impostala nell'ambiente da cui avvii Claude Code, poiché un blocco `env` delle impostazioni non può attivarla. Richiede Claude Code v2.1.287 o successiva |

415| `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 `AskUserQuestion` usano flussi propri e non sono regolate da questa variabile. Su 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 le regole complete 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 |418| `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 essa. In Claude Code v2.1.236 o successiva, limita anche la [richiesta di consenso per i 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 le regole complete 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 |

416| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usa [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |419| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usa [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |

417| `CLAUDE_CODE_USE_BEDROCK` | Usa [Amazon Bedrock](/docs/it/amazon-bedrock) |420| `CLAUDE_CODE_USE_BEDROCK` | Usa [Amazon Bedrock](/docs/it/amazon-bedrock) |

418| `CLAUDE_CODE_USE_FOUNDRY` | Usa [Microsoft Foundry](/docs/it/microsoft-foundry) |421| `CLAUDE_CODE_USE_FOUNDRY` | Usa [Microsoft Foundry](/docs/it/microsoft-foundry) |

419| `CLAUDE_CODE_USE_MANTLE` | Usa l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |422| `CLAUDE_CODE_USE_MANTLE` | Usa l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |

420| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta su `1` per rilevare comandi personalizzati, subagent e stili di output usando le API dei file di Node.js invece di ripgrep. Impostala se il binario ripgrep incluso non è disponibile o è bloccato nel tuo ambiente. Non influisce su Grep né sugli strumenti di ricerca dei file |423| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta su `1` per rilevare comandi personalizzati, subagent e stili di output usando le API dei file di Node.js invece di ripgrep. Impostala se il binario ripgrep incluso non è disponibile o è bloccato nel tuo ambiente. Non influisce su Grep né sugli strumenti di ricerca dei file |

421| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; imposta su `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; imposta su `1` per abilitarlo nelle sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, oppure su `0` per disattivarlo. Su Linux, macOS e WSL, imposta su `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) |424| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento viene abilitato automaticamente; imposta `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; imposta `1` per abilitarlo nelle sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, oppure `0` per disattivarlo. Su Linux, macOS e WSL, imposta `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) |

422| `CLAUDE_CODE_USE_VERTEX` | Usa [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |425| `CLAUDE_CODE_USE_VERTEX` | Usa [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

423| `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 grafia mantiene 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 successivo |426| `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 mantiene 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 successivo |

424| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite massimo in millisecondi per quanto tempo [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 termine fallisce con un errore di scadenza. Il valore predefinito è `300000`, ovvero cinque minuti. Imposta `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra grafia mantiene il valore predefinito. Richiede Claude Code v2.1.268 o successivo |427| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superiore in millisecondi per quanto tempo [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) attende il download di una pagina, inclusi 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 `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra scrittura mantiene il valore predefinito. Richiede Claude Code v2.1.268 o successivo |

425| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è impostato su `1`, quanto tempo Claude Code attende prima di ogni promemoria a Claude per controllare i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ancora in esecuzione. Accetta una o più attese separate da virgole, in secondi interi da `1` a `86400`, come `600` o `600,1800,3600`. Ogni valore è l'attesa prima del promemoria successivo, e l'ultimo valore si ripete. Accetta solo cifre semplici; qualsiasi altro valore o grafia viene considerato come non impostato. Quando non è impostata, non ci sono promemoria. Richiede Claude Code v2.1.283 o successivo |428| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è impostata su `1`, quanto tempo Claude Code attende prima di ogni promemoria a Claude per controllare i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ancora in esecuzione. Accetta una o più attese separate da virgole in secondi interi da `1` a `86400`, come `600` o `600,1800,3600`. Ogni valore è l'attesa prima del promemoria successivo, e l'ultimo valore si ripete. Accetta solo cifre semplici; qualsiasi altro valore o scrittura viene considerato come non impostato. Quando non è impostata, non ci sono promemoria. Richiede Claude Code v2.1.283 o successivo |

426| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quanti agenti esegue contemporaneamente una singola esecuzione di un [workflow](/docs/it/workflows), 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 attendono uno slot libero. La trascrizione di ogni agente in esecuzione rimane nella memoria di Claude Code, quindi valori più alti aumentano l'uso di memoria. Accetta solo cifre semplici; i valori fuori intervallo e le altre grafie mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successivo |429| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quanti agenti esegue contemporaneamente una singola esecuzione di un [workflow](/docs/it/workflows), 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 attendono uno slot libero. La trascrizione di ogni agente in esecuzione resta nella memoria di Claude Code, quindi valori più alti aumentano l'uso di memoria. Accetta solo cifre semplici; i valori fuori intervallo e le altre scritture mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successivo |

427| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite massimo in millisecondi per quanto tempo un agente di un [workflow](/docs/it/workflows) attende l'inizio della 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 dalla cache invece di elaborarlo ciascuno senza cache. Predefinito `5000`. Imposta `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostato, gli agenti non attendono mai. Richiede Claude Code v2.1.229 o successivo |430| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superiore in millisecondi per quanto tempo 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 del 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 |

428| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin sono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia 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'`. 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) |431| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin sono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account in parallelo: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. In un file di impostazioni, scrivi il [percorso assoluto](#in-settings-files). Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

429| `CLAUDE_DISABLE_ADOPT` | Imposta su `1` per interrompere il lavoro in background in corso invece di trasferirlo quando porti una sessione in background premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code ti chiede di confermare prima di portarla in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successivo |432| `CLAUDE_DISABLE_ADOPT` | Imposta `1` per interrompere il lavoro in background in corso invece di trasferirlo quando metti una sessione in background premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code ti chiede conferma prima di passare in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successivo |

430| `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 |433| `CLAUDE_EFFORT` | Impostata automaticamente nei sottoprocessi dello strumento Bash e nei comandi degli hook sul [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 |

431| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta su `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, oppure su `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 era attivo su quelle connessioni tramite gateway, quindi il watchdog a livello di evento poteva segnalare uno stallo anche mentre arrivavano i 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) |434| `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 era attivo su quelle connessioni tramite gateway, quindi il watchdog a livello di evento poteva segnalare uno stallo anche mentre arrivavano i 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) |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta su `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` |435| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta `1` per abilitare il watchdog di inattività dello streaming a livello di byte sulle risposte Amazon Bedrock `vnd.amazon.eventstream`, il che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste in streaming Bedrock. Disattivato per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

433| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta su `0` per forzare la disabilitazione del watchdog di inattività dello streaming a livello di evento, oppure su `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 operano insieme a questo, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |436| `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 funzionano insieme a questo, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

434| `CLAUDE_ENV_FILE` | Percorso di uno script di shell il cui contenuto Claude Code esegue prima di ogni comando Bash nello stesso processo di 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) |437| `CLAUDE_ENV_FILE` | Percorso di uno script di shell il cui contenuto Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, così che gli export 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) |

435| `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 di 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` ed `Edit` di Claude in quella posizione non richiedono permessi, e la directory viene rimossa quando la sessione viene eliminata |438| `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 di 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 chiedono il permesso, e la directory viene rimossa quando la sessione viene eliminata |

436| `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 della shell dello strumento Bash la usa per rifiutare un pattern di `pkill` che corrisponderebbe al processo di Claude Code stesso; consulta [il riferimento degli errori](/docs/it/errors#pkill-pattern-matches-the-claude-code-process). Leggila dai tuoi script per identificare o inviare deliberatamente segnali al processo padre di Claude Code. Richiede Claude Code v2.1.214 o successivo |439| `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 della 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 deliberatamente segnali al processo padre di Claude Code. Richiede Claude Code v2.1.214 o successivo |

437| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni [Remote Control](/docs/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Il valore predefinito è il nome host della tua macchina, che produce nomi come `myhost-graceful-unicorn`. Il flag della CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |440| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni [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 della CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |

438| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte di risposta di una richiesta in streaming, sulle connessioni in cui è attiva la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per sapere come Claude Code la limita, il tempo aggiuntivo che aggiunge per i corpi di richiesta di grandi dimensioni e come sceglie la scadenza quando non la imposti, consulta [No response from API](/docs/it/errors#no-response-from-api). Richiede Claude Code v2.1.242 o successivo |441| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte di risposta di una richiesta in streaming, sulle connessioni in cui è attiva la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per come Claude Code la limita, il tempo aggiuntivo che aggiunge per i corpi di richiesta di grandi dimensioni e come sceglie la scadenza quando non la imposti, consulta [No response from API](/docs/it/errors#no-response-from-api). Richiede Claude Code v2.1.242 o successivo |

439| `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 silenziosamente portati al minimo 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) |442| `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 silenziosamente portati al minimo 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) |

440| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Rimossa nella v2.1.260 e ora senza effetto. In precedenza limitava, in millisecondi, per quanto tempo poteva essere eseguito un [comando di 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) |443| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Rimossa nella v2.1.260 e ora non ha alcun effetto. In precedenza limitava, in millisecondi, la durata di esecuzione di un [comando di 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) |

441| `DEBUG` | Imposta 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 veri `1`, `true`, `yes` e `on` abilitano la modalità debug, quindi i pattern di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |444| `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 veritieri `1`, `true`, `yes` e `on` abilitano la modalità di debug, quindi pattern di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |

442| `DISABLE_AUTOUPDATER` | Imposta su `1` per disabilitare gli aggiornamenti automatici in background. Il comando manuale `claude update` continua a funzionare. Usa `DISABLE_UPDATES` per bloccare entrambi |445| `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 |

443| `DISABLE_AUTO_COMPACT` | Imposta su `1` per disabilitare la compattazione automatica quando ci si avvicina al limite del 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) |446| `DISABLE_AUTO_COMPACT` | Imposta `1` per disabilitare la compattazione automatica quando ci si avvicina al limite di contesto. Il comando manuale `/compact` resta disponibile. Usala quando vuoi un controllo esplicito su quando avviene la compattazione. Sovrascrive l'impostazione [`autoCompactEnabled`](/docs/it/settings-reference#autocompactenabled) |

444| `DISABLE_COMPACT` | Imposta su `1` per disabilitare tutta la compattazione: sia la compattazione automatica sia il comando manuale `/compact` |447| `DISABLE_COMPACT` | Imposta `1` per disabilitare tutta la compattazione: sia la compattazione automatica sia il comando manuale `/compact` |

445| `DISABLE_COST_WARNINGS` | Imposta su `1` per disabilitare i messaggi di avviso sui costi |448| `DISABLE_COST_WARNINGS` | Imposta `1` per disabilitare i messaggi di avviso sui costi |

446| `DISABLE_DOCTOR_COMMAND` | Imposta su `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 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` |449| `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` |

447| `DISABLE_ERROR_REPORTING` | Imposta su 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 la variabile per riattivare la segnalazione degli errori |450| `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 la variabile per riattivare la segnalazione degli errori |

448| `DISABLE_EXTRA_USAGE_COMMAND` | Imposta su `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i rate limit |451| `DISABLE_EXTRA_USAGE_COMMAND` | Imposta `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i rate limit |

449| `DISABLE_FEEDBACK_COMMAND` | Imposta 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 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` |452| `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 le segnalazioni attraverso lo stesso percorso; prima della v2.1.212 erano alias di `/feedback`, quindi il comando veniva disabilitato con tutti i nomi. È accettato anche il nome precedente `DISABLE_BUG_COMMAND` |

450| `DISABLE_GROWTHBOOK` | Imposta su `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` |453| `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 resta attiva a meno che non sia impostata anche `DISABLE_TELEMETRY` |

451| `DISABLE_INSTALLATION_CHECKS` | Imposta su `1` per disabilitare gli avvisi di installazione. Usala solo quando gestisci manualmente il percorso di installazione, poiché può mascherare problemi con le installazioni standard |454| `DISABLE_INSTALLATION_CHECKS` | Imposta `1` per disabilitare gli avvisi di installazione. Usala solo quando gestisci manualmente il percorso di installazione, poiché può mascherare problemi con le installazioni standard |

452| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Imposta su `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) |455| `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, Google Cloud's Agent Platform o Microsoft Foundry) |

453| `DISABLE_INTERLEAVED_THINKING` | Imposta su `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) |456| `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) |

454| `DISABLE_LOGIN_COMMAND` | Imposta su `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |457| `DISABLE_LOGIN_COMMAND` | Imposta `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |

455| `DISABLE_LOGOUT_COMMAND` | Imposta su `1` per nascondere il comando `/logout` |458| `DISABLE_LOGOUT_COMMAND` | Imposta `1` per nascondere il comando `/logout` |

456| `DISABLE_PROMPT_CACHING` | Imposta su `1` per disabilitare il [prompt caching](/docs/it/prompt-caching#disable-prompt-caching) per tutti i modelli (ha la precedenza sulle impostazioni per modello) |459| `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) |

457| `DISABLE_PROMPT_CACHING_FABLE` | Imposta su `1` per disabilitare il prompt caching per i modelli Fable |460| `DISABLE_PROMPT_CACHING_FABLE` | Imposta `1` per disabilitare il prompt caching per i modelli Fable |

458| `DISABLE_PROMPT_CACHING_HAIKU` | Imposta su `1` per disabilitare il prompt caching per il [modello Haiku predefinito](/docs/it/prompt-caching#disable-prompt-caching), ovunque venga eseguito |461| `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 |

459| `DISABLE_PROMPT_CACHING_OPUS` | Imposta su `1` per disabilitare il prompt caching per il [modello Opus predefinito](/docs/it/prompt-caching#disable-prompt-caching) |462| `DISABLE_PROMPT_CACHING_OPUS` | Imposta `1` per disabilitare il prompt caching per il [modello Opus predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

460| `DISABLE_PROMPT_CACHING_SONNET` | Imposta su `1` per disabilitare il prompt caching per il [modello Sonnet predefinito](/docs/it/prompt-caching#disable-prompt-caching) |463| `DISABLE_PROMPT_CACHING_SONNET` | Imposta `1` per disabilitare il prompt caching per il [modello Sonnet predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

461| `DISABLE_TELEMETRY` | Imposta su 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 la variabile per riattivare la telemetria. Gli eventi di telemetria non includono dati dell'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) |464| `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 la 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) |

462| `DISABLE_UPDATES` | Imposta su `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 |465| `DISABLE_UPDATES` | Imposta `1` per bloccare tutti gli aggiornamenti, inclusi `claude update` e `claude install` manuali. Più restrittiva di `DISABLE_AUTOUPDATER`. Usala quando distribuisci Claude Code attraverso i tuoi canali e gli utenti non devono aggiornarlo autonomamente |

463| `DISABLE_UPGRADE_COMMAND` | Imposta su `1` per nascondere il comando `/upgrade` |466| `DISABLE_UPGRADE_COMMAND` | Imposta `1` per nascondere il comando `/upgrade` |

464| `DO_NOT_TRACK` | Imposta su `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 convenzione trasversale riconosciuta da molte CLI per sviluppatori |467| `DO_NOT_TRACK` | Imposta `1` per disattivare la telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, anche 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 convenzione trasversale riconosciuta da molte CLI per sviluppatori |

465| `ENABLE_BETA_TRACING_DETAILED` | Imposta su `1`, e imposta `BETA_TRACING_ENDPOINT` sull'endpoint del tuo collector OTLP/HTTP, per attivare il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi di span contenenti dati e lo span `claude_code.hook`. Le sessioni interattive della CLI richiedono inoltre che la tua organizzazione sia nella allowlist della beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |468| `ENABLE_BETA_TRACING_DETAILED` | Imposta `1`, e imposta `BETA_TRACING_ENDPOINT` sull'endpoint del tuo collector OTLP/HTTP, per attivare il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi di span contenenti dati e lo span `claude_code.hook`. Le sessioni CLI interattive richiedono inoltre che la tua organizzazione sia inclusa nella allowlist della beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

466| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta su `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 |469| `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 |

467| `ENABLE_PROMPT_CACHING_1H` | Imposta su `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 entro l'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 con durata di 1 ora sono fatturate a una tariffa più alta. Per scegliere invece il TTL per categoria di richiesta, usa `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |470| `ENABLE_PROMPT_CACHING_1H` | Imposta `1` per richiedere un [TTL della cache del 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), [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 con abbonamento entro l'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 ciascun gruppo di richieste, usa `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |

468| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |471| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |

469| `ENABLE_TOOL_SEARCH` | Controlla [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search). Se non è impostata, Claude Code differisce tutti gli strumenti MCP per impostazione predefinita. Li carica comunque in anticipo sui modelli dell'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 proprietario. `true` differisce sempre e invia l'header beta, tranne su quegli stessi modelli dell'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 sull'Agent Platform di Google Cloud a meno che questa variabile non fosse impostata su `true` |472| `ENABLE_TOOL_SEARCH` | Controlla [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search). Se non è impostata, Claude Code differisce 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 un deploy di Microsoft Foundry ospitato su Azure e quando `ANTHROPIC_BASE_URL` punta a un host non first-party. `true` differisce 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 Google Cloud's Agent Platform a meno che non impostassi questa variabile su `true` |

470| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta su 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` la abilita comunque**, a differenza della maggior parte delle variabili on/off; rimuovi la 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 |473| `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 la 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 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 |

471| `FORCE_AUTOUPDATE_PLUGINS` | Imposta su `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'aggiornamento automatico principale è disabilitato tramite `DISABLE_AUTOUPDATER` |474| `FORCE_AUTOUPDATE_PLUGINS` | Imposta `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'aggiornamento automatico principale è disabilitato tramite `DISABLE_AUTOUPDATER` |

472| `FORCE_HYPERLINK` | Imposta su `1` per abilitare i collegamenti ipertestuali OSC 8 cliccabili quando il tuo terminale li supporta ma non viene rilevato automaticamente, oppure su `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 |475| `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 |

473| `FORCE_PROMPT_CACHING_5M` | Imposta su `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` |476| `FORCE_PROMPT_CACHING_5M` | Imposta `1` per forzare il TTL della cache del 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` |

474| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |477| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |

475| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |478| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |

476| `IS_DEMO` | Imposta su 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 la variabile per disattivarla. Utile durante lo streaming o la registrazione di una sessione |479| `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 la variabile per disattivarla. Utile quando trasmetti in streaming o registri una sessione |

477| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP (predefinito: 25000). 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 di immagini di quegli strumenti è comunque soggetto a questa variabile. Un risultato testuale riuscito più lungo di 50.000 caratteri proveniente da uno strumento senza tale annotazione viene [salvato in un file](/docs/it/mcp#mcp-output-limits-and-warnings) indipendentemente da questa variabile |480| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP (predefinito: 25000). 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 di immagini di quegli strumenti resta soggetto a questa variabile. Un risultato testuale riuscito più lungo di 50.000 caratteri da uno strumento senza tale annotazione viene [salvato in un file](/docs/it/mcp#mcp-output-limits-and-warnings) indipendentemente da questa variabile |

478| `MAX_STRUCTURED_OUTPUT_RETRIES` | Numero di tentativi che Claude Code consente quando la risposta del modello non supera la validazione rispetto a [`--json-schema`](/docs/it/cli-reference#cli-flags) in modalità non interattiva con il flag `-p`; dopo quel numero di tentativi falliti senza un 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 validazione. Il valore predefinito è 5, un primo tentativo più quattro nuovi tentativi |481| `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 quel numero di tentativi falliti senza un 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 |

479| `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 al numero massimo di token di output della richiesta e mai al di sotto di 1.024. Consulta `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per sapere come viene impostato tale 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, e 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 superiore ai modelli che sa [non accettare quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5. Per un valore positivo, Claude Code ignora il numero stesso sui modelli con ragionamento adattivo, tranne quando `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` disattiva il ragionamento adattivo |482| `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 al numero massimo di token di output della richiesta e mai al di sotto di 1.024. Consulta `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per come viene impostato tale 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, e gli altri modelli usano il limite. Imposta `0` per disabilitare il ragionamento sull'API Anthropic, tranne su Opus 5.5, Sonnet 5.5, Haiku 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 superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5. Per un valore positivo, Claude Code ignora il numero stesso sui modelli con ragionamento adattivo, tranne quando `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` disattiva il ragionamento adattivo |

480| `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` |483| `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` |

481| `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 terminano. 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 rilevamento](/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 |484| `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 terminano. 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 in ogni caso, 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 anche 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 |

482| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo l'avvio MCP bloccante attende, in millisecondi, 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 |485| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo l'avvio MCP bloccante attende, in millisecondi, il batch 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 |

483| `MCP_DISCOVERY_CACHE` | Attiva o disattiva la [cache di rilevamento 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 |486| `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 invece che 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 |

484| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di rilevamento](/docs/it/mcp#server-status-detail) (predefinita: 14400, ovvero 4 ore). A un avvio in cui la voce è più vecchia di così, 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 |487| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di discovery](/docs/it/mcp#server-status-detail) (predefinita: 14400, ovvero 4 ore). A un avvio in cui la voce è più vecchia di così, 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 |

485| `MCP_DISCOVERY_CACHE_STRIKES` | A un avvio in cui una voce della [cache di rilevamento](/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 si interrompe occasionalmente, in modo che un singolo aggiornamento fallito non scarti la voce. Richiede Claude Code v2.1.238 o successivo |488| `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 |

486| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per cui Claude Code usa una voce della [cache di rilevamento](/docs/it/mcp#server-status-detail) senza aggiornarla (predefinito: 900). A un avvio in cui la voce è più vecchia di così, Claude Code la usa comunque ma la aggiorna in background. Una volta che la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la scarta invece. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che è di 4 ore per impostazione predefinita. Prima della v2.1.238, Claude Code non limitava il valore |489| `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 così, Claude Code la usa comunque ma la aggiorna in background. Una volta che la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code invece la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che è di 4 ore per impostazione predefinita. Prima della v2.1.238, Claude Code non limitava il valore |

487| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, in alternativa a `--callback-port` quando aggiungi un server MCP con [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |490| `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) |

488| `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 connettori claude.ai e i server stdio, oppure `legacy` per non sondarne nessuno. Con la variabile non impostata, Claude Code sonda i server descritti in [Runtime client MCP](/docs/it/mcp#mcp-client-runtimes). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |491| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes), indica se Claude Code interroga i server per la revisione del protocollo MCP 2026-07-28. Imposta `auto` per interrogare i server HTTP, connettori claude.ai e stdio, oppure `legacy` per non interrogarne nessuno. Con la variabile non impostata, Claude Code interroga i server descritti in [Runtime client MCP](/docs/it/mcp#mcp-client-runtimes). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |

489| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |492| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |

490| `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'issuer che un server OAuth MCP restituisce nella sua risposta di autorizzazione e fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response` quando non corrisponde. Il runtime v1 non esegue questa verifica. 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 |493| `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'issuer che un server OAuth MCP restituisce nella sua risposta di autorizzazione e fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response` quando non corrisponde. 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 |

491| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |494| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |

492| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio dei server MCP (predefinito: 30000, ovvero 30 secondi) |495| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio dei server MCP (predefinito: 30000, ovvero 30 secondi) |

493| `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 server, oltre 60000 per aumentare tale limite per richiesta. Un valore inferiore riduce comunque il timeout complessivo dell'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 server in `.mcp.json` sovrascrive questo valore per quel server. Un `timeout` per 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 minimo richiede Claude Code v2.1.203 o successivo. Per la variabile d'ambiente, i valori inferiori a 1000 vengono portati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |496| `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 scade inoltre dopo 60 secondi per impostazione predefinita; imposta questa variabile, o il `timeout` per server, al di sopra di 60000 per aumentare quel limite per richiesta. Un valore inferiore riduce 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 server in `.mcp.json` la sovrascrive per quel server. Un `timeout` per server di almeno 1000 imposta anche la finestra minima di inattività per le chiamate agli strumenti di quel server, così che `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompa mai prima; questa soglia minima richiede Claude Code v2.1.203 o successivo. Per la variabile d'ambiente, i valori inferiori a 1000 vengono portati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |

494| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno inviate direttamente, bypassando il proxy |497| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno inviate direttamente, bypassando il proxy |

495| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard dell'SDK OpenTelemetry sulla lunghezza dei valori degli attributi. Claude Code limita gli attributi di telemetria contenenti contenuti 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) |498| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard dell'SDK OpenTelemetry sulla lunghezza del valore degli attributi. Claude Code limita gli attributi di telemetria contenenti dati al minore tra questo valore e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, così che il marcatore di troncamento resti 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) |

496| `OTEL_LOG_ASSISTANT_RESPONSES` | Imposta su `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) |499| `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) |

497| `OTEL_LOG_MANAGED_SETTINGS` | Imposta su `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) |500| `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) |

498| `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 dei contenuti, 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 dei contenuti, 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) |501| `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 di 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 di 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) |

499| `OTEL_LOG_TOOL_CONTENT` | Imposta su `1` per includere il contenuto degli strumenti nell'evento di span OpenTelemetry `tool.output`. Gli attributi degli span riportano il contenuto degli strumenti in base ai [propri controlli](/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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage#tool-output-span-event) |502| `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 in base ai [propri controlli](/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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage#tool-output-span-event) |

500| `OTEL_LOG_TOOL_DETAILS` | Imposta su `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 di token](/docs/it/monitoring-usage#cost-counter); e altri dettagli degli strumenti nelle metriche, nelle tracce e nei log 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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |503| `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 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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

501| `OTEL_LOG_USER_PROMPTS` | Imposta su `1` per includere il testo dei prompt dell'utente nelle tracce e nei log 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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |504| `OTEL_LOG_USER_PROMPTS` | Imposta `1` per includere il testo dei prompt dell'utente nelle tracce e nei log 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), a parte i valori di disattivazione descritti in quella sezione. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

502| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Imposta su `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |505| `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) |

503| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Imposta su `true` per includere il punto di ingresso della sessione negli attributi delle metriche (predefinito: escluso). Aggiunta nella v2.1.152. Consulta [Monitoraggio](/docs/it/monitoring-usage) |506| `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) |

504| `OTEL_METRICS_INCLUDE_REPOSITORY` | Imposta su `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) |507| `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) |

505| `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 su `false` per escluderle (predefinito: incluse). Consulta [Monitoraggio](/docs/it/monitoring-usage#multi-team-organization-support) |508| `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) |

506| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta su `false` per escludere l'ID di sessione dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |509| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta `false` per escludere l'ID di sessione dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

507| `OTEL_METRICS_INCLUDE_VERSION` | Imposta su `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: escluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |510| `OTEL_METRICS_INCLUDE_VERSION` | Imposta `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: escluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

508| `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 retrocompatibilità |511| `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 retrocompatibilità |

509| `TASK_MAX_OUTPUT_LENGTH` | Rimossa nella v2.1.277 e ora senza effetto, insieme allo strumento `TaskOutput` di cui determinava le dimensioni. 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 ora legge il file di output di un'attività in background con `Read` |512| `TASK_MAX_OUTPUT_LENGTH` | Rimossa nella v2.1.277 e ora non ha alcun 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 ora legge invece il file di output di un'attività in background con `Read` |

510| `USE_BUILTIN_RIPGREP` | Imposta su `0` per usare `rg` installato nel sistema invece di `rg` incluso in Claude Code |513| `USE_BUILTIN_RIPGREP` | Imposta `0` per usare `rg` installato nel sistema invece di `rg` incluso in Claude Code |

511| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrive la regione per Claude 3.5 Haiku quando si usa l'Agent Platform di Google Cloud |514| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrive la regione per Claude 3.5 Haiku quando si usa Google Cloud's Agent Platform |

512| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrive la regione per Claude 3.5 Sonnet quando si usa l'Agent Platform di Google Cloud |515| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrive la regione per Claude 3.5 Sonnet quando si usa Google Cloud's Agent Platform |

513| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrive la regione per Claude 3.7 Sonnet quando si usa l'Agent Platform di Google Cloud |516| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrive la regione per Claude 3.7 Sonnet quando si usa Google Cloud's Agent Platform |

514| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sovrascrive la regione per Claude 4.0 Opus quando si usa l'Agent Platform di Google Cloud |517| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sovrascrive la regione per Claude 4.0 Opus quando si usa Google Cloud's Agent Platform |

515| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sovrascrive la regione per Claude 4.0 Sonnet quando si usa l'Agent Platform di Google Cloud |518| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sovrascrive la regione per Claude 4.0 Sonnet quando si usa Google Cloud's Agent Platform |

516| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sovrascrive la regione per Claude 4.1 Opus quando si usa l'Agent Platform di Google Cloud |519| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sovrascrive la regione per Claude 4.1 Opus quando si usa Google Cloud's Agent Platform |

517| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sovrascrive la regione per Claude Opus 4.5 quando si usa l'Agent Platform di Google Cloud |520| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sovrascrive la regione per Claude Opus 4.5 quando si usa Google Cloud's Agent Platform |

518| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sovrascrive la regione per Claude Sonnet 4.5 quando si usa l'Agent Platform di Google Cloud |521| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sovrascrive la regione per Claude Sonnet 4.5 quando si usa Google Cloud's Agent Platform |

519| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sovrascrive la regione per Claude Opus 4.6 quando si usa l'Agent Platform di Google Cloud |522| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sovrascrive la regione per Claude Opus 4.6 quando si usa Google Cloud's Agent Platform |

520| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sovrascrive la regione per Claude Sonnet 4.6 quando si usa l'Agent Platform di Google Cloud |523| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sovrascrive la regione per Claude Sonnet 4.6 quando si usa Google Cloud's Agent Platform |

521| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sovrascrive la regione per Claude Opus 4.7 quando si usa l'Agent Platform di Google Cloud |524| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sovrascrive la regione per Claude Opus 4.7 quando si usa Google Cloud's Agent Platform |

522| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sovrascrive la regione per Claude Opus 4.8 quando si usa l'Agent Platform di Google Cloud |525| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sovrascrive la regione per Claude Opus 4.8 quando si usa Google Cloud's Agent Platform |

523| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sovrascrive la regione per Claude Opus 5.5 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.280 |526| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sovrascrive la regione per Claude Opus 5.5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.280 |

524| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5.5 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.284 |527| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5.5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.284 |

525| `VERTEX_REGION_CLAUDE_5_OPUS` | Sovrascrive la regione per Claude Opus 5 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.219 |528| `VERTEX_REGION_CLAUDE_5_OPUS` | Sovrascrive la regione per Claude Opus 5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.219 |

526| `VERTEX_REGION_CLAUDE_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.197 |529| `VERTEX_REGION_CLAUDE_5_SONNET` | Sovrascrive la regione per Claude Sonnet 5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.197 |

527| `VERTEX_REGION_CLAUDE_FABLE_5` | Sovrascrive la regione per Claude Fable 5 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.170 |530| `VERTEX_REGION_CLAUDE_FABLE_5` | Sovrascrive la regione per Claude Fable 5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.170 |

528| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sovrascrive la regione per Claude Fable 5.1 quando si usa l'Agent Platform di Google Cloud. Aggiunta nella v2.1.257 |531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sovrascrive la regione per Claude Fable 5.1 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.257 |

529| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sovrascrive la regione per Claude Haiku 4.5 quando si usa l'Agent Platform di Google Cloud |532| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sovrascrive la regione per Claude Haiku 4.5 quando si usa Google Cloud's Agent Platform |

533| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Sovrascrive la regione per Claude Haiku 5.5 quando si usa Google Cloud's Agent Platform. Aggiunta nella v2.1.293 |

530 534 

531Sono 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.535Sono 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.

532 536 

533Imposta `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), a parte 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.537Imposta `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), a parte i valori di disattivazione descritti in quella sezione. `OTEL_RESOURCE_ATTRIBUTES` e le variabili di intervallo di esportazione, timeout e compressione, come `OTEL_METRIC_EXPORT_INTERVAL`, si applicano comunque dalle impostazioni di progetto e locali.

534 538 

535<h2 id="what-the-subprocess-environment-scrub-removes">539<h2 id="what-the-subprocess-environment-scrub-removes">

536 Cosa rimuove la pulizia dell'ambiente dei sottoprocessi540 Cosa rimuove la pulizia dell'ambiente dei sottoprocessi

errors.md +4 −5

Details

130| `unable to get local issuer certificate` | [Rete](#ssl-certificate-errors) |130| `unable to get local issuer certificate` | [Rete](#ssl-certificate-errors) |

131| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Rete](#host-not-allowed-in-a-cloud-session) |131| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Rete](#host-not-allowed-in-a-cloud-session) |

132| `proxy refused the connection` | [Rete](#the-proxy-refused-the-connection) |132| `proxy refused the connection` | [Rete](#the-proxy-refused-the-connection) |

133| `403` with `This GraphQL query is not enabled for this session` in a cloud session | [GitHub proxy](/docs/it/cloud-environments#github-proxy) |133| `403` with `GitHub GraphQL is not available from Claude Code sessions` in a cloud session | [GitHub proxy](/docs/it/cloud-environments#github-proxy) |

134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Rete](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Rete](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |

135| `Couldn't reconnect to your Remote Control session` | [Rete](#couldnt-reconnect-to-your-remote-control-session) |135| `Couldn't reconnect to your Remote Control session` | [Rete](#couldnt-reconnect-to-your-remote-control-session) |

136| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Rete](#sessions-ended-while-this-machine-was-offline) |136| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Rete](#sessions-ended-while-this-machine-was-offline) |


197| `Cloud sessions cannot be created from a --restricted session` | [Errori della riga di comando](#cloud-sessions-cannot-be-created-from-a-restricted-session) |197| `Cloud sessions cannot be created from a --restricted session` | [Errori della riga di comando](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

198| `Cloud sessions are disabled by your organization's policy` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |198| `Cloud sessions are disabled by your organization's policy` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |

199| `Couldn't verify your organization's policy for cloud sessions` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |199| `Couldn't verify your organization's policy for cloud sessions` | [Errori della riga di comando](#cloud-sessions-are-disabled-by-your-organizations-policy) |

200| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](/docs/it/claude-code-on-the-web#unable-to-get-organization-uuid) |

200| `Error: --json-schema is not a valid JSON Schema` | [Errori della riga di comando](#the-json-schema-value-is-not-a-valid-json-schema) |201| `Error: --json-schema is not a valid JSON Schema` | [Errori della riga di comando](#the-json-schema-value-is-not-a-valid-json-schema) |

201| `Error: Invalid --agents configuration:` | [Errori della riga di comando](#invalid-agents-configuration) |202| `Error: Invalid --agents configuration:` | [Errori della riga di comando](#invalid-agents-configuration) |

202| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Errori della riga di comando](#invalid-agents-configuration) |203| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Errori della riga di comando](#invalid-agents-configuration) |


387* Una connessione che Claude Code rileva è stata interrotta dal tuo computer che si è addormentato a metà di una richiesta. Claude Code la conta come una connessione interrotta secondo le regole sopra; una volta che l'etichetta di riprovazione nomina il motivo specifico, legge `Connection lost while your computer was asleep`, e se il turno termina dopo che Claude ha finito di pensare ma prima di un testo o di una chiamata a uno strumento, il messaggio legge `Your computer went to sleep before a response was produced`.388* Una connessione che Claude Code rileva è stata interrotta dal tuo computer che si è addormentato a metà di una richiesta. Claude Code la conta come una connessione interrotta secondo le regole sopra; una volta che l'etichetta di riprovazione nomina il motivo specifico, legge `Connection lost while your computer was asleep`, e se il turno termina dopo che Claude ha finito di pensare ma prima di un testo o di una chiamata a uno strumento, il messaggio legge `Your computer went to sleep before a response was produced`.

388* Un flusso di risposta bloccato, quando le intestazioni di risposta sono arrivate ma nessuna risposta di Claude è arrivata, o quando Claude ha finito di pensare ma non ha iniziato un testo o una chiamata a uno strumento: Claude Code interrompe la connessione bloccata e invia nuovamente la richiesta al massimo una volta, al di fuori del budget di 10 tentativi sopra. Se la risposta si blocca una seconda volta dopo che Claude ha finito di pensare ma prima di un testo o di una chiamata a uno strumento, Claude Code termina il turno con `The response stalled before a response was produced`.389* Un flusso di risposta bloccato, quando le intestazioni di risposta sono arrivate ma nessuna risposta di Claude è arrivata, o quando Claude ha finito di pensare ma non ha iniziato un testo o una chiamata a uno strumento: Claude Code interrompe la connessione bloccata e invia nuovamente la richiesta al massimo una volta, al di fuori del budget di 10 tentativi sopra. Se la risposta si blocca una seconda volta dopo che Claude ha finito di pensare ma prima di un testo o di una chiamata a uno strumento, Claude Code termina il turno con `The response stalled before a response was produced`.

389* Una richiesta di streaming a cui l'API non risponde mai con intestazioni di risposta, su una connessione dove il [first-byte deadline runs](/docs/it/network-config#streaming-idle-watchdogs): Claude Code la interrompe alla scadenza e la invia nuovamente al massimo una volta per richiesta di modello, entro il budget di riprovazione, quindi termina il turno con [No response from API](#no-response-from-api) se anche quel tentativo rimane senza risposta. Su altre connessioni, la richiesta attende `API_TIMEOUT_MS`. Quando imposti `CLAUDE_CODE_RETRY_WATCHDOG`, il limite di un tentativo non si applica.390* Una richiesta di streaming a cui l'API non risponde mai con intestazioni di risposta, su una connessione dove il [first-byte deadline runs](/docs/it/network-config#streaming-idle-watchdogs): Claude Code la interrompe alla scadenza e la invia nuovamente al massimo una volta per richiesta di modello, entro il budget di riprovazione, quindi termina il turno con [No response from API](#no-response-from-api) se anche quel tentativo rimane senza risposta. Su altre connessioni, la richiesta attende `API_TIMEOUT_MS`. Quando imposti `CLAUDE_CODE_RETRY_WATCHDOG`, il limite di un tentativo non si applica.

391* Una risposta in streaming che il filtro dei contenuti di output dell'API interrompe prima che Claude abbia finito il suo ragionamento o iniziato un testo o una chiamata a uno strumento. Claude Code invia nuovamente la richiesta una volta, entro il budget di riprovazione, e mostra [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) se il filtro interrompe anche la seconda risposta.

390* Throttle 429 temporanei, ma non il `429` del limite di spesa di un gateway, che non è un throttle; vedi [Spend limit reached](#spend-limit-reached).392* Throttle 429 temporanei, ma non il `429` del limite di spesa di un gateway, che non è un throttle; vedi [Spend limit reached](#spend-limit-reached).

391 * Quando sei connesso con un abbonamento claude.ai, questo include throttle 429 che non portano le intestazioni di quota del tuo piano. Prima della v2.1.199, Claude Code ritentava questi throttle solo per le chiavi API e gli accessi Enterprise.393 * Quando sei connesso con un abbonamento claude.ai, questo include throttle 429 che non portano le intestazioni di quota del tuo piano. Prima della v2.1.199, Claude Code ritentava questi throttle solo per le chiavi API e gli accessi Enterprise.

392* Una richiesta rifiutata perché l'input più `max_tokens` supera il limite di contesto. Inviarla nuovamente invariata fallirebbe allo stesso modo, quindi Claude Code ritenta con un `max_tokens` ridotto, e smette di ritentare e compatta invece in due casi:394* Una richiesta rifiutata perché l'input più `max_tokens` supera il limite di contesto. Inviarla nuovamente invariata fallirebbe allo stesso modo, quindi Claude Code ritenta con un `max_tokens` ridotto, e smette di ritentare e compatta invece in due casi:


405* Una [Amazon Bedrock streaming response with an unexpected content-type](#bedrock-streaming-response-has-an-unexpected-content-type), perché il gateway o il proxy che riscrive la risposta riscriverebbero il tentativo allo stesso modo. Richiede Claude Code v2.1.208 o successivo.407* Una [Amazon Bedrock streaming response with an unexpected content-type](#bedrock-streaming-response-has-an-unexpected-content-type), perché il gateway o il proxy che riscrive la risposta riscriverebbero il tentativo allo stesso modo. Richiede Claude Code v2.1.208 o successivo.

406* Un tentativo non in streaming di una richiesta in streaming non riuscita che ottiene uno stato di successo ma [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code termina il turno con quell'errore.408* Un tentativo non in streaming di una richiesta in streaming non riuscita che ottiene uno stato di successo ma [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code termina il turno con quell'errore.

407* Una richiesta che il controllo della politica della tua organizzazione ha negato, che emerge come una riga `API Error:` che porta il messaggio di negazione. Gli amministratori della tua organizzazione hanno configurato il controllo con [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), una funzione Claude Enterprise, e il messaggio termina con le istruzioni che hanno configurato, o per impostazione predefinita ti dice di contattarli. Claude Code non invia nuovamente la richiesta negata allo stesso modello o a un [fallback model](/docs/it/model-config#fallback-model-chains), perché il diniego riguarda il contenuto della richiesta piuttosto che il modello. Prima della v2.1.239, Claude Code poteva inviare nuovamente una richiesta negata, senza streaming o su un fallback model configurato, prima di mostrarti il diniego.409* Una richiesta che il controllo della politica della tua organizzazione ha negato, che emerge come una riga `API Error:` che porta il messaggio di negazione. Gli amministratori della tua organizzazione hanno configurato il controllo con [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), una funzione Claude Enterprise, e il messaggio termina con le istruzioni che hanno configurato, o per impostazione predefinita ti dice di contattarli. Claude Code non invia nuovamente la richiesta negata allo stesso modello o a un [fallback model](/docs/it/model-config#fallback-model-chains), perché il diniego riguarda il contenuto della richiesta piuttosto che il modello. Prima della v2.1.239, Claude Code poteva inviare nuovamente una richiesta negata, senza streaming o su un fallback model configurato, prima di mostrarti il diniego.

408* Una risposta bloccata dal filtro dei contenuti di output dell'API. Claude Code mostra subito [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) e non ritenta né invia nuovamente quella richiesta.

409 410 

410<h3 id="what-you-see-while-claude-code-retries-or-waits">411<h3 id="what-you-see-while-claude-code-retries-or-waits">

411 Cosa vedi mentre Claude Code ritenta o attende412 Cosa vedi mentre Claude Code ritenta o attende


2299 2300 

2300**Cosa fare:**2301**Cosa fare:**

2301 2302 

2302* Ridimensiona l'immagine prima di incollarla. L'API accetta immagini fino a 8000 pixel sul lato più lungo per una singola immagine, o 2000 pixel quando molte immagini sono nel contesto.2303* Ridimensiona l'immagine prima di incollarla. L'API accetta immagini fino a 8000 pixel sul lato più lungo per una singola immagine, o 3000 pixel quando nel contesto ci sono più di 20 immagini.

2303* Fai uno screenshot più stretto della regione rilevante invece dello schermo intero2304* Fai uno screenshot più stretto della regione rilevante invece dello schermo intero

2304 2305 

2305<h3 id="unable-to-resize-image">2306<h3 id="unable-to-resize-image">


2905API Error: Output blocked by content filtering policy2906API Error: Output blocked by content filtering policy

2906```2907```

2907 2908 

2908Claude Code mostra l'errore non appena arriva il blocco e termina lì la richiesta. Non riprova la richiesta, non la reinvia senza streaming e non passa a un [modello di fallback](/docs/it/model-config#fallback-model-chains). Prima della v2.1.285, Claude Code poteva reinviare e riprovare una richiesta bloccata, a volte per minuti, prima di mostrarti l'errore.

2909 

2910**Cosa fare:**2909**Cosa fare:**

2911 2910 

2912* Riformula il tuo ultimo messaggio o adotta un approccio diverso2911* Riformula il tuo ultimo messaggio o adotta un approccio diverso

fast-mode.md +1 −1

Details

88 88 

89I prezzi della modalità veloce sono fissi su tutta la finestra di contesto di 1M token. Per il tasso Opus standard da confrontare, consulta il [riferimento sui prezzi di Claude](https://platform.claude.com/docs/it/about-claude/pricing).89I prezzi della modalità veloce sono fissi su tutta la finestra di contesto di 1M token. Per il tasso Opus standard da confrontare, consulta il [riferimento sui prezzi di Claude](https://platform.claude.com/docs/it/about-claude/pricing).

90 90 

91La prima volta che abiliti la modalità veloce in una conversazione, paghi il prezzo completo del token di input non memorizzato nella cache della modalità veloce per l'intero contesto della conversazione. Più avanti sei nella conversazione, più questo costa, quindi abilitare la modalità veloce dall'inizio è più economico. Il costo si applica una volta per conversazione, quindi disattivare e riattivare la modalità veloce in seguito non lo ripete. Per il meccanismo, consulta [come la modalità veloce interagisce con la cache del prompt](/docs/it/prompt-caching#turning-on-fast-mode).91La prima volta che abiliti la modalità veloce in una conversazione, paghi il prezzo completo del token di input non memorizzato nella cache della modalità veloce per l'intero contesto della conversazione. Più avanti sei nella conversazione, più questo costa, quindi l'addebito è minimo quando abiliti la modalità veloce all'inizio. Il costo si applica una volta per conversazione, quindi disattivare e riattivare la modalità veloce in seguito non lo ripete. Per il meccanismo, consulta [come la modalità veloce interagisce con la cache del prompt](/docs/it/prompt-caching#turning-on-fast-mode).

92 92 

93<h3 id="see-where-fast-mode-spend-appears">93<h3 id="see-where-fast-mode-spend-appears">

94 Vedi dove appare la spesa della modalità veloce94 Vedi dove appare la spesa della modalità veloce

Details

220</table>220</table>

221 221 

222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Su Google Cloud's Agent Platform, la ricerca web è disponibile per i modelli Claude 4 e successivi.<br />222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Su Google Cloud's Agent Platform, la ricerca web è disponibile per i modelli Claude 4 e successivi.<br />

223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Su questi provider, auto mode supporta solo Claude Sonnet 5 o successivi, Opus 4.7 o successivi, e i modelli Fable. Consulta [Configurazione Auto mode](/docs/it/auto-mode-config). Per la modalità di autorizzazione in cui inizia una sessione su questi provider, consulta [Quale modalità inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in). Dalla v2.1.158 alla v2.1.206, auto mode su questi provider richiedeva anche l'impostazione di `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 ha rimosso il requisito.<br />223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Su questi provider, la modalità auto supporta solo Claude Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e i modelli Fable. Consulta [Configurazione della modalità auto](/docs/it/auto-mode-config). Per la modalità di permesso con cui si avvia una sessione su questi provider, consulta [Con quale modalità si avvia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in). Dalla v2.1.158 alla v2.1.206, la modalità auto su questi provider richiedeva anche l'impostazione di `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; la v2.1.207 ha rimosso il requisito.<br />

224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Soggetto al tuo accordo con il provider cloud.<br />224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Soggetto al tuo accordo con il provider cloud.<br />

225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Solo dashboard e API. [Metriche di contribuzione](/docs/it/analytics#enable-contribution-metrics) richiede un'organizzazione Team o Enterprise su claude.ai.<br />225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Solo dashboard e API. [Metriche di contribuzione](/docs/it/analytics#enable-contribution-metrics) richiede un'organizzazione Team o Enterprise su claude.ai.<br />

226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Richiede Claude Code v2.1.224 o successivo su macOS e Linux, incluso Linux all'interno di WSL 2. Su Windows nativo, richiede Claude Code v2.1.234 o successivo. Con autenticazione tramite chiave API, la messaggistica è solo sulla stessa macchina. Su Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, la messaggistica è solo sulla stessa macchina e richiede Claude Code v2.1.248 o successivo. Claude può trovare le tue [sessioni Claude Code sul web](/docs/it/claude-code-on-the-web) e le tue sessioni su altre macchine solo da una sessione connessa a [Remote Control](/docs/it/remote-control). Per connetterti, hai bisogno di un accesso claude.ai e degli altri [requisiti di Remote Control](/docs/it/remote-control#requirements). Consulta [Messaggi alle sessioni su altre macchine](/docs/it/cross-session-messaging#message-sessions-on-other-machines).226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Richiede Claude Code v2.1.224 o successivo su macOS e Linux, incluso Linux all'interno di WSL 2. Su Windows nativo, richiede Claude Code v2.1.234 o successivo. Con autenticazione tramite chiave API, la messaggistica è solo sulla stessa macchina. Su Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, la messaggistica è solo sulla stessa macchina e richiede Claude Code v2.1.248 o successivo. Claude può trovare le tue [sessioni cloud](/docs/it/claude-code-on-the-web) e le tue sessioni su altre macchine solo da una sessione connessa a [Remote Control](/docs/it/remote-control). Per connetterti, hai bisogno di un accesso claude.ai e degli altri [requisiti di Remote Control](/docs/it/remote-control#requirements). Consulta [Messaggi alle sessioni su altre macchine](/docs/it/cross-session-messaging#message-sessions-on-other-machines).

227 227 

228<Note>228<Note>

229 Se ti autentichi tramite un [gateway LLM](/docs/it/llm-gateway), la disponibilità delle funzionalità corrisponde al provider sottostante a cui il gateway inoltra, ad eccezione delle funzionalità che Claude Code stesso disattiva. Ogni volta che `ANTHROPIC_BASE_URL` punta a un host diverso da `api.anthropic.com`, Claude Code disattiva funzionalità come [Remote Control](/docs/it/remote-control#requirements) e [server-managed settings](/docs/it/server-managed-settings#platform-availability), indipendentemente da ciò che il gateway inoltra. Alcune funzionalità solo Anthropic come l'[Advisor](/docs/it/advisor) funzionano solo se il gateway inoltra le richieste intatte all'API Anthropic.229 Se ti autentichi tramite un [gateway LLM](/docs/it/llm-gateway), la disponibilità delle funzionalità corrisponde al provider sottostante a cui il gateway inoltra, ad eccezione delle funzionalità che Claude Code stesso disattiva. Ogni volta che `ANTHROPIC_BASE_URL` punta a un host diverso da `api.anthropic.com`, Claude Code disattiva funzionalità come [Remote Control](/docs/it/remote-control#requirements) e [server-managed settings](/docs/it/server-managed-settings#platform-availability), indipendentemente da ciò che il gateway inoltra. Alcune funzionalità solo Anthropic come l'[Advisor](/docs/it/advisor) funzionano solo se il gateway inoltra le richieste intatte all'API Anthropic.


244 **Supporto parziale:**244 **Supporto parziale:**

245 245 

246 * [Desktop](/docs/it/desktop): solo tramite [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)246 * [Desktop](/docs/it/desktop): solo tramite [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

247 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, e modelli Fable soltanto247 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e modelli Fable soltanto

248 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>248 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>

249 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo AWS249 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo AWS

250 250 


270 270 

271 * [Desktop](/docs/it/desktop): tramite [impostazioni gestite](https://claude.com/docs/third-party/claude-desktop/configuration) o [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)271 * [Desktop](/docs/it/desktop): tramite [impostazioni gestite](https://claude.com/docs/third-party/claude-desktop/configuration) o [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

272 * [Web search](/docs/it/tools-reference#websearch-tool-behavior): modelli Claude 4 e successivi272 * [Web search](/docs/it/tools-reference#websearch-tool-behavior): modelli Claude 4 e successivi

273 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, e modelli Fable soltanto273 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e modelli Fable soltanto

274 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>274 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>

275 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo Google Cloud275 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo Google Cloud

276 276 


284 284 

285 * [Desktop](/docs/it/desktop): solo tramite [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)285 * [Desktop](/docs/it/desktop): solo tramite [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

286 * [Web search](/docs/it/tools-reference#websearch-tool-behavior): [distribuzioni ospitate su Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) soltanto286 * [Web search](/docs/it/tools-reference#websearch-tool-behavior): [distribuzioni ospitate su Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) soltanto

287 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, e modelli Fable soltanto287 * [Auto mode](/docs/it/auto-mode-config): Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e modelli Fable soltanto

288 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>288 * [Cross-session messaging](/docs/it/cross-session-messaging): tra le tue sessioni su questa macchina soltanto <sup><a href="#fn5">5</a></sup>

289 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo Azure289 * [Zero Data Retention](/docs/it/zero-data-retention): soggetto al tuo accordo Azure

290 290 

glossary.md +25 −25

Details

130 130 

131Un file markdown di istruzioni persistenti che scrivi per Claude, caricato all'inizio di ogni sessione come messaggio utente dopo il prompt di sistema. Metti qui le convenzioni di progetto, le note sull'architettura e le regole "fai sempre X". CLAUDE.md a livello di radice del progetto sopravvive alla [compaction](#compaction) e viene riletto fresco dal disco in seguito.131Un file markdown di istruzioni persistenti che scrivi per Claude, caricato all'inizio di ogni sessione come messaggio utente dopo il prompt di sistema. Metti qui le convenzioni di progetto, le note sull'architettura e le regole "fai sempre X". CLAUDE.md a livello di radice del progetto sopravvive alla [compaction](#compaction) e viene riletto fresco dal disco in seguito.

132 132 

133Puoi posizionare CLAUDE.md a livello di progetto in `./CLAUDE.md` o `./.claude/CLAUDE.md`, a livello di utente in `~/.claude/CLAUDE.md`, o come [managed policy](#managed-settings) per la tua organizzazione. Tutti i file scoperti vengono concatenati nel contesto piuttosto che sovrascriversi a vicenda, ordinati dall'ambito più ampio al più specifico. Claude Code può anche caricare i file [AGENTS.md](#agents-md) di un progetto, da soli o insieme a CLAUDE.md.133Puoi posizionare CLAUDE.md a livello di progetto in `./CLAUDE.md` o `./.claude/CLAUDE.md`, a livello di utente in `~/.claude/CLAUDE.md`, o come [policy gestita](#managed-settings) per la tua organizzazione. Tutti i file scoperti vengono concatenati nel contesto piuttosto che sovrascriversi a vicenda, ordinati dall'ambito più ampio al più specifico. Claude Code può anche caricare i file [AGENTS.md](#agents-md) di un progetto al posto di CLAUDE.md.

134 134 

135Scopri di più: [CLAUDE.md files](/docs/it/memory#claude-md-files)135Scopri di più: [CLAUDE.md files](/docs/it/memory#claude-md-files)

136 136 


196 Effort level196 Effort level

197</h3>197</h3>

198 198 

199Un'impostazione che controlla il ragionamento adattivo, che consente al modello di decidere se e quanto pensare ad ogni passaggio. Uno sforzo più elevato significa più token di thinking e ragionamento più profondo; uno sforzo inferiore è più veloce ed economico. Effort è supportato su modelli Fable, su Opus 4.6 e versioni successive, e su Sonnet 4.6 e versioni successive.199Un'impostazione che controlla il ragionamento adattivo, che consente al modello di decidere se e quanto ragionare a ogni passaggio. Uno sforzo più elevato significa più token di ragionamento e un ragionamento più profondo; uno sforzo inferiore è più veloce ed economico. Lo sforzo è supportato sui modelli Fable, su Opus 4.6 e versioni successive, su Sonnet 4.6 e versioni successive e su Haiku 5.5.

200 200 

201Scopri di più: [Adjust effort level](/docs/it/model-config#adjust-effort-level)201Scopri di più: [Adjust effort level](/docs/it/model-config#adjust-effort-level)

202 202 


380 Sandboxing380 Sandboxing

381</h3>381</h3>

382 382 

383Isolamento a livello di OS del filesystem e della rete per lo strumento Bash. I comandi vengono eseguiti all'interno di un confine che definisci in anticipo, in modo che Claude possa lavorare liberamente al suo interno senza prompt di approvazione per comando. Sandboxing è un livello separato dalle [permission rules](#permission-rule).383Isolamento a livello di OS del filesystem e della rete per lo strumento Bash. I comandi vengono eseguiti all'interno di un confine che definisci in anticipo, in modo che Claude possa lavorare liberamente al suo interno senza richieste di approvazione per ogni comando. Il sandboxing è un livello separato dalle [regole di permesso](#permission-rule).

384 384 

385Scopri di più: [Sandboxing](/docs/it/sandboxing)385Scopri di più: [Sandboxing](/docs/it/sandboxing)

386 386 


388 Session388 Session

389</h3>389</h3>

390 390 

391Una conversazione legata alla tua directory corrente, con la sua propria [context window](#context-window) indipendente. Le sessioni possono essere riprese con `claude -c`, fork con `--fork-session` per preservare la cronologia sotto un nuovo ID di sessione, o eseguite in parallelo tra i terminali. L'esecuzione di `/clear` avvia una nuova sessione; quella precedente rimane archiviata ed è disponibile tramite `/resume`. La trascrizione di ogni sessione è archiviata in `~/.claude/projects/`.391Una conversazione legata alla tua directory corrente, con la sua [finestra di contesto](#context-window) indipendente. Le sessioni possono essere riprese con `claude -c`, duplicate con `--fork-session` per preservare la cronologia sotto un nuovo ID di sessione, o eseguite in parallelo in più terminali. L'esecuzione di `/clear` avvia una nuova sessione; quella precedente rimane archiviata ed è disponibile tramite `/resume`. La trascrizione di ogni sessione è archiviata in `~/.claude/projects/`.

392 392 

393Scopri di più: [Work with sessions](/docs/it/how-claude-code-works#work-with-sessions)393Scopri di più: [Lavorare con le sessioni](/docs/it/how-claude-code-works#work-with-sessions)

394 394 

395<h3 id="settings-layers">395<h3 id="settings-layers">

396 Settings layers396 Settings layers

397</h3>397</h3>

398 398 

399La gerarchia da cui Claude Code legge la configurazione, in ordine di precedenza dal più alto al più basso: [managed policy](#managed-settings), argomenti della riga di comando, impostazioni locali in `.claude/settings.local.json`, impostazioni di progetto in `.claude/settings.json`, quindi impostazioni utente in `~/.claude/settings.json`. Gli array si uniscono tra i livelli; gli scalari a un livello più alto sovrascrivono quelli inferiori. Vedi [Settings precedence](/docs/it/settings#settings-precedence).399La gerarchia da cui Claude Code legge la configurazione, in ordine di precedenza dal più alto al più basso: [policy gestita](#managed-settings), impostazioni che passi con il flag `--settings`, impostazioni locali in `.claude/settings.local.json`, impostazioni di progetto in `.claude/settings.json`, quindi impostazioni utente in `~/.claude/settings.json`. Gli array vengono combinati tra i livelli; gli scalari a un livello più alto sovrascrivono quelli inferiori. Vedi [Precedenza delle impostazioni](/docs/it/settings#settings-precedence).

400 400 

401Scopri di più: [Settings files](/docs/it/settings#where-settings-live)401Scopri di più: [File delle impostazioni](/docs/it/settings#where-settings-live)

402 402 

403<h3 id="skill">403<h3 id="skill">

404 Skill404 Skill

405</h3>405</h3>

406 406 

407Un file `SKILL.md` contenente istruzioni, conoscenze o un flusso di lavoro che Claude aggiunge al suo toolkit. Claude carica una skill automaticamente quando rilevante, o la invochi direttamente con `/skill-name`. Le skills seguono lo standard open Agent Skills; Claude Code lo estende con il controllo dell'invocazione e l'esecuzione del subagent.407Un file `SKILL.md` contenente istruzioni, conoscenze o un workflow che Claude aggiunge al suo toolkit. Claude carica una skill automaticamente quando è pertinente, oppure la invochi direttamente con `/skill-name`. Le skill seguono lo standard aperto Agent Skills; Claude Code lo estende con il controllo dell'invocazione e l'esecuzione in subagent.

408 408 

409Le skills sono il successore consigliato ai comandi personalizzati. Un file in `.claude/commands/deploy.md` e uno in `.claude/skills/deploy/SKILL.md` creano entrambi `/deploy` e funzionano allo stesso modo; i file di comando esistenti continuano a funzionare.409Le skill sono il successore consigliato dei comandi personalizzati. Un file in `.claude/commands/deploy.md` e uno in `.claude/skills/deploy/SKILL.md` creano entrambi `/deploy` e funzionano allo stesso modo; i file di comando esistenti continuano a funzionare.

410 410 

411Scopri di più: [Extend Claude with skills](/docs/it/skills)411Scopri di più: [Estendere Claude con le skill](/docs/it/skills)

412 412 

413<h3 id="subagent">413<h3 id="subagent">

414 Subagent414 Subagent

415</h3>415</h3>

416 416 

417Un assistente AI specializzato che viene eseguito nella sua propria context window con un prompt di sistema personalizzato, accesso specifico agli strumenti e autorizzazioni indipendenti. Lavora su un'attività delegata e restituisce un riepilogo alla conversazione principale. Usa i subagents per mantenere grandi esplorazioni fuori dal tuo contesto primario o per eseguire ricerche parallele. Un subagent rimane all'interno della sessione che lo ha generato. Per passare i risultati tra sessioni separate che esegui tu stesso, usa [cross-session messaging](/docs/it/cross-session-messaging).417Un assistente AI specializzato che viene eseguito nella sua finestra di contesto con un prompt di sistema personalizzato, accesso specifico agli strumenti e permessi indipendenti. Lavora su un'attività delegata e restituisce un riepilogo alla conversazione principale. Usa i subagent per mantenere grandi esplorazioni fuori dal tuo contesto principale o per eseguire ricerche in parallelo. Un subagent rimane all'interno della sessione che lo ha generato. Per passare i risultati tra sessioni separate che esegui tu stesso, usa la [messaggistica tra sessioni](/docs/it/cross-session-messaging).

418 418 

419I subagents built-in includono Explore, Plan e general-purpose.419I subagent integrati includono Explore, Plan e general-purpose.

420 420 

421Scopri di più: [Create custom subagents](/docs/it/sub-agents)421Scopri di più: [Creare subagent personalizzati](/docs/it/sub-agents)

422 422 

423<h3 id="surface">423<h3 id="surface">

424 Surface424 Surface

425</h3>425</h3>

426 426 

427Qualsiasi luogo in cui accedi a Claude Code: la CLI, VS Code, JetBrains, Desktop o claude.ai. Tutte le surface condividono lo stesso motore. Le sessioni sulla tua macchina leggono il tuo CLAUDE.md locale, le impostazioni e le skills; le [cloud sessions](/docs/it/cloud-environments#what-carries-over-from-your-setup) iniziano da un clone fresco del tuo repository e non leggono `~/.claude/` sulla tua macchina. Slack e l'estensione Chrome sono integrazioni che si connettono a una surface piuttosto che essere surface stesse.427Qualsiasi punto da cui accedi a Claude Code: la CLI, VS Code, JetBrains, Desktop o claude.ai. Tutte le superfici condividono lo stesso motore. Le sessioni sulla tua macchina leggono il tuo CLAUDE.md locale, le impostazioni e le skill; le [sessioni cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup) partono da un nuovo clone del tuo repository e non leggono `~/.claude/` sulla tua macchina. Slack e l'estensione Chrome sono integrazioni che si connettono a una superficie, anziché essere superfici esse stesse.

428 428 

429Scopri di più: [Platforms and integrations](/docs/it/platforms)429Scopri di più: [Piattaforme e integrazioni](/docs/it/platforms)

430 430 

431<h3 id="system-prompt">431<h3 id="system-prompt">

432 System prompt432 System prompt

433</h3>433</h3>

434 434 

435Le istruzioni che Claude Code invia prima della tua conversazione ad ogni richiesta, coprendo come Claude utilizza gli strumenti, si comporta in modo sicuro e formatta le sue risposte. Puoi aggiungere al system prompt con `--append-system-prompt` o sostituirlo con `--system-prompt`. Il system prompt è il primo livello della [prompt cache](/docs/it/prompt-caching#how-the-cache-is-organized).435Le istruzioni che Claude Code invia prima della tua conversazione a ogni richiesta, che descrivono come Claude utilizza gli strumenti, si comporta in modo sicuro e formatta le sue risposte. Puoi aggiungere contenuto al prompt di sistema con `--append-system-prompt` o sostituirlo con `--system-prompt`. Il prompt di sistema è il primo livello della [cache del prompt](/docs/it/prompt-caching#how-the-cache-is-organized).

436 436 

437I tuoi file [CLAUDE.md](#claude-md) e le istruzioni del tuo [output style](#output-style) non fanno parte del system prompt. Claude Code li fornisce nella conversazione come [system reminder](#system-reminder).437I tuoi file [CLAUDE.md](#claude-md) e le istruzioni del tuo [stile di output](#output-style) non fanno parte del prompt di sistema. Claude Code li fornisce nella conversazione come [promemoria di sistema](#system-reminder).

438 438 

439Scopri di più: [System prompt flags](/docs/it/cli-reference#system-prompt-flags)439Scopri di più: [Flag del prompt di sistema](/docs/it/cli-reference#system-prompt-flags)

440 440 

441<h3 id="system-reminder">441<h3 id="system-reminder">

442 System reminder442 System reminder

443</h3>443</h3>

444 444 

445Un messaggio che Claude Code, come [harness](#agentic-harness), aggiunge alla conversazione per dare a Claude il contesto. Non invii tu stesso i system reminder. Claude Code li inserisce mentre una sessione viene eseguita, ad esempio quando la sessione inizia, quando un hook restituisce testo, o quando un file cambia su disco. Claude li legge insieme ai tuoi messaggi. I seguenti raggiungono tutti Claude come system reminder:445Un messaggio che Claude Code, in quanto [harness](#agentic-harness), aggiunge alla conversazione per fornire contesto a Claude. Non invii tu stesso i promemoria di sistema. Claude Code li inserisce mentre una sessione è in esecuzione, ad esempio quando la sessione inizia, quando un hook restituisce testo o quando un file cambia su disco. Claude li legge insieme ai tuoi messaggi. Tutti i seguenti elementi raggiungono Claude come promemoria di sistema:

446 446 

447* I tuoi file [CLAUDE.md](#claude-md)447* I tuoi file [CLAUDE.md](#claude-md)

448* Le istruzioni del tuo [output style](#output-style)448* Le istruzioni del tuo [stile di output](#output-style)

449* Testo che un [hook](#hook) restituisce come `additionalContext`449* Il testo che un [hook](#hook) restituisce come `additionalContext`

450* L'elenco delle [skills](#skill) disponibili450* L'elenco delle [skill](#skill) disponibili

451* Una nota che un file che Claude ha letto in precedenza è cambiato su disco451* Una nota che indica che un file letto in precedenza da Claude è cambiato su disco

452* Le righe di attribuzione del commit e della pull request452* Le righe di attribuzione del commit e della pull request

453 453 

454In una richiesta API registrata, un system reminder appare racchiuso in tag `<system-reminder>` all'interno di un messaggio utente, o su alcuni modelli come un messaggio separato con il ruolo `system`.454In una richiesta API registrata, un promemoria di sistema appare racchiuso in tag `<system-reminder>` all'interno di un messaggio utente oppure, su alcuni modelli, come messaggio separato con il ruolo `system`.

455 455 

456Scopri di più: [Context Claude Code adds outside the system prompt](/docs/it/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)456Scopri di più: [Contesto che Claude Code aggiunge al di fuori del prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)

457 457 

458<h2 id="t">458<h2 id="t">

459 T459 T

Details

210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1

211```211```

212 212 

213La maggior parte delle versioni del modello ha una variabile `VERTEX_REGION_CLAUDE_*` corrispondente. Consulta il [riferimento delle variabili di ambiente](/docs/it/env-vars) per l'elenco completo. Controlla [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) per determinare quali modelli supportano endpoint globali rispetto a quelli solo regionali.213La maggior parte delle versioni del modello ha una variabile `VERTEX_REGION_CLAUDE_*` corrispondente. Consulta il [riferimento delle variabili d'ambiente](/docs/it/env-vars#variables) per l'elenco completo. Controlla [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) per determinare quali modelli supportano endpoint globali rispetto a quelli solo regionali.

214 214 

215Se un valore di regione non ha la forma di un nome di regione o posizione, Claude Code lo tratta come non impostato. Ad esempio, Claude Code tratta un valore contenente una barra, un punto o uno spazio come non impostato. Claude Code ritorna a una fonte diversa per ogni variabile:215Se un valore di regione non ha la forma di un nome di regione o posizione, Claude Code lo tratta come non impostato. Ad esempio, Claude Code tratta un valore contenente una barra, un punto o uno spazio come non impostato. Claude Code ritorna a una fonte diversa per ogni variabile:

216 216 


366* Verifica che il modello sia disponibile nella posizione che hai specificato. Alcuni modelli sono offerti solo su posizioni `global` o multi-regione come `eu` e `us`, non in regioni specifiche366* Verifica che il modello sia disponibile nella posizione che hai specificato. Alcuni modelli sono offerti solo su posizioni `global` o multi-regione come `eu` e `us`, non in regioni specifiche

367* Se utilizzi `CLOUD_ML_REGION=global`, controlla che i tuoi modelli supportino endpoint globali in [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) in "Supported features". Per i modelli che non supportano endpoint globali, puoi:367* Se utilizzi `CLOUD_ML_REGION=global`, controlla che i tuoi modelli supportino endpoint globali in [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) in "Supported features". Per i modelli che non supportano endpoint globali, puoi:

368 * Specificare un modello supportato tramite `ANTHROPIC_MODEL` o `ANTHROPIC_DEFAULT_HAIKU_MODEL`, oppure368 * Specificare un modello supportato tramite `ANTHROPIC_MODEL` o `ANTHROPIC_DEFAULT_HAIKU_MODEL`, oppure

369 * Impostare una regione o una posizione multi-regione utilizzando le variabili di ambiente `VERTEX_REGION_<MODEL_NAME>`369 * Impostare una regione o una posizione multi-regione utilizzando la variabile `VERTEX_REGION_CLAUDE_*` del modello, elencata nel [riferimento delle variabili d'ambiente](/docs/it/env-vars#variables)

370 370 

371Se riscontri errori 429:371Se riscontri errori 429:

372 372 

headless.md +53 −37

Details

117 117 

118La modalità non interattiva legge stdin, quindi puoi inviare dati e reindirizzare la risposta come qualsiasi altro strumento da riga di comando.118La modalità non interattiva legge stdin, quindi puoi inviare dati e reindirizzare la risposta come qualsiasi altro strumento da riga di comando.

119 119 

120Questo esempio invia un log di compilazione a Claude e scrive la spiegazione in un file:120Questo esempio invia un log di build a Claude e scrive la spiegazione in un file:

121 121 

122```bash theme={null}122```bash theme={null}

123cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt123cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt


132Se Claude Code non riesce a leggere stdin, ad esempio perché il processo che lo ha avviato ha disconnesso la sua estremità, Claude Code stampa un avviso su stderr e continua con il prompt dalla riga di comando. Prima della v2.1.211, uno stdin illeggibile su Windows causava l'arresto della sessione o l'uscita silenziosa senza output.132Se Claude Code non riesce a leggere stdin, ad esempio perché il processo che lo ha avviato ha disconnesso la sua estremità, Claude Code stampa un avviso su stderr e continua con il prompt dalla riga di comando. Prima della v2.1.211, uno stdin illeggibile su Windows causava l'arresto della sessione o l'uscita silenziosa senza output.

133 133 

134<h3 id="add-claude-to-a-build-script">134<h3 id="add-claude-to-a-build-script">

135 Aggiungere Claude a uno script di compilazione135 Aggiungere Claude a uno script di build

136</h3>136</h3>

137 137 

138Puoi avvolgere una chiamata non interattiva in uno script per utilizzare Claude come linter o revisore specifico del progetto.138Puoi avvolgere una chiamata non interattiva in uno script per utilizzare Claude come linter o revisore specifico del progetto.

139 139 

140Questo script `package.json` invia il diff rispetto a `main` a Claude e gli chiede di segnalare i refusi. Inviare il diff tramite pipe significa che Claude non ha bisogno del permesso Bash per leggerlo, e le virgolette doppie sfuggite mantengono lo script portabile su Windows:140Questo script `package.json` invia il diff rispetto a `main` a Claude e gli chiede di segnalare i refusi. Inviare il diff tramite pipe significa che Claude non ha bisogno del permesso Bash per leggerlo, e le virgolette doppie con escape mantengono lo script portabile su Windows:

141 141 

142```json theme={null}142```json theme={null}

143{143{


204 204 

205L'ultima riga del flusso è un messaggio `result` con il testo della risposta finale, il costo e i metadati della sessione.205L'ultima riga del flusso è un messaggio `result` con il testo della risposta finale, il costo e i metadati della sessione.

206 206 

207Se il tuo consumer legge il flusso lentamente, Claude Code attende che l'output in coda si svuoti prima di uscire, scalando l'attesa con quanto è ancora in coda, limitato a 30 secondi. Prima della v2.1.214 l'attesa di uscita era limitata a circa due secondi, il che potrebbe troncare la fine di una risposta di grandi dimensioni.207Se il tuo consumer legge il flusso lentamente, Claude Code attende che l'output in coda si svuoti prima di uscire, scalando l'attesa in base a quanto è ancora in coda, con un limite di 30 secondi. Prima della v2.1.214 l'attesa di uscita era limitata a circa due secondi, il che poteva troncare la fine di una risposta di grandi dimensioni.

208 208 

209L'esempio seguente utilizza [jq](https://jqlang.org/) per filtrare i delta di testo e visualizzare solo il testo in streaming. Il flag `-r` restituisce stringhe non elaborate (senza virgolette) e `-j` si unisce senza newline in modo che i token fluiscano continuamente:209L'esempio seguente utilizza [jq](https://jqlang.org/) per filtrare i delta di testo e visualizzare solo il testo in streaming. Il flag `-r` restituisce stringhe non elaborate (senza virgolette) e `-j` unisce senza newline in modo che i token fluiscano continuamente:

210 210 

211```bash theme={null}211```bash theme={null}

212claude -p "Write a poem" --output-format stream-json --verbose --include-partial-messages | \212claude -p "Write a poem" --output-format stream-json --verbose --include-partial-messages | \


219 Seguire i messaggi dei subagent219 Seguire i messaggi dei subagent

220</h4>220</h4>

221 221 

222I messaggi dai [subagent](/docs/it/sub-agents) appaiono nel flusso come messaggi `assistant` e `user` il cui campo `parent_tool_use_id` è l'ID della chiamata dello strumento che ha generato il subagent. I messaggi dalla conversazione principale portano `null` in quel campo.222I messaggi dei [subagent](/docs/it/sub-agents) e delle skill che [vengono eseguite in un subagent](/docs/it/skills#run-skills-in-a-subagent) appaiono nel flusso come messaggi `assistant` e `user`. Il loro campo `parent_tool_use_id` indica a quale esecuzione appartiene ciascuno. I messaggi della conversazione principale portano `null` in quel campo.

223 223 

224Il primo messaggio da un subagent in esecuzione in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) è un messaggio `user` che contiene il prompt che lo guida. Dopo quel primo messaggio, Claude Code emette:224Il primo messaggio di una skill biforcata, o di un subagent in esecuzione in [primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background), è un messaggio `user` che contiene il prompt o il contenuto della skill che lo guida. Dopo quel primo messaggio, Claude Code emette:

225 225 

226* **Per impostazione predefinita**: i blocchi `tool_use` e `tool_result` del subagent.226* **Per impostazione predefinita**: i blocchi `tool_use` e `tool_result` dell'esecuzione.

227* **Con [`--forward-subagent-text`](/docs/it/cli-reference#cli-flags) o [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/it/env-vars)**: anche i blocchi di testo e thinking del subagent, in modo da poter ricostruire la trascrizione di ogni subagent. Questo richiede Claude Code v2.1.211 o successivo.227* **Con [`--forward-subagent-text`](/docs/it/cli-reference#cli-flags) o [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/it/env-vars)**: anche i blocchi di testo e di ragionamento dell'esecuzione, in modo da poter ricostruire la trascrizione di ogni esecuzione.

228 228 

229Quando abiliti una delle due opzioni, Claude Code inoltra i messaggi dai [subagent a ogni profondità di annidamento](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents), indipendentemente dal fatto che ogni subagent sia stato generato con lo strumento Agent o avviato come una [skill biforcata](/docs/it/skills#run-skills-in-a-subagent). I messaggi dei subagent che una skill biforcata genera, e delle skill biforcate avviate all'interno di un subagent o di un'altra skill biforcata, richiedono Claude Code v2.1.275 o successivo. In `parent_tool_use_id`, i messaggi del subagent annidato portano l'ID della chiamata dello strumento Agent o Skill che lo ha avviato, in modo da poter ricostruire l'albero di annidamento completo seguendo quegli ID. Prima della v2.1.219, i messaggi dai subagent annidati non apparivano nel flusso.229Quando abiliti una delle due opzioni, Claude Code inoltra i messaggi dei [subagent a ogni profondità di annidamento](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents), indipendentemente dal fatto che ciascuno sia stato generato con lo strumento Agent o avviato come skill biforcata. In `parent_tool_use_id`, i messaggi del subagent annidato portano l'ID della chiamata allo strumento Agent o Skill che lo ha avviato, in modo da poter ricostruire l'albero di annidamento completo seguendo quegli ID.

230 230 

231Le skills che [vengono eseguite in un subagent](/docs/it/skills#run-skills-in-a-subagent) appaiono nel flusso allo stesso modo: il primo messaggio della skill biforcata è un messaggio `user` che contiene il contenuto della skill che guida l'esecuzione. Se abiliti una delle due opzioni, il flusso contiene anche i blocchi di testo e thinking della skill biforcata. Prima della v2.1.265, solo i blocchi `tool_use` e `tool_result` della skill biforcata apparivano nel flusso.231Un'esecuzione che Claude avvia con una chiamata a uno strumento porta l'ID di quella chiamata. Una skill biforcata che avvii passando `/<skill-name>` come prompt non ha alcuna chiamata a uno strumento, quindi i suoi messaggi portano invece un valore `forked-command-` e arrivano dopo che è terminata. Trova nella prima colonna come è stata avviata l'esecuzione:

232 

233| Come si avvia l'esecuzione | `parent_tool_use_id` | Quando arrivano i suoi messaggi |

234| :- | :- | :- |

235| Claude chiama lo strumento Agent dalla conversazione principale | L'ID di quel blocco `tool_use` di Agent | Mentre il subagent lavora |

236| Claude chiama lo strumento Skill per una skill biforcata dalla conversazione principale | L'ID di quel blocco `tool_use` di Skill | Mentre la skill biforcata lavora |

237| Passi `/<skill-name>` come prompt | Un valore che inizia con `forked-command-` | Tutti insieme e in ordine dopo che la skill biforcata è terminata |

238 

239Per una skill biforcata avviata dal prompt, confronta `parent_tool_use_id` con il prefisso `forked-command-`, perché il nome che lo segue può differire da quello che hai digitato.

240 

241Se alcuni di questi messaggi mancano dal tuo flusso, verifica la tua versione di Claude Code rispetto a questi requisiti minimi:

242 

243* **`--forward-subagent-text` e `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`**: v2.1.211 o successivo

244* **Inoltro a ogni profondità di annidamento**: v2.1.219 o successivo

245* **Una skill biforcata che Claude avvia con lo strumento Skill dalla conversazione principale**: v2.1.86 o successivo per i suoi blocchi `tool_use` e `tool_result`, e v2.1.265 o successivo per il suo primo messaggio `user` e i suoi blocchi di testo e di ragionamento

246* **Messaggi dei subagent generati da una skill biforcata, e delle skill biforcate avviate all'interno di un subagent o di un'altra skill biforcata**: v2.1.275 o successivo

247* **Messaggi di una skill biforcata che avvii passando `/<skill-name>` come prompt**: v2.1.287 o successivo

232 248 

233<h4 id="handle-api-retries">249<h4 id="handle-api-retries">

234 Gestire i tentativi API250 Gestire i nuovi tentativi API

235</h4>251</h4>

236 252 

237Quando una richiesta API non riesce con un errore ritentabile, Claude Code emette un evento `system/api_retry` prima di ritentare. Sulla v2.1.246 o successiva, quando un `401` o `403` rifiuta una credenziale [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper), Claude Code effettua i primi due tentativi silenziosamente senza evento, quindi emette l'evento come al solito dal terzo tentativo consecutivo in poi. I tentativi silenziosi contano comunque verso `attempt`. Puoi utilizzare l'evento per mostrare il progresso del tentativo nella tua interfaccia.253Quando una richiesta API non riesce con un errore per cui è possibile riprovare, Claude Code emette un evento `system/api_retry` prima di riprovare. Sulla v2.1.246 o successiva, quando un `401` o `403` rifiuta una credenziale [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper), Claude Code effettua i primi due nuovi tentativi silenziosamente senza evento, quindi emette l'evento come al solito dal terzo nuovo tentativo consecutivo in poi. I nuovi tentativi silenziosi contano comunque per `attempt`. Puoi utilizzare l'evento per mostrare l'avanzamento dei nuovi tentativi nella tua interfaccia.

238 254 

239| Campo | Tipo | Descrizione |255| Campo | Tipo | Descrizione |

240| - | - | - |256| - | - | - |

241| `type` | `"system"` | tipo di messaggio |257| `type` | `"system"` | tipo di messaggio |

242| `subtype` | `"api_retry"` | identifica questo come un evento di tentativo |258| `subtype` | `"api_retry"` | identifica questo come un evento di nuovo tentativo |

243| `attempt` | integer | numero del tentativo corrente, a partire da 1 |259| `attempt` | integer | numero del tentativo corrente, a partire da 1 |

244| `max_retries` | integer | tentativi totali consentiti per la causa di questo errore, che possono essere meno del budget a livello di sessione |260| `max_retries` | integer | nuovi tentativi totali consentiti per la causa di questo errore, che possono essere meno del budget a livello di sessione |

245| `retry_delay_ms` | integer | millisecondi fino al prossimo tentativo |261| `retry_delay_ms` | integer | millisecondi fino al prossimo tentativo |

246| `error_status` | integer o null | codice di stato HTTP del tentativo non riuscito, o `null` quando il tentativo non ha ricevuto alcuna risposta HTTP dall'API |262| `error_status` | integer o null | codice di stato HTTP del tentativo non riuscito, o `null` quando il tentativo non ha ricevuto alcuna risposta HTTP dall'API |

247| `no_response` | object, opzionale | presente solo quando il tentativo non riuscito ha [ricevuto nessuna intestazione di risposta in tempo](/docs/it/errors#no-response-from-api). `waited_ms` è quanto tempo quel tentativo ha atteso e `retry_wait_ms` è quanto tempo il tentativo attenderà. In questi eventi, `max_retries` riflette il tentativo che questa causa normalmente ottiene, non il budget a livello di sessione. Richiede Claude Code v2.1.261 o successivo |263| `no_response` | object, opzionale | presente solo quando il tentativo non riuscito non ha ricevuto [alcuna intestazione di risposta in tempo](/docs/it/errors#no-response-from-api). `waited_ms` è quanto tempo quel tentativo ha atteso e `retry_wait_ms` è quanto tempo attenderà il nuovo tentativo. In questi eventi, `max_retries` riflette l'unico nuovo tentativo che questa causa normalmente ottiene, non il budget a livello di sessione. Richiede Claude Code v2.1.261 o successivo |

248| `error` | string | categoria di errore: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, o `unknown` |264| `error` | string | categoria di errore: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, o `unknown` |

249| `uuid` | string | identificatore evento univoco |265| `uuid` | string | identificatore evento univoco |

250| `session_id` | string | sessione a cui appartiene l'evento |266| `session_id` | string | sessione a cui appartiene l'evento |


253 Leggere i metadati della sessione269 Leggere i metadati della sessione

254</h4>270</h4>

255 271 

256L'evento `system/init` segnala i metadati della sessione inclusi il modello, gli strumenti, i server MCP e i plugin caricati. È il primo evento nel flusso a meno che gli eventi di avvio lo precedano:272L'evento `system/init` segnala i metadati della sessione inclusi il modello, gli strumenti, i server MCP e i plugin caricati. È il primo evento nel flusso a meno che non lo precedano eventi di avvio:

257 273 

258* Eventi `plugin_install`, quando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/it/env-vars) è impostato.274* Eventi `plugin_install`, quando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/it/env-vars) è impostato.

259* [`hook_started`, `hook_progress` e `hook_response` eventi](/docs/it/agent-sdk/typescript#sdkhookstartedmessage), mentre un hook [`SessionStart`](/docs/it/hooks#sessionstart) o [`Setup`](/docs/it/hooks#setup) configurato viene eseguito. Questi vengono trasmessi mentre l'hook li produce. Claude Code v2.1.169 attraverso v2.1.203 li ha consegnati in un batch dopo il completamento dell'hook, ancora prima di `system/init`; v2.1.204 ha ripristinato la consegna in tempo reale.275* [Eventi `hook_started`, `hook_progress` e `hook_response`](/docs/it/agent-sdk/typescript#sdkhookstartedmessage), mentre un hook [`SessionStart`](/docs/it/hooks#sessionstart) o [`Setup`](/docs/it/hooks#setup) configurato viene eseguito. Questi vengono trasmessi man mano che l'hook li produce. Claude Code dalla v2.1.169 alla v2.1.203 li consegnava in un unico batch dopo il completamento dell'hook, comunque prima di `system/init`; la v2.1.204 ha ripristinato la consegna in tempo reale.

260 276 

261L'evento contiene anche un array `capabilities` opzionale di stringhe che denominano i comportamenti del protocollo che questa versione di Claude Code implementa, come `interrupt_receipt_v1` o `interrupt_cancel_queued_v1`. Controllalo per rilevare le funzionalità invece di confrontare le stringhe di versione, e ignora i valori che non riconosci. Il campo richiede Claude Code v2.1.205 o successivo ed è assente dalle versioni precedenti. Consulta [`SDKSystemMessage`](/docs/it/agent-sdk/typescript#sdksystemmessage) per l'elenco delle capacità.277L'evento contiene anche un array `capabilities` opzionale di stringhe che denominano i comportamenti del protocollo che questa versione di Claude Code implementa, come `interrupt_receipt_v1` o `interrupt_cancel_queued_v1`. Controllalo per rilevare le funzionalità invece di confrontare le stringhe di versione, e ignora i valori che non riconosci. Il campo richiede Claude Code v2.1.205 o successivo ed è assente dalle versioni precedenti. Consulta [`SDKSystemMessage`](/docs/it/agent-sdk/typescript#sdksystemmessage) per l'elenco delle capacità.

262 278 


271| `plugins` | array | plugin che sono stati caricati con successo, ognuno con `name` e `path` |287| `plugins` | array | plugin che sono stati caricati con successo, ognuno con `name` e `path` |

272| `plugin_errors` | array | errori di caricamento del plugin, ognuno con `plugin`, `type` e `message`. Include versioni di dipendenza non soddisfatte e errori di caricamento di `--plugin-dir` come un percorso mancante o un archivio non valido. Un plugin che non è stato caricato è assente da `plugins`. La chiave viene omessa quando non ci sono errori |288| `plugin_errors` | array | errori di caricamento del plugin, ognuno con `plugin`, `type` e `message`. Include versioni di dipendenza non soddisfatte e errori di caricamento di `--plugin-dir` come un percorso mancante o un archivio non valido. Un plugin che non è stato caricato è assente da `plugins`. La chiave viene omessa quando non ci sono errori |

273 289 

274Quando una directory `--plugin-dir` o un archivio stesso non riesce a caricarsi, la sua voce `plugin_errors` include il percorso assoluto risolto come `path`. Usalo per dire quale dei vari valori `--plugin-dir` ha fallito. Il campo `path` richiede Claude Code v2.1.283 o successivo.290Quando una directory `--plugin-dir` o un archivio stesso non riesce a caricarsi, la sua voce `plugin_errors` include il percorso assoluto risolto come `path`. Usalo per capire quale dei vari valori `--plugin-dir` ha fallito. Il campo `path` richiede Claude Code v2.1.283 o successivo.

275 291 

276Utilizza i campi del server MCP allo stesso modo. Quando passi [`--mcp-config`](/docs/it/cli-reference#cli-flags) con `-p`, Claude Code attende i server ancora in sospeso prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita. Un server remoto con un [elenco di strumenti memorizzato nella cache](/docs/it/agent-sdk/mcp#connection-timing) salta l'attesa, mostra `pending` in `system/init` e si connette alla sua prima chiamata dello strumento. L'attesa richiede Claude Code v2.1.221 o successivo.292Utilizza i campi del server MCP allo stesso modo. Quando passi [`--mcp-config`](/docs/it/cli-reference#cli-flags) con `-p`, Claude Code attende i server ancora in sospeso prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita. Un server remoto con un [elenco di strumenti memorizzato nella cache](/docs/it/agent-sdk/mcp#connection-timing) salta l'attesa, mostra `pending` in `system/init` e si connette alla sua prima chiamata a uno strumento. L'attesa richiede Claude Code v2.1.221 o successivo.

277 293 

278Claude Code convalida ogni voce `--mcp-config` all'avvio e salta le voci che non superano la convalida, ad esempio una voce `url` senza `type`. L'esecuzione continua e esce correttamente, quindi controlla questi campi per rilevare un server che non è mai stato caricato:294Claude Code convalida ogni voce `--mcp-config` all'avvio e salta le voci che non superano la convalida, ad esempio una voce `url` senza `type`. L'esecuzione continua ed esce correttamente, quindi controlla questi campi per rilevare un server che non è mai stato caricato:

279 295 

280| Campo | Tipo | Descrizione |296| Campo | Tipo | Descrizione |

281| - | - | - |297| - | - | - |

282| `mcp_servers` | array | server MCP nella sessione, ognuno con `name` e `status` |298| `mcp_servers` | array | server MCP nella sessione, ognuno con `name` e `status` |

283| `mcp_server_errors` | array | voci `--mcp-config` saltate dalla convalida della configurazione, ognuna con `name`, `type` e `message`. `type` è una categoria di salto come `unknown_type`, `url_missing_type`, `invalid_config` o `reserved_name`; tratta i valori che non riconosci come un salto generico. I server interessati sono assenti da `mcp_servers`. La chiave viene omessa quando non ci sono errori, quindi un gate CI può fallire su un array non vuoto. Richiede Claude Code v2.1.219 o successivo |299| `mcp_server_errors` | array | voci `--mcp-config` saltate dalla convalida della configurazione, ognuna con `name`, `type` e `message`. `type` è una categoria di salto come `unknown_type`, `url_missing_type`, `invalid_config` o `reserved_name`; tratta i valori che non riconosci come un salto generico. I server interessati sono assenti da `mcp_servers`. La chiave viene omessa quando non ci sono errori, quindi un gate CI può fallire su un array non vuoto. Richiede Claude Code v2.1.219 o successivo |

284 300 

285Quando esegui il comando a mano in un terminale, Claude Code stampa anche un avviso di avvio su stderr, come `Warning: 1 MCP server skipped due to invalid config:`, seguito dal motivo di ogni voce saltata. Quando reindizzi stderr, o quando un programma come un runner CI o un host SDK lo cattura, Claude Code non stampa alcun avviso e segnala le voci saltate solo nel campo `mcp_server_errors`. L'avviso richiede Claude Code v2.1.219 o successivo.301Quando esegui il comando a mano in un terminale, Claude Code stampa anche un avviso di avvio su stderr, come `Warning: 1 MCP server skipped due to invalid config:`, seguito dal motivo di ogni voce saltata. Quando reindirizzi stderr, o quando un programma come un runner CI o un host SDK lo cattura, Claude Code non stampa alcun avviso e segnala le voci saltate solo nel campo `mcp_server_errors`. L'avviso richiede Claude Code v2.1.219 o successivo.

286 302 

287<h4 id="track-plugin-installs">303<h4 id="track-plugin-installs">

288 Tracciare le installazioni dei plugin304 Tracciare le installazioni dei plugin


304 Approvare automaticamente gli strumenti320 Approvare automaticamente gli strumenti

305</h3>321</h3>

306 322 

307Utilizza `--allowedTools` per consentire a Claude di utilizzare determinati strumenti senza chiedere. Elencare `Read` e `Edit` consente a Claude di leggere e modificare file senza chiedere il permesso. Elencare `Bash` fa lo stesso per i comandi shell, tranne in un'esecuzione che inizia in [modalità auto](/docs/it/permission-modes#how-auto-mode-evaluates-actions), dove Claude Code elimina una voce `Bash` nuda come regola di autorizzazione ampia e la modalità auto valuta invece ogni comando. Questo esempio esegue una suite di test e corregge i guasti con questi tre strumenti elencati:323Utilizza `--allowedTools` per consentire a Claude di utilizzare determinati strumenti senza chiedere. Elencare `Read` e `Edit` consente a Claude di leggere e modificare file senza chiedere il permesso. Elencare `Bash` fa lo stesso per i comandi shell, tranne in un'esecuzione che inizia in [modalità auto](/docs/it/permission-modes#how-auto-mode-evaluates-actions), dove Claude Code scarta una voce `Bash` semplice in quanto regola allow troppo ampia e la modalità auto valuta invece ogni comando. Questo esempio esegue una suite di test e corregge gli errori con questi tre strumenti elencati:

308 324 

309```bash theme={null}325```bash theme={null}

310claude -p "Run the test suite and fix any failures" \326claude -p "Run the test suite and fix any failures" \

311 --allowedTools "Bash,Read,Edit"327 --allowedTools "Bash,Read,Edit"

312```328```

313 329 

314Per impostare una linea di base per l'intera sessione invece di elencare i singoli strumenti, passa una [modalità di autorizzazione](/docs/it/permission-modes). Un'esecuzione dove nulla imposta una modalità di autorizzazione prende la [modalità di autorizzazione iniziale incorporata](/docs/it/permission-modes#which-mode-a-session-starts-in), che può essere `auto`, quindi passa quella che desideri:330Per impostare una linea di base per l'intera sessione invece di elencare i singoli strumenti, passa una [modalità di permesso](/docs/it/permission-modes). Un'esecuzione in cui nulla imposta una modalità di permesso adotta la [modalità di permesso iniziale integrata](/docs/it/permission-modes#which-mode-a-session-starts-in), che può essere `auto`, quindi passa quella che desideri:

315 331 

316* **`auto`**: passa `--permission-mode auto` per avere un classificatore che esamini la maggior parte delle azioni invece di te332* **`auto`**: passa `--permission-mode auto` per avere un classificatore che esamini la maggior parte delle azioni invece di te

317* **`dontAsk`**: Claude Code nega qualsiasi cosa che comporterebbe altrimenti un prompt, il che è utile per esecuzioni CI bloccate. Le azioni che non necessitano di approvazione in modalità Manual vengono comunque eseguite, come le letture di file nelle tue directory di lavoro e il [set di comandi di sola lettura](/docs/it/permissions#read-only-commands), così come le azioni coperte dalle tue voci `--allowedTools` o dalle regole `permissions.allow`. `AskUserQuestion`, strumenti connettore [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), e strumenti MCP contrassegnati [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool) vengono negati anche quando una regola di autorizzazione corrisponde333* **`dontAsk`**: Claude Code nega ogni chiamata che altrimenti richiederebbe conferma, il che è utile per esecuzioni CI bloccate. Le azioni che non necessitano di approvazione in modalità Manual vengono comunque eseguite, come le letture di file nelle tue directory di lavoro e il [set di comandi di sola lettura](/docs/it/permissions#read-only-commands), così come le azioni coperte dalle tue voci `--allowedTools` o dalle regole `permissions.allow`. `AskUserQuestion`, gli strumenti dei connettori [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) e gli strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool) vengono negati anche quando una regola allow corrisponde

318* **`acceptEdits`**: Claude scrive file senza chiedere, e Claude Code approva automaticamente i comandi del filesystem comuni come `mkdir`, `touch`, `mv` e `cp`. Le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) si applicano comunque. A parte il set di comandi di sola lettura, altri comandi shell e richieste di rete hanno ancora bisogno di una voce `--allowedTools` o di una regola `permissions.allow`. Consulta [cosa `acceptEdits` approva automaticamente](/docs/it/permission-modes#auto-approve-file-edits-with-acceptedits-mode) per l'elenco completo334* **`acceptEdits`**: Claude scrive file senza chiedere, e Claude Code approva automaticamente i comandi del filesystem comuni come `mkdir`, `touch`, `mv` e `cp`. Le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) si applicano comunque. A parte il set di comandi di sola lettura, altri comandi shell e richieste di rete hanno ancora bisogno di una voce `--allowedTools` o di una regola `permissions.allow`. Consulta [cosa `acceptEdits` approva automaticamente](/docs/it/permission-modes#auto-approve-file-edits-with-acceptedits-mode) per l'elenco completo

319 335 

320Questo esempio applica le correzioni di lint con `acceptEdits` come linea di base:336Questo esempio applica le correzioni di lint con `acceptEdits` come linea di base:


324```340```

325 341 

326<h3 id="turn-off-permission-prompts-in-unattended-runs">342<h3 id="turn-off-permission-prompts-in-unattended-runs">

327 Disattivare i prompt di autorizzazione nelle esecuzioni incustodite343 Disattivare le richieste di permesso nelle esecuzioni incustodite

328</h3>344</h3>

329 345 

330Passa `--permission-prompts none` quando nessuno è disponibile per rispondere ai prompt di autorizzazione, ad esempio in un lavoro programmato. Il flag è più importante quando la tua esecuzione ha un host di autorizzazione: un'app Agent SDK con un callback [`canUseTool`](/docs/it/agent-sdk/user-input), o uno strumento MCP che passi con [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags). Senza il flag, la tua esecuzione attende che quell'host risponda a ogni richiesta di autorizzazione.346Passa `--permission-prompts none` quando nessuno è disponibile per rispondere alle richieste di permesso, ad esempio in un lavoro programmato. Il flag è più importante quando la tua esecuzione ha un host dei permessi: un'app Agent SDK con un [callback `canUseTool`](/docs/it/agent-sdk/user-input), o uno strumento MCP che passi con [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags). Senza il flag, la tua esecuzione attende che quell'host risponda a ogni richiesta di permesso.

331 347 

332Con il flag, la tua esecuzione non consulta l'host e non lo attende. Qualsiasi cosa che comporterebbe un prompt viene negata a meno che un hook `PermissionRequest` non lo consenta, a Claude viene detto che nessuno può approvare la richiesta e di non ritentarla, e l'esecuzione continua. In un'esecuzione `-p` senza host, queste richieste vengono negate comunque, e il flag dice anche a Claude di non ritentarle. Le regole di autorizzazione, gli hook [`PermissionRequest`](/docs/it/hooks#permissionrequest) e la modalità di autorizzazione che imposti decidono comunque ogni chiamata per prima; Claude Code nega solo le richieste che nient'altro risolve.348Con il flag, la tua esecuzione non consulta l'host e non lo attende. Qualsiasi cosa che richiederebbe conferma viene negata a meno che un hook `PermissionRequest` non la consenta, a Claude viene detto che nessuno può approvare la richiesta e di non riprovarla, e l'esecuzione continua. In un'esecuzione `-p` senza host, queste richieste vengono negate comunque, e il flag dice anche a Claude di non riprovarle. Le regole di permesso, gli [hook `PermissionRequest`](/docs/it/hooks#permissionrequest) e la modalità di permesso che imposti decidono comunque per primi ogni chiamata; Claude Code nega solo le richieste che nient'altro risolve.

333 349 

334Questo esempio esegue un'attività incustodita in [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode). Il classificatore esamina ogni azione come al solito, e Claude Code nega qualsiasi cosa che avrebbe altrimenti richiesto un prompt:350Questo esempio esegue un'attività incustodita in [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode). Il classificatore esamina ogni azione come al solito, e Claude Code nega qualsiasi cosa che sarebbe altrimenti ricaduta su una richiesta di conferma:

335 351 

336```bash theme={null}352```bash theme={null}

337claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none353claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none

338```354```

339 355 

340Con `--permission-prompts none`, Claude Code rimuove gli strumenti che hanno bisogno di una risposta da una persona, come [`AskUserQuestion`](/docs/it/tools-reference#askuserquestion-tool-behavior), in modo che Claude non possa chiamarli. Qualsiasi [richiesta di elicitazione MCP](/docs/it/mcp#respond-to-mcp-elicitation-requests) che nessun hook [`Elicitation`](/docs/it/hooks#elicitation) risponde viene annullata.356Con `--permission-prompts none`, Claude Code rimuove gli strumenti che hanno bisogno di una risposta da una persona, come [`AskUserQuestion`](/docs/it/tools-reference#askuserquestion-tool-behavior), in modo che Claude non possa chiamarli. Qualsiasi [richiesta di elicitazione MCP](/docs/it/mcp#respond-to-mcp-elicitation-requests) a cui nessun [hook `Elicitation`](/docs/it/hooks#elicitation) risponde viene annullata.

341 357 

342Con `--output-format stream-json`, i rifiuti appaiono come messaggi di sistema `permission_denied`, e il messaggio di risultato finale li elenca in `permission_denials`.358Con `--output-format stream-json`, i rifiuti appaiono come messaggi di sistema `permission_denied`, e il messaggio di risultato finale li elenca in `permission_denials`.

343 359 


356 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"372 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"

357```373```

358 374 

359Il flag `--allowedTools` utilizza la [sintassi delle regole di autorizzazione](/docs/it/settings-reference#permission-rule-syntax). Lo spazio finale ` *` abilita la corrispondenza dei prefissi, quindi `Bash(git diff *)` consente qualsiasi comando che inizia con `git diff`. Lo spazio prima di `*` è importante: senza di esso, `Bash(git diff*)` corrisponderebbe anche a `git diff-index`.375Il flag `--allowedTools` utilizza la [sintassi delle regole di permesso](/docs/it/settings-reference#permission-rule-syntax). Il ` *` finale abilita la corrispondenza dei prefissi, quindi `Bash(git diff *)` consente qualsiasi comando che inizia con `git diff`. Lo spazio prima di `*` è importante: senza di esso, `Bash(git diff*)` corrisponderebbe anche a `git diff-index`.

360 376 

361<Note>377<Note>

362 Il supporto dei comandi differisce in modalità `-p`:378 Il supporto dei comandi differisce in modalità `-p`:

363 379 

364 * Le [skills](/docs/it/skills) richiamate dall'utente e i comandi personalizzati funzionano. Includi `/skill-name` nella stringa del prompt e Claude Code lo espande prima di eseguire.380 * Le [skill](/docs/it/skills) richiamate dall'utente e i comandi personalizzati funzionano. Includi `/skill-name` nella stringa del prompt e Claude Code lo espande prima di eseguire.

365 * I comandi incorporati che solo eseguono nell'interfaccia del terminale, come `/login`, non sono disponibili.381 * I comandi integrati che funzionano solo nell'interfaccia del terminale, come `/login`, non sono disponibili.

366 * `/model`, `/effort`, `/fast`, `/color` e `/rename` accettano il valore come argomento, ad esempio `/model sonnet`, e `/mcp` senza argomento stampa un riepilogo di testo dello stato del server. Questi moduli richiedono Claude Code v2.1.205 o successivo e seguono le [note di disponibilità](/docs/it/commands#all-commands) di ogni comando.382 * `/model`, `/effort`, `/fast`, `/color` e `/rename` accettano il valore come argomento, ad esempio `/model sonnet`, e `/mcp` senza argomento stampa un riepilogo testuale dello stato dei server. Queste forme richiedono Claude Code v2.1.205 o successivo e seguono le [note di disponibilità](/docs/it/commands#all-commands) di ogni comando.

367 * Per modificare un'impostazione, passa `key=value` a `/config`, ad esempio `/config thinking=false`.383 * Per modificare un'impostazione, passa `key=value` a `/config`, ad esempio `/config thinking=false`.

368 * `/output-style <style>` cambia gli [stili di output](/docs/it/output-styles) e `/output-style` da solo li elenca. Richiede Claude Code v2.1.269 o successivo.384 * `/output-style <style>` cambia gli [stili di output](/docs/it/output-styles) e `/output-style` da solo li elenca. Richiede Claude Code v2.1.269 o successivo.

369</Note>385</Note>


372 Personalizzare il prompt di sistema388 Personalizzare il prompt di sistema

373</h3>389</h3>

374 390 

375Utilizza `--append-system-prompt` per aggiungere istruzioni mantenendo il comportamento predefinito di Claude Code. Questo esempio invia un diff PR a Claude e gli istruisce di esaminarlo per vulnerabilità di sicurezza. Salvalo come script shell, ad esempio `review.sh`:391Utilizza `--append-system-prompt` per aggiungere istruzioni mantenendo il comportamento predefinito di Claude Code. Questo esempio invia il diff di una PR a Claude e gli chiede di esaminarlo alla ricerca di vulnerabilità di sicurezza. Salvalo come script shell, ad esempio `review.sh`:

376 392 

377```bash theme={null}393```bash theme={null}

378gh pr diff "$1" | claude -p \394gh pr diff "$1" | claude -p \


380 --output-format json396 --output-format json

381```397```

382 398 

383Nello script, `"$1"` rappresenta il primo argomento che passi sulla riga di comando. Esegui `bash review.sh 123` e la shell sostituisce `"$1"` con `123`, in modo che lo script recuperi il diff per il PR 123. Claude Code stampa la revisione come JSON, con il testo nel campo `result`.399Nello script, `"$1"` rappresenta il primo argomento che passi sulla riga di comando. Esegui `bash review.sh 123` e la shell sostituisce `"$1"` con `123`, in modo che lo script recuperi il diff per la PR 123. Claude Code stampa la revisione come JSON, con il testo nel campo `result`.

384 400 

385Consulta i [flag del prompt di sistema](/docs/it/cli-reference#system-prompt-flags) per ulteriori opzioni incluso `--system-prompt` per sostituire completamente il prompt predefinito.401Consulta i [flag del prompt di sistema](/docs/it/cli-reference#system-prompt-flags) per ulteriori opzioni incluso `--system-prompt` per sostituire completamente il prompt predefinito.

386 402 


406claude -p "Continue that review" --resume "$session_id"422claude -p "Continue that review" --resume "$session_id"

407```423```

408 424 

409Puoi eseguire i due comandi da directory diverse: Claude Code [trova la sessione dal suo ID](/docs/it/sessions#resume-a-session) in qualsiasi progetto su questa macchina. Prima della v2.1.223, Claude Code cercava l'ID solo nella directory del progetto corrente e nei suoi git worktrees, quindi dovevi eseguire entrambi i comandi dalla stessa directory.425Puoi eseguire i due comandi da directory diverse: Claude Code [trova la sessione dal suo ID](/docs/it/sessions#resume-a-session) in qualsiasi progetto su questa macchina. Prima della v2.1.223, Claude Code cercava l'ID solo nella directory del progetto corrente e nei suoi worktree git, quindi dovevi eseguire entrambi i comandi dalla stessa directory.

410 426 

411Al posto dell'ID sessione, puoi passare a `--resume` il percorso assoluto al file di [trascrizione](/docs/it/sessions#where-transcripts-are-stored) `.jsonl` di una sessione, e Claude Code continua la conversazione memorizzata in quel file.427Al posto dell'ID sessione, puoi passare a `--resume` il percorso assoluto al file di [trascrizione](/docs/it/sessions#where-transcripts-are-stored) `.jsonl` di una sessione, e Claude Code continua la conversazione memorizzata in quel file.

412 428 

hooks.md +8 −6

Details

63| `DirectoryAdded` | Quando una directory di lavoro viene aggiunta a metà sessione tramite `/add-dir` o la richiesta di controllo SDK `register_repo_root` |63| `DirectoryAdded` | Quando una directory di lavoro viene aggiunta a metà sessione tramite `/add-dir` o la richiesta di controllo SDK `register_repo_root` |

64| `FileChanged` | Quando un file osservato cambia su disco. Il campo `matcher` specifica quali nomi di file osservare |64| `FileChanged` | Quando un file osservato cambia su disco. Il campo `matcher` specifica quali nomi di file osservare |

65| `WorktreeCreate` | Quando un worktree viene creato tramite `--worktree`, `isolation: "worktree"`, o per una sessione in background. Sostituisce il comportamento git predefinito |65| `WorktreeCreate` | Quando un worktree viene creato tramite `--worktree`, `isolation: "worktree"`, o per una sessione in background. Sostituisce il comportamento git predefinito |

66| `WorktreeRemove` | Quando un worktree viene rimosso all'uscita della sessione, quando un subagente termina, o quando elimini una sessione in background |66| `WorktreeRemove` | Quando viene rimosso un worktree creato da un hook `WorktreeCreate` |

67| `PreCompact` | Prima della compattazione del contesto |67| `PreCompact` | Prima della compattazione del contesto |

68| `PostCompact` | Dopo che la compattazione del contesto è completata |68| `PostCompact` | Dopo che la compattazione del contesto è completata |

69| `PreModelSwitch` | Prima che Claude Code applichi un cambio di modello che hai richiesto tu o un client. Può bloccare il cambio |69| `PreModelSwitch` | Prima che Claude Code applichi un cambio di modello che hai richiesto tu o un client. Può bloccare il cambio |


3274 WorktreeRemove3274 WorktreeRemove

3275</h3>3275</h3>

3276 3276 

3277Viene eseguito quando un worktree sta per essere rimosso. È la controparte di pulizia di [WorktreeCreate](#worktreecreate). L'evento si attiva quando:3277Viene eseguito quando Claude Code ripulisce un worktree creato dal tuo hook [`WorktreeCreate`](#worktreecreate). L'evento si attiva quando:

3278 3278 

3279* esci da una sessione `--worktree` e scegli di rimuoverlo3279* Esci da una [sessione worktree](/docs/it/worktrees#start-claude-in-a-worktree) interattiva e scegli di rimuovere il worktree quando Claude Code te lo chiede

3280* un subagent con `isolation: "worktree"` termina3280* Esci da una sessione worktree interattiva a cui non hai [dato un nome](/docs/it/sessions#name-your-sessions), Claude Code non trova file modificati o non tracciati e rimuove il worktree senza chiedertelo

3281* elimini una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) il cui worktree è stato creato dall'hook3281* Elimini una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) che viene eseguita nel worktree

3282 

3283Claude Code usa git per cercare file modificati o non tracciati, quindi non ne trova nessuno in un worktree che non è un checkout git né si trova all'interno di uno, anche quando la directory contiene lavoro non sottoposto a commit. Verifica la presenza di tale lavoro nel tuo hook WorktreeRemove prima che elimini qualsiasi cosa.

3282 3284 

3283Per i worktree basati su git, Claude Code gestisce la pulizia automaticamente con `git worktree remove`. Se hai configurato un hook WorktreeCreate, abbinalo a un hook WorktreeRemove per controllare la pulizia dei worktree che crea:3285Per i worktree basati su git, Claude Code gestisce la pulizia automaticamente con `git worktree remove`. Se hai configurato un hook WorktreeCreate, abbinalo a un hook WorktreeRemove per controllare la pulizia dei worktree che crea:

3284 3286 

3285* **Nessun hook WorktreeRemove**: quando esci da una sessione `--worktree` e scegli la rimozione, Claude Code ripiega su `git worktree remove --force` sul percorso restituito dal tuo hook WorktreeCreate, quindi un worktree riconosciuto da git viene rimosso. Un worktree che git non riconosce, per esempio uno creato dal tuo hook con un sistema di controllo versione diverso da git, rimane su disco. Per sapere cosa fa l'eliminazione di una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) con un worktree creato da un hook, consulta le regole di eliminazione della vista agenti.3287* **Nessun hook WorktreeRemove**: quando Claude Code rimuove il worktree mentre esci da una sessione worktree, ripiega su `git worktree remove --force` sul percorso restituito dal tuo hook WorktreeCreate, quindi un worktree riconosciuto da git viene rimosso. Un worktree non riconosciuto da git, ad esempio uno creato dal tuo hook con un sistema di controllo versione diverso da git, rimane su disco. Per sapere cosa comporta l'eliminazione di una [sessione in background](/docs/it/agent-view#what-deleting-a-session-removes) per un worktree creato da un hook, consulta le regole di eliminazione della vista agente.

3286* **L'hook esce con 0**: il worktree viene considerato rimosso. Claude Code non legge nient'altro dall'hook, quindi assicurati che il tuo hook abbia eliminato la directory.3288* **L'hook esce con 0**: il worktree viene considerato rimosso. Claude Code non legge nient'altro dall'hook, quindi assicurati che il tuo hook abbia eliminato la directory.

3287* **L'hook esce con un valore diverso da zero**: la rimozione fallisce se la directory in `worktree_path` esiste ancora in seguito, e il worktree rimane su disco senza fallback su git. Un hook che ha eliminato la directory prima di uscire con un valore diverso da zero viene considerato come rimozione riuscita. Per sapere come viene segnalato l'errore, consulta [Input di WorktreeRemove](#worktreeremove-input).3289* **L'hook esce con un valore diverso da zero**: la rimozione fallisce se la directory in `worktree_path` esiste ancora in seguito, e il worktree rimane su disco senza fallback su git. Un hook che ha eliminato la directory prima di uscire con un valore diverso da zero viene considerato come rimozione riuscita. Per sapere come viene segnalato l'errore, consulta [Input di WorktreeRemove](#worktreeremove-input).

3288 3290 

hooks-guide.md +1 −1

Details

526| `DirectoryAdded` | Quando una directory di lavoro viene aggiunta a metà sessione tramite `/add-dir` o la richiesta di controllo SDK `register_repo_root` |526| `DirectoryAdded` | Quando una directory di lavoro viene aggiunta a metà sessione tramite `/add-dir` o la richiesta di controllo SDK `register_repo_root` |

527| `FileChanged` | Quando un file osservato cambia su disco. Il campo `matcher` specifica quali nomi di file osservare |527| `FileChanged` | Quando un file osservato cambia su disco. Il campo `matcher` specifica quali nomi di file osservare |

528| `WorktreeCreate` | Quando un worktree viene creato tramite `--worktree`, `isolation: "worktree"`, o per una sessione in background. Sostituisce il comportamento git predefinito |528| `WorktreeCreate` | Quando un worktree viene creato tramite `--worktree`, `isolation: "worktree"`, o per una sessione in background. Sostituisce il comportamento git predefinito |

529| `WorktreeRemove` | Quando un worktree viene rimosso all'uscita della sessione, quando un subagente termina, o quando elimini una sessione in background |529| `WorktreeRemove` | Quando viene rimosso un worktree creato da un hook `WorktreeCreate` |

530| `PreCompact` | Prima della compattazione del contesto |530| `PreCompact` | Prima della compattazione del contesto |

531| `PostCompact` | Dopo che la compattazione del contesto è completata |531| `PostCompact` | Dopo che la compattazione del contesto è completata |

532| `PreModelSwitch` | Prima che Claude Code applichi un cambio di modello che hai richiesto tu o un client. Può bloccare il cambio |532| `PreModelSwitch` | Prima che Claude Code applichi un cambio di modello che hai richiesto tu o un client. Può bloccare il cambio |

Details

76* **Il tuo progetto.** File nella tua directory e sottodirectory, più file altrove con la tua autorizzazione.76* **Il tuo progetto.** File nella tua directory e sottodirectory, più file altrove con la tua autorizzazione.

77* **Il tuo terminale.** Qualsiasi comando che potresti eseguire: strumenti di build, git, gestori di pacchetti, utilità di sistema, script. Se puoi farlo dalla riga di comando, Claude può farlo anche lui.77* **Il tuo terminale.** Qualsiasi comando che potresti eseguire: strumenti di build, git, gestori di pacchetti, utilità di sistema, script. Se puoi farlo dalla riga di comando, Claude può farlo anche lui.

78* **Il tuo stato git.** Ramo corrente, modifiche non committate e cronologia dei commit recenti.78* **Il tuo stato git.** Ramo corrente, modifiche non committate e cronologia dei commit recenti.

79* **Il tuo [CLAUDE.md](/docs/it/memory).** Un file markdown dove memorizzi istruzioni specifiche del progetto, convenzioni e contesto che Claude dovrebbe conoscere ogni sessione. Se il tuo repository ha un AGENTS.md per altri agenti di codifica, Claude [può leggerlo](/docs/it/memory#agents-md) da solo o insieme a CLAUDE.md.79* **Il tuo [CLAUDE.md](/docs/it/memory).** Un file markdown dove memorizzi istruzioni specifiche del progetto, convenzioni e contesto che Claude dovrebbe conoscere ogni sessione. Se il tuo repository ha un AGENTS.md per altri agenti di codifica, Claude [può leggerlo](/docs/it/memory#agents-md) al posto di un CLAUDE.md.

80* **[Auto memory](/docs/it/memory#auto-memory).** Apprendimenti che Claude salva automaticamente mentre lavori, come le tue preferenze. Le prime 200 righe o 25KB di MEMORY.md, a seconda di quale viene raggiunto per primo, si caricano all'inizio di ogni sessione.80* **[Auto memory](/docs/it/memory#auto-memory).** Apprendimenti che Claude salva automaticamente mentre lavori, come le tue preferenze. Le prime 200 righe o 25KB di MEMORY.md, a seconda di quale viene raggiunto per primo, si caricano all'inizio di ogni sessione.

81* **Estensioni che configuri.** [Server MCP](/docs/it/mcp) per servizi esterni, [skills](/docs/it/skills) per flussi di lavoro, [subagents](/docs/it/sub-agents) per lavoro delegato e [Claude in Chrome](/docs/it/chrome) per l'interazione del browser.81* **Estensioni che configuri.** [Server MCP](/docs/it/mcp) per servizi esterni, [skills](/docs/it/skills) per flussi di lavoro, [subagents](/docs/it/sub-agents) per lavoro delegato e [Claude in Chrome](/docs/it/chrome) per l'interazione del browser.

82 82 

Details

42| `Ctrl+Enter` o `Ctrl+X Ctrl+S` | Invia i messaggi in coda adesso | Invia i tuoi [messaggi in coda](#queue-messages-while-claude-works), e la tua bozza con loro, subito. [Quando Claude Code invia quello che hai messo in coda](#when-claude-code-sends-what-you-queued) copre cosa succede al turno su cui Claude sta lavorando. Nella [modalità shell](#shell-mode-with-prefix), il tasto mette in coda il tuo comando. Nei terminali che non segnalano tasti estesi, `Ctrl+Enter` arriva come semplice `Enter`; `Ctrl+X Ctrl+S` funziona in qualsiasi terminale. Richiede Claude Code v2.1.275 o versione successiva |42| `Ctrl+Enter` o `Ctrl+X Ctrl+S` | Invia i messaggi in coda adesso | Invia i tuoi [messaggi in coda](#queue-messages-while-claude-works), e la tua bozza con loro, subito. [Quando Claude Code invia quello che hai messo in coda](#when-claude-code-sends-what-you-queued) copre cosa succede al turno su cui Claude sta lavorando. Nella [modalità shell](#shell-mode-with-prefix), il tasto mette in coda il tuo comando. Nei terminali che non segnalano tasti estesi, `Ctrl+Enter` arriva come semplice `Enter`; `Ctrl+X Ctrl+S` funziona in qualsiasi terminale. Richiede Claude Code v2.1.275 o versione successiva |

43| `Shift+Tab`, o `Alt+M` su Windows quando il runtime Node o Bun non abilita la modalità di input VT | Cicla le modalità di permesso | Cicla attraverso `default` (etichettato Manual nell'indicatore di modalità), `acceptEdits`, `plan`, e, quando disponibile, `bypassPermissions` e poi `auto`. Da `auto`, il primo pressione passa a `default`. Vedi [modalità di permesso](/docs/it/permission-modes). Su un prompt di permesso del file, la stessa chiave chiude un [campo di commento](/docs/it/permissions#add-a-comment-when-you-answer-a-permission-prompt) aperto. Senza campo aperto, seleziona l'opzione che consente l'azione per il resto della sessione, quando il prompt offre quell'opzione |43| `Shift+Tab`, o `Alt+M` su Windows quando il runtime Node o Bun non abilita la modalità di input VT | Cicla le modalità di permesso | Cicla attraverso `default` (etichettato Manual nell'indicatore di modalità), `acceptEdits`, `plan`, e, quando disponibile, `bypassPermissions` e poi `auto`. Da `auto`, il primo pressione passa a `default`. Vedi [modalità di permesso](/docs/it/permission-modes). Su un prompt di permesso del file, la stessa chiave chiude un [campo di commento](/docs/it/permissions#add-a-comment-when-you-answer-a-permission-prompt) aperto. Senza campo aperto, seleziona l'opzione che consente l'azione per il resto della sessione, quando il prompt offre quell'opzione |

44| `Option+P` (macOS) o `Alt+P` (Windows/Linux) | Cambia modello | Cambia modelli senza cancellare il tuo prompt |44| `Option+P` (macOS) o `Alt+P` (Windows/Linux) | Cambia modello | Cambia modelli senza cancellare il tuo prompt |

45| `Option+T` (macOS) o `Alt+T` (Windows/Linux) | Attiva/disattiva il pensiero esteso | Abilita o disabilita la modalità di pensiero esteso. Non ha effetto su Opus 5.5, Sonnet 5.5, o i modelli Fable, che utilizzano sempre il pensiero esteso. Funziona su macOS senza configurare Option come Meta |45| `Option+T` (macOS) o `Alt+T` (Windows/Linux) | Attiva/disattiva il ragionamento esteso | Abilita o disabilita la modalità di ragionamento esteso. Non ha effetto su Opus 5.5, Sonnet 5.5, Haiku 5.5 o i modelli Fable, che utilizzano sempre il ragionamento esteso. Funziona su macOS senza configurare Option come Meta |

46| `Option+O` (macOS) o `Alt+O` (Windows/Linux) | Attiva/disattiva la modalità veloce | Abilita o disabilita la [modalità veloce](/docs/it/fast-mode) |46| `Option+O` (macOS) o `Alt+O` (Windows/Linux) | Attiva/disattiva la modalità veloce | Abilita o disabilita la [modalità veloce](/docs/it/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">

keybindings.md +3 −2

Details

299| :- | :- | :- |299| :- | :- | :- |

300| `footer:next` | Destra | Elemento del piè di pagina successivo |300| `footer:next` | Destra | Elemento del piè di pagina successivo |

301| `footer:previous` | Sinistra | Elemento del piè di pagina precedente |301| `footer:previous` | Sinistra | Elemento del piè di pagina precedente |

302| `footer:up` | Su | Naviga verso l'alto nel piè di pagina (deseleziona in alto) |302| `footer:up` | Su, Ctrl+P | Naviga verso l'alto nel piè di pagina (deseleziona in alto) |

303| `footer:down` | Giù | Naviga verso il basso nel piè di pagina |303| `footer:down` | Giù, Ctrl+N | Naviga verso il basso nel piè di pagina |

304| `footer:openSelected` | Invio | Apri l'elemento del piè di pagina selezionato |304| `footer:openSelected` | Invio | Apri l'elemento del piè di pagina selezionato |

305| `footer:clearSelection` | Escape | Cancella la selezione del piè di pagina |305| `footer:clearSelection` | Escape | Cancella la selezione del piè di pagina |

306| `footer:close` | x | Interrompi l'[agente](/docs/it/sub-agents#observe-and-steer-running-forks) o il [workflow](/docs/it/workflows#manage-runs) selezionato, oppure chiudi la sua riga se non è più in esecuzione |

306| `footer:dismiss` | (non associato) | Associare un tasto a questa azione non ha alcun effetto, e un `keybindings.json` che la nomina rimane valido. Prima della v2.1.281, Backspace e Canc erano associati a essa e chiudevano il collegamento dell'artefatto selezionato dal piè di pagina. |307| `footer:dismiss` | (non associato) | Associare un tasto a questa azione non ha alcun effetto, e un `keybindings.json` che la nomina rimane valido. Prima della v2.1.281, Backspace e Canc erano associati a essa e chiudevano il collegamento dell'artefatto selezionato dal piè di pagina. |

307 308 

308Mentre un elemento del piè di pagina è selezionato, come una riga nel pannello dell'agente sotto il prompt, `Invio` lo apre anche quando riassoci `Invio` nel contesto `Chat` a `chat:queueSubmit` o `chat:newline`.309Mentre un elemento del piè di pagina è selezionato, come una riga nel pannello dell'agente sotto il prompt, `Invio` lo apre anche quando riassoci `Invio` nel contesto `Chat` a `chat:queueSubmit` o `chat:newline`.

Details

216* **Distribuita da un amministratore**: se la tua organizzazione ha [distribuito la configurazione](/docs/it/llm-gateway-rollout#distribute-through-managed-settings), l'app desktop instrada attraverso il gateway senza alcuna configurazione da parte tua216* **Distribuita da un amministratore**: se la tua organizzazione ha [distribuito la configurazione](/docs/it/llm-gateway-rollout#distribute-through-managed-settings), l'app desktop instrada attraverso il gateway senza alcuna configurazione da parte tua

217* **Configurata localmente**: per i dispositivi senza una configurazione distribuita da un amministratore, apri Help → Troubleshooting → Enable Developer Mode, che riavvia l'app con un menu Developer. Quindi apri Developer → Configure Third-Party Inference e inserisci l'URL di base del tuo gateway. Una configurazione distribuita da un amministratore ha la precedenza e rende questo modulo di sola lettura217* **Configurata localmente**: per i dispositivi senza una configurazione distribuita da un amministratore, apri Help → Troubleshooting → Enable Developer Mode, che riavvia l'app con un menu Developer. Quindi apri Developer → Configure Third-Party Inference e inserisci l'URL di base del tuo gateway. Una configurazione distribuita da un amministratore ha la precedenza e rende questo modulo di sola lettura

218 218 

219Con la configurazione del gateway attiva, l'app desktop esegue sessioni solo sulla tua macchina locale: il selettore di ambiente non offre sessioni SSH o ambienti cloud ospitati da Anthropic, e [Remote Control](/docs/it/remote-control) non è disponibile. Per utilizzare Claude Code su un host remoto attraverso il gateway, esegui la CLI su quell'host con [`ANTHROPIC_BASE_URL` e la credenziale del gateway](#set-the-base-url-and-credential) impostati lì.219Con la configurazione del gateway attiva, il selettore di ambiente non offre ambienti cloud ospitati da Anthropic, e [Remote Control](/docs/it/remote-control) non è disponibile.

220 

221Le sessioni SSH sono in beta con una configurazione del gateway e richiedono Claude Desktop v1.40609.0 o successiva. Prima di connetterti, controlla l'allowlist e l'indirizzo del gateway:

222 

223* **Host consentiti**: le sessioni SSH sono disattivate per impostazione predefinita. Per attivarle, gli host consentiti vanno elencati, da te o dal tuo amministratore, nella chiave [`sshHostAllowlist`](https://claude.com/docs/third-party/claude-desktop/configuration#sshhostallowlist) della configurazione di inferenza di terze parti

224* **Indirizzo del gateway**: la macchina remota si connette direttamente al gateway, quindi un gateway su `localhost` sul tuo computer non funziona per le sessioni SSH

225 

226Consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions). Puoi anche eseguire la CLI sull'host remoto con [`ANTHROPIC_BASE_URL` e la credenziale del gateway](#set-the-base-url-and-credential) impostati lì.

220 227 

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

222 229 

managed-mcp.md +17 −5

Details

347 Come corrispondono le voci `serverUrl`347 Come corrispondono le voci `serverUrl`

348</h4>348</h4>

349 349 

350Gli URL supportano wildcard `*` ovunque nel modello, incluso lo schema. La corrispondenza del nome host non distingue tra maiuscole e minuscole e ignora un punto FQDN finale, quindi `https://Mcp.Example.com/*` corrisponde a `https://mcp.example.com/api`. I percorsi rimangono sensibili alle maiuscole e minuscole.350Gli URL supportano wildcard `*`, incluso `*` come intero schema. La corrispondenza del nome host non distingue tra maiuscole e minuscole e ignora un punto FQDN finale, quindi `https://Mcp.Example.com/*` corrisponde a `https://mcp.example.com/api`. I percorsi rimangono sensibili alle maiuscole e minuscole. Se non specifichi una porta, il modo in cui scrivi il nome host determina se il modello corrisponde solo alla porta predefinita dello schema o a ogni porta:

351 

352* **Nome host scritto per intero**: solo la porta predefinita, 443 per `https` e 80 per `http`

353* **Nome host contenente un `*`**: ogni porta

351 354 

352La tabella mostra cosa consentono i modelli comuni:355La tabella mostra cosa consentono i modelli comuni:

353 356 

354| Modello | Consente |357| Modello | Consente |

355| :- | :- |358| :- | :- |

356| `https://mcp.example.com/*` | Tutti i percorsi su un dominio specifico |359| `https://mcp.example.com/*` | Tutti i percorsi su un dominio specifico, solo sulla porta 443 |

357| `https://mcp.example.com` | Anche tutti i percorsi su quel dominio. Un modello senza percorso corrisponde a qualsiasi percorso |360| `https://mcp.example.com` | Anche tutti i percorsi su quel dominio, solo sulla porta 443. Un modello senza percorso corrisponde a qualsiasi percorso |

358| `https://*.example.com/*` | Qualsiasi sottodominio di `example.com` |361| `https://mcp.example.com:8443/*` | Tutti i percorsi su quel dominio, solo sulla porta 8443 |

362| `https://mcp.example.com:*/*` | Tutti i percorsi su quel dominio, su qualsiasi porta, inclusa la 443 |

363| `https://*.example.com/*` | Qualsiasi sottodominio di `example.com`, su qualsiasi porta |

359| `http://localhost:*/*` | Qualsiasi porta su localhost |364| `http://localhost:*/*` | Qualsiasi porta su localhost |

360| `*://mcp.example.com/*` | Qualsiasi schema a un dominio specifico |365| `*://mcp.example.com/*` | Qualsiasi schema a un dominio specifico, ciascuno schema solo sulla sua porta predefinita |

366 

367Le voci in `deniedMcpServers` corrispondono alle porte allo stesso modo, quindi scegli una voce per `staging.example.com` in base alle porte e agli schemi che devi bloccare:

368 

369* `https://staging.example.com/*`: blocca i server `https` su quell'host solo sulla porta 443, quindi non blocca un server su `https://staging.example.com:8443/api`

370* `https://staging.example.com:*/*`: blocca i server `https` su quell'host su ogni porta

371* `*://staging.example.com:*/*`: blocca quell'host con qualsiasi schema e su qualsiasi porta

361 372 

362<h4 id="how-policy-entries-expand">373<h4 id="how-policy-entries-expand">

363 Variabili d'ambiente nelle voci `serverCommand` e `serverUrl`374 Variabili d'ambiente nelle voci `serverCommand` e `serverUrl`


529 | :- | :- |540 | :- | :- |

530 | Server HTTP a `https://mcp.example.com/api` | Consentito: corrisponde al modello di URL dell'allowlist, nessuna corrispondenza del denylist |541 | Server HTTP a `https://mcp.example.com/api` | Consentito: corrisponde al modello di URL dell'allowlist, nessuna corrispondenza del denylist |

531 | Server HTTP a `https://staging.example.com/api` | Bloccato: corrisponde a entrambi, ma il denylist ha la precedenza |542 | Server HTTP a `https://staging.example.com/api` | Bloccato: corrisponde a entrambi, ma il denylist ha la precedenza |

543 | Server HTTP a `https://staging.example.com:8443/api` | Consentito: corrisponde al modello di URL dell'allowlist, [nessuna corrispondenza della denylist su questa porta](#how-serverurl-entries-match) |

532 | Server HTTP a `https://other.com/mcp` | Bloccato: non corrisponde all'allowlist |544 | Server HTTP a `https://other.com/mcp` | Bloccato: non corrisponde all'allowlist |

533</Accordion>545</Accordion>

534 546 

memory.md +2 −2

Details

8 8 

9Ogni sessione di Claude Code inizia con una finestra di contesto nuova. Due meccanismi trasportano la conoscenza tra le sessioni:9Ogni sessione di Claude Code inizia con una finestra di contesto nuova. Due meccanismi trasportano la conoscenza tra le sessioni:

10 10 

11* **File CLAUDE.md**: istruzioni che scrivi per dare a Claude un contesto persistente. Claude può anche leggere i file [`AGENTS.md`](#agents-md) di un repository, da soli o insieme a CLAUDE.md11* **File CLAUDE.md**: istruzioni che scrivi per dare a Claude un contesto persistente. Claude può anche leggere i [file `AGENTS.md`](#agents-md) di un repository al posto di CLAUDE.md

12* **Memoria automatica**: note che Claude scrive da solo in base alle tue correzioni e preferenze12* **Memoria automatica**: note che Claude scrive da solo in base alle tue correzioni e preferenze

13 13 

14Questa pagina spiega come:14Questa pagina spiega come:

15 15 

16* [Scrivere e organizzare file CLAUDE.md](#claude-md-files)16* [Scrivere e organizzare file CLAUDE.md](#claude-md-files)

17* [Utilizzare un file AGENTS.md esistente](#agents-md) come istruzioni del tuo progetto, da solo o insieme a CLAUDE.md17* [Utilizzare un file AGENTS.md esistente](#agents-md) come istruzioni del tuo progetto

18* [Limitare le regole a tipi di file specifici](#organize-rules-with-claude/rules/) con `.claude/rules/`18* [Limitare le regole a tipi di file specifici](#organize-rules-with-claude/rules/) con `.claude/rules/`

19* [Configurare la memoria automatica](#auto-memory) in modo che Claude prenda note automaticamente19* [Configurare la memoria automatica](#auto-memory) in modo che Claude prenda note automaticamente

20* [Risolvere i problemi](#troubleshoot-memory-issues) quando le istruzioni non vengono seguite20* [Risolvere i problemi](#troubleshoot-memory-issues) quando le istruzioni non vengono seguite

model-config.md +36 −23

Details

43| **`opus[1m]`** | Utilizza Opus con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) per sessioni lunghe |43| **`opus[1m]`** | Utilizza Opus con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) per sessioni lunghe |

44| **`opusplan`** | Modalità speciale che utilizza `opus` durante la modalità piano, quindi passa a `sonnet` per l'esecuzione |44| **`opusplan`** | Modalità speciale che utilizza `opus` durante la modalità piano, quindi passa a `sonnet` per l'esecuzione |

45 45 

46La versione a cui si risolvono gli alias `opus` e `sonnet` dipende dal provider:46Gli alias `opus`, `sonnet` e `haiku` si risolvono nella versione più recente sull'API Anthropic e in una versione precedente su alcuni altri provider:

47 47 

48| Provider | `opus` | `sonnet` |48| Provider | `opus` | `sonnet` | `haiku` |

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

50| API Anthropic | Opus 5.5 | Sonnet 5.5 |50| API Anthropic | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 |

51| [Claude Platform on AWS](/docs/it/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/it/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 | Haiku 4.5 |

52| Amazon Bedrock, Agent Platform di Google Cloud | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Agent Platform di Google Cloud | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

56 56 


58 58 

59Un gateway non configurato per servire `claude-fable-5-1` rifiuta le richieste per quel modello. Per utilizzare Fable 5.1 attraverso un gateway che lo serve, selezionarlo con `/model claude-fable-5-1`.59Un gateway non configurato per servire `claude-fable-5-1` rifiuta le richieste per quel modello. Per utilizzare Fable 5.1 attraverso un gateway che lo serve, selezionarlo con `/model claude-fable-5-1`.

60 60 

61Dove un alias si risolve in un modello più vecchio, i modelli più recenti sono disponibili selezionando il nome completo del modello esplicitamente o impostando `ANTHROPIC_DEFAULT_OPUS_MODEL` o `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Dove `opus` o `sonnet` si risolve in un modello più vecchio, i modelli più recenti sono disponibili selezionando esplicitamente il nome completo del modello o impostando `ANTHROPIC_DEFAULT_OPUS_MODEL` o `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 

63Le versioni precedenti risolvono questi alias a modelli più vecchi. Per la versione in cui ogni alias è cambiato, consultare [Cronologia delle versioni](#version-history).63Le versioni precedenti risolvono questi alias a modelli più vecchi. Per la versione in cui ogni alias è cambiato, consultare [Cronologia delle versioni](#version-history).

64 64 

65Gli alias puntano alla versione consigliata per il vostro provider e si aggiornano nel tempo. Per fissare una versione specifica, utilizzare il nome completo del modello, ad esempio `claude-opus-5-5`, o impostare la variabile di ambiente corrispondente come `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Gli alias puntano alla versione consigliata per il vostro provider e si aggiornano nel tempo. Per fissare una versione specifica, utilizzare il nome completo del modello, ad esempio `claude-opus-5-5`, o impostare la variabile di ambiente corrispondente come `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Sonnet 5.5 richiede Claude Code v2.1.284 o successiva, e Opus 5.5 richiede v2.1.280 o successiva. Se una richiesta per uno di essi da una versione precedente non riesce, consultare [Claude Code non supporta questo modello](/docs/it/errors#claude-code-does-not-support-this-model). Eseguire `claude update` per aggiornare.68 Sonnet 5.5 richiede Claude Code v2.1.284 o successiva, e Opus 5.5 richiede v2.1.280 o successiva. Se una richiesta per uno di essi da una versione precedente non riesce, consulta [Claude Code non supporta questo modello](/docs/it/errors#claude-code-does-not-support-this-model). Usa v2.1.293 o successiva con Haiku 5.5. Esegui `claude update` per aggiornare.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


156 156 

157I prezzi nel selettore `/model` appaiono quando Claude Code parla all'API Anthropic, direttamente o attraverso un [gateway LLM](/docs/it/llm-gateway) che lo fa da proxy, e il prezzo su una riga è il prezzo del modello che quella riga seleziona. Su [provider di terze parti](/docs/it/third-party-integrations) come Amazon Bedrock e sul [gateway delle app Claude](/docs/it/claude-apps-gateway), il vostro provider o gateway determina quello che pagate, quindi le righe del selettore non mostrano alcun prezzo. Il prezzo è solo un'etichetta di visualizzazione; non influisce su quale modello una riga seleziona o su quello che il vostro provider fattura. Prima della v2.1.206, [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e le sessioni del gateway mostravano i prezzi di listino di Anthropic, e una riga poteva mostrare il prezzo di un modello diverso da quello che selezionava.157I prezzi nel selettore `/model` appaiono quando Claude Code parla all'API Anthropic, direttamente o attraverso un [gateway LLM](/docs/it/llm-gateway) che lo fa da proxy, e il prezzo su una riga è il prezzo del modello che quella riga seleziona. Su [provider di terze parti](/docs/it/third-party-integrations) come Amazon Bedrock e sul [gateway delle app Claude](/docs/it/claude-apps-gateway), il vostro provider o gateway determina quello che pagate, quindi le righe del selettore non mostrano alcun prezzo. Il prezzo è solo un'etichetta di visualizzazione; non influisce su quale modello una riga seleziona o su quello che il vostro provider fattura. Prima della v2.1.206, [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e le sessioni del gateway mostravano i prezzi di listino di Anthropic, e una riga poteva mostrare il prezzo di un modello diverso da quello che selezionava.

158 158 

159Le sessioni riprese avviate con `claude --resume`, `--continue`, o il selettore `/resume` mantengono il modello che stavano utilizzando quando la trascrizione è stata salvata, indipendentemente dall'impostazione `model` corrente. Se il modello ripristinato è stato ritirato o è escluso da [`availableModels`](#restrict-model-selection), la sessione ricade nell'ordine di precedenza normale. Questo impedisce che la scelta `/model` di un'altra sessione cambi il modello al ripristino. Su provider che utilizzano ID di distribuzione specifici del provider piuttosto che ID di modello Anthropic, come Amazon Bedrock, Agent Platform di Google Cloud e Microsoft Foundry, il modello della trascrizione non viene affatto ripristinato e la sessione risolve il suo modello attraverso l'ordine di precedenza normale.159Le sessioni riprese con `claude --resume`, `--continue` o il selettore `/resume` mantengono il modello che stavano usando quando la trascrizione è stata salvata. Se il modello ripristinato è stato ritirato o è escluso da [`availableModels`](#restrict-model-selection), la sessione segue il normale ordine di precedenza. Sui provider che usano ID di distribuzione specifici del provider anziché ID di modello Anthropic, come Amazon Bedrock, Agent Platform di Google Cloud e Microsoft Foundry, il modello della trascrizione non viene ripristinato affatto e la sessione risolve il proprio modello attraverso il normale ordine di precedenza.

160 

161Se la tua impostazione `model` è `haiku`, una sessione salvata su un modello Haiku riprende sul modello in cui `haiku` si risolve attualmente. Ad esempio, quando `haiku` si risolve in Haiku 5.5, una sessione salvata su Haiku 4.5 riprende su Haiku 5.5.

160 162 

161Un modello che scegliete per il nuovo avvio con `--model` o `ANTHROPIC_MODEL` ha ancora la precedenza sul modello ripristinato. A partire dalla v2.1.195, così come una variabile della famiglia [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables). [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) può anche, secondo le condizioni elencate nella sua sezione.163Un modello che scegliete per il nuovo avvio con `--model` o `ANTHROPIC_MODEL` ha ancora la precedenza sul modello ripristinato. A partire dalla v2.1.195, così come una variabile della famiglia [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables). [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) può anche, secondo le condizioni elencate nella sua sezione.

162 164 


645| Modello | Livelli |647| Modello | Livelli |

646| :- | :- |648| :- | :- |

647| Fable 5.1 e Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |649| Fable 5.1 e Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

648| Opus 5.5, Sonnet 5.5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |650| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

649| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |651| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |

650 652 

651Se imposti un livello che il modello attivo non supporta, Claude Code fallback al livello supportato più alto pari o inferiore a quello impostato. Ad esempio, `xhigh` viene eseguito come `high` su Opus 4.6. La tua organizzazione o le tue stesse impostazioni possono anche limitare i livelli che un modello offre; vedere [Limiti di sforzo dell'organizzazione](#organization-effort-limits).653Se imposti un livello che il modello attivo non supporta, Claude Code fallback al livello supportato più alto pari o inferiore a quello impostato. Ad esempio, `xhigh` viene eseguito come `high` su Opus 4.6. La tua organizzazione o le tue stesse impostazioni possono anche limitare i livelli che un modello offre; vedere [Limiti di sforzo dell'organizzazione](#organization-effort-limits).


654 656 

6551. Una scelta esplicita: la variabile di ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/it/env-vars#variables), l'avvio con `--effort`, o `/effort` nella sessione ([un `/effort` non interattivo ha effetto più ristretto](#non-interactive-effort))6571. Una scelta esplicita: la variabile di ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/it/env-vars#variables), l'avvio con `--effort`, o `/effort` nella sessione ([un `/effort` non interattivo ha effetto più ristretto](#non-interactive-effort))

6562. Le tue impostazioni: il livello che hai salvato per il modello o una chiave [`effortLevel`](/docs/it/settings-reference#effortlevel), con la precedenza tra loro e tra i file di impostazioni indicata in [`modelSettings`](/docs/it/settings-reference#modelsettings)6582. Le tue impostazioni: il livello che hai salvato per il modello o una chiave [`effortLevel`](/docs/it/settings-reference#effortlevel), con la precedenza tra loro e tra i file di impostazioni indicata in [`modelSettings`](/docs/it/settings-reference#modelsettings)

6573. Lo sforzo predefinito del modello: `high` su ogni modello che supporta lo sforzo, tranne Opus 5.5 e Sonnet 5.5, il cui predefinito è `medium`, e Opus 4.7, il cui predefinito è `xhigh`; inoltre, quando la tua organizzazione imposta un livello di sforzo predefinito per il suo [modello predefinito dell'organizzazione](#organization-default-model), quel livello è il predefinito quando esegui quel modello. Dopo un fallback automatico del modello, consulta [Livello di sforzo dopo un fallback](#effort-level-after-a-fallback) per il livello che si applica.6593. Lo sforzo predefinito del modello: `high` su ogni modello che supporta lo sforzo, tranne Opus 5.5, Sonnet 5.5 e Haiku 5.5, il cui predefinito è `medium`, e Opus 4.7, il cui predefinito è `xhigh`; inoltre, quando la tua organizzazione imposta un livello di sforzo predefinito per il suo [modello predefinito dell'organizzazione](#organization-default-model), quel livello è il predefinito quando esegui quel modello. Dopo un fallback automatico del modello, consulta [Livello di sforzo dopo un fallback](#effort-level-after-a-fallback) per il livello che si applica.

658 660 

659Opus 5.5 inizia a `medium` a meno che una delle fonti sopra non imposti un livello per esso, e un `effortLevel` di livello superiore nel tuo file di impostazioni utente non conta per Opus 5.5. Quella chiave è la forma più vecchia che `/effort` ha scritto prima che Claude Code salvasse i livelli per modello: continua ad applicarsi dove si applicava prima, su Opus 5, Fable 5.1 e modelli precedenti, mentre Opus 5.5 e i modelli rilasciati dopo di esso iniziano al loro predefinito fino a quando non scegli un livello per loro con `/effort` o il selettore `/model`. Un `effortLevel` di livello superiore nelle impostazioni di progetto, locale o gestite, o uno passato con `--settings`, si applica a ogni modello.661Opus 5.5 inizia a `medium` a meno che una delle fonti sopra non imposti un livello per esso, e un `effortLevel` di livello superiore nel tuo file di impostazioni utente non conta per Opus 5.5. Quella chiave è la forma più vecchia che `/effort` ha scritto prima che Claude Code salvasse i livelli per modello: continua ad applicarsi dove si applicava prima, su Opus 5, Fable 5.1 e modelli precedenti, mentre Opus 5.5 e i modelli rilasciati dopo di esso iniziano al loro predefinito fino a quando non scegli un livello per loro con `/effort` o il selettore `/model`. Un `effortLevel` di livello superiore nelle impostazioni di progetto, locale o gestite, o uno passato con `--settings`, si applica a ogni modello.

660 662 


709| Livello | Quando usarlo |711| Livello | Quando usarlo |

710| :- | :- |712| :- | :- |

711| `low` | Scambi rapidi dove rivedi ogni risultato, come brainstorming, uno schizzo iniziale o un piccolo cambio come una ridenominazione |713| `low` | Scambi rapidi dove rivedi ogni risultato, come brainstorming, uno schizzo iniziale o un piccolo cambio come una ridenominazione |

712| `medium` | Il predefinito su Opus 5.5 e Sonnet 5.5, dove si adatta al lavoro di ingegneria quotidiana con un ambito chiaro, come l'implementazione di una nuova funzionalità. Su altri modelli, riduce l'utilizzo di token per il lavoro sensibile ai costi che può scambiare un po' di intelligenza |714| `medium` | Il predefinito su Opus 5.5, Sonnet 5.5 e Haiku 5.5. Su Opus 5.5 e Sonnet 5.5, si adatta al lavoro di ingegneria quotidiano con un ambito chiaro, come l'implementazione di una nuova funzionalità. Sui modelli con un predefinito più alto, riduce l'utilizzo di token per il lavoro sensibile ai costi che può sacrificare un po' di intelligenza |

713| `high` | Lavoro dove la verifica è importante o i casi limite sono probabili, come la correzione di un bug in una base di codice esistente. Il predefinito su ogni modello tranne Opus 5.5, Sonnet 5.5 e Opus 4.7 |715| `high` | Lavoro dove la verifica è importante o i casi limite sono probabili, come la correzione di un bug in un codebase esistente. Il predefinito su ogni modello tranne Opus 5.5, Sonnet 5.5, Haiku 5.5 e Opus 4.7 |

714| `xhigh` | Ragionamento più profondo a spesa di token più elevata. Il predefinito su Opus 4.7 |716| `xhigh` | Ragionamento più profondo a spesa di token più elevata. Il predefinito su Opus 4.7 |

715| `max` | Problemi difficili che desideri che Claude risolva senza di te, come trovare vulnerabilità di sicurezza. `max` può mostrare rendimenti decrescenti ed è soggetto a eccesso di riflessione, quindi prova prima di adottare ampiamente |717| `max` | Problemi difficili che desideri che Claude risolva senza di te, come trovare vulnerabilità di sicurezza. `max` può mostrare rendimenti decrescenti ed è soggetto a eccesso di riflessione, quindi prova prima di adottare ampiamente |

716| `ultracode` | Un'impostazione di Claude Code piuttosto che un livello: pianifica un [flusso di lavoro dinamico](/docs/it/workflows) per ogni attività sostanziale a qualsiasi livello di sforzo |718| `ultracode` | Un'impostazione di Claude Code piuttosto che un livello: pianifica un [flusso di lavoro dinamico](/docs/it/workflows) per ogni attività sostanziale a qualsiasi livello di sforzo |


753 755 

754Il ragionamento adattivo rende il pensiero opzionale ad ogni passo, quindi Claude può rispondere più velocemente ai prompt di routine e riservare il pensiero più profondo ai passi che ne traggono beneficio. Se desideri che Claude pensi più o meno spesso di quanto il livello corrente produce, puoi dirlo direttamente nel tuo prompt o in `CLAUDE.md`; il modello risponde a quella guida entro la sua impostazione di sforzo.756Il ragionamento adattivo rende il pensiero opzionale ad ogni passo, quindi Claude può rispondere più velocemente ai prompt di routine e riservare il pensiero più profondo ai passi che ne traggono beneficio. Se desideri che Claude pensi più o meno spesso di quanto il livello corrente produce, puoi dirlo direttamente nel tuo prompt o in `CLAUDE.md`; il modello risponde a quella guida entro la sua impostazione di sforzo.

755 757 

756I modelli Fable, Sonnet 5 e successivi, e Opus 4.7 e successivi utilizzano sempre il ragionamento adattivo. La modalità di budget di pensiero fisso e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` non si applicano a loro.758I modelli Fable, Sonnet 5 e successivi, Haiku 5.5, e Opus 4.7 e successivi utilizzano sempre il ragionamento adattivo. La modalità di budget di ragionamento fisso e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` non si applicano a loro.

757 759 

758Su Opus 4.6 e Sonnet 4.6, puoi impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` per tornare al precedente budget di pensiero fisso controllato da `MAX_THINKING_TOKENS`. Vedere [variabili di ambiente](/docs/it/env-vars).760Su Opus 4.6 e Sonnet 4.6, puoi impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` per tornare al precedente budget di pensiero fisso controllato da `MAX_THINKING_TOKENS`. Vedere [variabili di ambiente](/docs/it/env-vars).

759 761 


767| :- | :- |769| :- | :- |

768| Attiva/disattiva per la sessione corrente | Premi `Option+T` su macOS o `Alt+T` su Windows e Linux |770| Attiva/disattiva per la sessione corrente | Premi `Option+T` su macOS o `Alt+T` su Windows e Linux |

769| Imposta il predefinito globale | Esegui `/config` e attiva/disattiva la modalità di pensiero. Salvato come `alwaysThinkingEnabled` in `~/.claude/settings.json` |771| Imposta il predefinito globale | Esegui `/config` e attiva/disattiva la modalità di pensiero. Salvato come `alwaysThinkingEnabled` in `~/.claude/settings.json` |

770| Disattiva tramite una variabile d'ambiente | Imposta [`MAX_THINKING_TOKENS=0`](/docs/it/env-vars), che disattiva il ragionamento su Anthropic API tranne che su Opus 5.5, Sonnet 5.5 e sui modelli Fable. Sui [provider di terze parti](/docs/it/third-party-integrations), Claude Code omette invece il parametro `thinking`, e i modelli con ragionamento adattivo potrebbero comunque ragionare |772| Disattiva tramite una variabile d'ambiente | Imposta [`MAX_THINKING_TOKENS=0`](/docs/it/env-vars), che disattiva il ragionamento su Anthropic API tranne che su Opus 5.5, Sonnet 5.5, Haiku 5.5 e sui modelli Fable. Sui [provider di terze parti](/docs/it/third-party-integrations), Claude Code omette invece il parametro `thinking`, e i modelli con ragionamento adattivo potrebbero comunque ragionare |

771 773 

772Non puoi disattivare il pensiero sui modelli Opus 5.5, Sonnet 5.5 o Fable. L'attivazione/disattivazione della sessione e una salvata `alwaysThinkingEnabled: false` o `MAX_THINKING_TOKENS=0` non hanno effetto lì, e il modello decide per passo quanto pensare in base al livello di sforzo. La sessione toggle e la riga `/config` mostrano `Thinking can't be turned off` per questi modelli invece di offrire l'interruttore, e un salvato `alwaysThinkingEnabled: false` o `MAX_THINKING_TOKENS=0` non ha effetto lì. Su questi modelli, il modello decide per passo quanto pensare in base al livello di sforzo. L'impostazione salvata si applica di nuovo quando passi a un modello che l'accetta.774Non puoi disattivare il ragionamento su Opus 5.5, Sonnet 5.5, Haiku 5.5 o sui modelli Fable. L'opzione della sessione e la riga di `/config` mostrano `Thinking can't be turned off` per questi modelli invece di offrire l'interruttore, e un `alwaysThinkingEnabled: false` o `MAX_THINKING_TOKENS=0` salvato non ha effetto lì. Su questi modelli, il modello decide per ogni passo quanto ragionare in base al livello di sforzo. L'impostazione salvata si applica di nuovo quando passi a un modello che la accetta.

773 775 

774Claude Code comprime l'output di pensiero per impostazione predefinita. Premi `Ctrl+O` per attivare/disattivare la modalità dettagliata e vedi il ragionamento come testo grigio in corsivo. Le sessioni interattive su Anthropic API ricevono blocchi di pensiero redatti per impostazione predefinita, quindi imposta `showThinkingSummaries: true` nelle [impostazioni](/docs/it/settings) se desideri i riassunti completi disponibili quando espandi. Ti viene addebitato per tutti i token di pensiero generati, anche quando compressi o redatti.776Claude Code comprime l'output di pensiero per impostazione predefinita. Premi `Ctrl+O` per attivare/disattivare la modalità dettagliata e vedi il ragionamento come testo grigio in corsivo. Le sessioni interattive su Anthropic API ricevono blocchi di pensiero redatti per impostazione predefinita, quindi imposta `showThinkingSummaries: true` nelle [impostazioni](/docs/it/settings) se desideri i riassunti completi disponibili quando espandi. Ti viene addebitato per tutti i token di pensiero generati, anche quando compressi o redatti.

775 777 


779 Extended context781 Extended context

780</h3>782</h3>

781 783 

782Fable 5.1, Fable 5, Sonnet 5 e successivi, Opus 4.6 e successivi, e Sonnet 4.6 supportano una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) per sessioni lunghe con basi di codice di grandi dimensioni.784Fable 5.1, Fable 5, Sonnet 5 e successivi, Haiku 5.5, Opus 4.6 e successivi, e Sonnet 4.6 supportano una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) per sessioni lunghe con codebase di grandi dimensioni.

783 785 

784Su Anthropic API, Fable 5.1, Fable 5, Sonnet 5 e successivi, e Opus 4.7 e successivi vengono eseguiti con la finestra 1M su ogni piano, incluso Pro. Non selezioni una variante `[1m]` o attivi crediti di utilizzo per la finestra 1M su questi modelli. L'utilizzo di Fable stesso può fatturare ai crediti di utilizzo su alcuni piani; vedere [Fable e crediti di utilizzo](#fable-and-usage-credits).786Su Anthropic API, Fable 5.1, Fable 5, Sonnet 5 e successivi, Haiku 5.5, e Opus 4.7 e successivi vengono eseguiti con la finestra 1M su ogni piano, incluso Pro. Non selezioni una variante `[1m]` né attivi crediti di utilizzo per la finestra 1M su questi modelli. L'utilizzo di Fable stesso può essere fatturato ai crediti di utilizzo su alcuni piani; vedere [Fable e crediti di utilizzo](#fable-and-usage-credits).

785 787 

786Opus 4.6 e Sonnet 4.6 raggiungono 1M solo attraverso la loro variante `[1m]`, e l'accesso a quella variante dipende dal tuo piano. Su piani Max, Team ed Enterprise, inclusi sia i posti Team Standard che Team Premium, Opus 4.6 con contesto 1M è incluso nel tuo abbonamento. Sonnet 4.6 con contesto 1M richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) su ogni piano di abbonamento, incluso Max.788Opus 4.6 e Sonnet 4.6 raggiungono 1M solo attraverso la loro variante `[1m]`, e l'accesso a quella variante dipende dal tuo piano. Su piani Max, Team ed Enterprise, inclusi sia i posti Team Standard che Team Premium, Opus 4.6 con contesto 1M è incluso nel tuo abbonamento. Sonnet 4.6 con contesto 1M richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) su ogni piano di abbonamento, incluso Max.

787 789 


795 797 

796<span id="context-window-behind-a-gateway" />798<span id="context-window-behind-a-gateway" />

797 799 

798Se imposti `ANTHROPIC_BASE_URL` su un [gateway LLM](/docs/it/llm-gateway) o un altro proxy, Claude Code assegna a ogni modello che riconosce la stessa finestra di contesto che il modello ha su Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e successivi, e Opus 4.7 e successivi ottengono la finestra 1M senza una variante `[1m]` da selezionare, e un modello che raggiunge 1M solo tramite la sua variante `[1m]`, come Opus 4.6, viene eseguito a 200K senza di essa. Claude Code non può rilevare un limite inferiore applicato dal gateway o dal server che si trova dietro di esso. Se il tuo gateway rifiuta le richieste sopra i 200K token, imposta [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/it/env-vars) nell'ambiente che avvia Claude Code, in modo che le sessioni su ogni modello [si compattino a quel limite](#set-the-auto-compact-window).800Se imposti `ANTHROPIC_BASE_URL` su un [gateway LLM](/docs/it/llm-gateway) o un altro proxy, Claude Code assegna a ogni modello che riconosce la stessa finestra di contesto che il modello ha su Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e successivi, Haiku 5.5, e Opus 4.7 e successivi ottengono la finestra 1M senza una variante `[1m]` da selezionare, e un modello che raggiunge 1M solo tramite la sua variante `[1m]`, come Opus 4.6, viene eseguito a 200K senza di essa. Claude Code non può rilevare un limite inferiore applicato dal gateway o dal server che si trova dietro di esso. Se il tuo gateway rifiuta le richieste sopra i 200K token, imposta [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/it/env-vars) nell'ambiente che avvia Claude Code, in modo che le sessioni su ogni modello [si compattino a quel limite](#set-the-auto-compact-window).

799 801 

800Per disattivare il contesto 1M, imposta `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code rimuove le varianti di modello 1M dal selettore di modelli. Su modelli con una finestra 1M nativa, come Sonnet 5 e i modelli Fable, tratta anche il modello come avente una finestra di contesto di 200K:802Per disattivare il contesto 1M, imposta `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code rimuove le varianti di modello 1M dal selettore di modelli. Su modelli con una finestra 1M nativa, come Sonnet 5 e i modelli Fable, tratta anche il modello come avente una finestra di contesto di 200K:

801 803 


804 806 

805Prima della v2.1.223, Claude Code manteneva solo le sessioni Sonnet 5, Opus 4.8 e Opus 5 a 200K. Vedere [variabili di ambiente](/docs/it/env-vars).807Prima della v2.1.223, Claude Code manteneva solo le sessioni Sonnet 5, Opus 4.8 e Opus 5 a 200K. Vedere [variabili di ambiente](/docs/it/env-vars).

806 808 

807La finestra di contesto 1M utilizza i prezzi standard del modello senza premio per i token oltre 200K. Per i piani in cui il contesto esteso è incluso nel tuo abbonamento, l'utilizzo rimane coperto dal tuo abbonamento. Per i piani che accedono al contesto esteso tramite crediti di utilizzo, i token vengono fatturati ai crediti di utilizzo.809La finestra di contesto 1M utilizza i prezzi standard del modello senza sovrapprezzo per i token oltre 200K, tranne su Haiku 5.5, che [costa di più sui prompt più lunghi di 100K token](#haiku-5-5-context-window-and-pricing). Per i piani in cui il contesto esteso è incluso nel tuo abbonamento, l'utilizzo rimane coperto dal tuo abbonamento. Per i piani che accedono al contesto esteso tramite crediti di utilizzo, i token vengono fatturati ai crediti di utilizzo.

808 810 

809Se il tuo account supporta il contesto 1M, l'opzione appare nel selettore `/model` nelle versioni più recenti di Claude Code. Se non la vedi, prova a riavviare la tua sessione, e su un provider di terze parti verifica se il tuo deployment [ha bloccato il modello](#pin-models-for-third-party-deployments) con una variabile `ANTHROPIC_DEFAULT_*_MODEL`.811Se il tuo account supporta il contesto 1M, l'opzione appare nel selettore `/model` nelle versioni più recenti di Claude Code. Se non la vedi, prova a riavviare la tua sessione, e su un provider di terze parti verifica se il tuo deployment [ha bloccato il modello](#pin-models-for-third-party-deployments) con una variabile `ANTHROPIC_DEFAULT_*_MODEL`.

810 812 


831 833 

832* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: mantiene le sessioni su ogni modello con una finestra 1M nativa a una finestra 200K; vedere [Extended context](#extended-context) per come il mantenimento viene applicato. Utile per i deployment che devono limitare il contesto.834* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: mantiene le sessioni su ogni modello con una finestra 1M nativa a una finestra 200K; vedere [Extended context](#extended-context) per come il mantenimento viene applicato. Utile per i deployment che devono limitare il contesto.

833 835 

836<h4 id="haiku-5-5-context-window-and-pricing">

837 Finestra di contesto e prezzi di Haiku 5.5

838</h4>

839 

840Su Anthropic API, Haiku 5.5 viene eseguito con la finestra di contesto 1M su ogni piano, senza suffisso `[1m]` da selezionare. Il suo ID modello è `claude-haiku-5-5`. Per usarlo, esegui `/model claude-haiku-5-5` in una sessione, oppure avvia Claude Code dalla tua shell con `claude --model claude-haiku-5-5`.

841 

842Una richiesta Haiku 5.5 costa di più per token quando il suo prompt supera i 100K token. Consulta i [prezzi di Anthropic](https://platform.claude.com/docs/en/about-claude/pricing) per entrambe le tariffe.

843 

844Le sessioni si compattano automaticamente a circa 967K token per impostazione predefinita. Per compattare prima, [imposta una finestra di compattazione automatica più piccola](#set-the-auto-compact-window) per il modello.

845 

834<h2 id="context-window-and-auto-compaction">846<h2 id="context-window-and-auto-compaction">

835 Finestra di contesto e auto-compattazione847 Finestra di contesto e auto-compattazione

836</h2>848</h2>


865* Le [sessioni cloud](/docs/it/claude-code-on-the-web) si compattano mentre la conversazione si avvicina al limite del modello877* Le [sessioni cloud](/docs/it/claude-code-on-the-web) si compattano mentre la conversazione si avvicina al limite del modello

866* Sonnet 4.6 e Opus 4.6 senza [contesto esteso](#extended-context) si compattano al limite di 200K, così come Opus 4.8 e versioni successive quando vengono eseguiti con una finestra di contesto di 200K, come su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry878* Sonnet 4.6 e Opus 4.6 senza [contesto esteso](#extended-context) si compattano al limite di 200K, così come Opus 4.8 e versioni successive quando vengono eseguiti con una finestra di contesto di 200K, come su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry

867* Quando si imposta [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/it/env-vars), i modelli con una finestra nativa di 1M, come Sonnet 5 e i modelli Fable, si compattano al limite di 200K879* Quando si imposta [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/it/env-vars), i modelli con una finestra nativa di 1M, come Sonnet 5 e i modelli Fable, si compattano al limite di 200K

868* I modelli in esecuzione con una finestra nativa di 1M si compattano prima che la finestra si riempia, a circa 967K token per impostazione predefinita. Su Anthropic API, questi includono Sonnet 5, i modelli Fable e Opus 4.7 e versioni successive. Su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, vedere [Pin models for third-party deployments](#pin-models-for-third-party-deployments) per sapere quali modelli vengono eseguiti con quella finestra. Dietro un `ANTHROPIC_BASE_URL` personalizzato, vedere [the context window behind a gateway](#context-window-behind-a-gateway)880* I modelli in esecuzione con una finestra nativa di 1M si compattano prima che la finestra si riempia, a circa 967K token per impostazione predefinita. Su Anthropic API, questi includono Sonnet 5, Haiku 5.5, i modelli Fable e Opus 4.7 e versioni successive. Su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, consulta [Pin models for third-party deployments](#pin-models-for-third-party-deployments) per sapere quali modelli vengono eseguiti con quella finestra. Dietro un `ANTHROPIC_BASE_URL` personalizzato, consulta [the context window behind a gateway](#context-window-behind-a-gateway)

869* Le sessioni su un ID modello che Claude Code non riconosce, come un alias [LLM gateway](/docs/it/llm-gateway), si compattano alla finestra di contesto che Claude Code assume per l'ID; vedere [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)881* Le sessioni su un ID modello che Claude Code non riconosce, come un alias [LLM gateway](/docs/it/llm-gateway), si compattano alla finestra di contesto che Claude Code assume per l'ID; vedere [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)

870 882 

871<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">883<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


1093 1105 

1094| Versione | Modifica |1106| Versione | Modifica |

1095| :- | :- |1107| :- | :- |

1108| v2.1.293 | `haiku` si risolve a Haiku 5.5 su Anthropic API |

1096| v2.1.284 | `sonnet` si risolve a Sonnet 5.5 su Anthropic API |1109| v2.1.284 | `sonnet` si risolve a Sonnet 5.5 su Anthropic API |

1097| v2.1.280 | `opus` si risolve a Opus 5.5 su Anthropic API, Claude Platform su AWS, Amazon Bedrock e Agent Platform di Google Cloud |1110| v2.1.280 | `opus` si risolve a Opus 5.5 su Anthropic API, Claude Platform su AWS, Amazon Bedrock e Agent Platform di Google Cloud |

1098| v2.1.257 | `fable` si risolve a Fable 5.1, tranne nelle sessioni del gateway delle app Claude |1111| v2.1.257 | `fable` si risolve a Fable 5.1, tranne nelle sessioni del gateway delle app Claude |


1100| v2.1.207 | `opus` si risolve a Opus 4.8 su Claude Platform su AWS, Amazon Bedrock e Agent Platform |1113| v2.1.207 | `opus` si risolve a Opus 4.8 su Claude Platform su AWS, Amazon Bedrock e Agent Platform |

1101| v2.1.197 | `sonnet` si risolve a Sonnet 5 su Anthropic API |1114| v2.1.197 | `sonnet` si risolve a Sonnet 5 su Anthropic API |

1102| v2.1.154 | `opus` si risolve a Opus 4.8 su Anthropic API |1115| v2.1.154 | `opus` si risolve a Opus 4.8 su Anthropic API |

1103| Precedenti | `opus` si risolve a Opus 4.7 su Claude Platform su AWS e a Opus 4.6 su Amazon Bedrock e Agent Platform. `fable` si risolve a Fable 5 su ogni provider |1116| Precedenti | `opus` si risolve a Opus 4.7 su Claude Platform su AWS e a Opus 4.6 su Amazon Bedrock e Agent Platform. `fable` si risolve a Fable 5 e `haiku` si risolve a Haiku 4.5 su ogni provider |

Details

551* **Impostazioni gestite dal server**: aggiungetele al blocco `env` delle [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione. Claude Code recupera quelle impostazioni all'avvio ovunque [si applichino le impostazioni gestite dal server](/docs/it/model-config#surface-coverage), il che include i dispositivi dei vostri utenti e le sessioni cloud diverse dalle sessioni del canale Claude Tag. Le sessioni Claude Tag non ricevono le vostre impostazioni gestite dal server, quindi questo percorso non le configura.551* **Impostazioni gestite dal server**: aggiungetele al blocco `env` delle [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione. Claude Code recupera quelle impostazioni all'avvio ovunque [si applichino le impostazioni gestite dal server](/docs/it/model-config#surface-coverage), il che include i dispositivi dei vostri utenti e le sessioni cloud diverse dalle sessioni del canale Claude Tag. Le sessioni Claude Tag non ricevono le vostre impostazioni gestite dal server, quindi questo percorso non le configura.

552* **Le variabili dell'ambiente**: aggiungetele alle [variabili di ambiente](/docs/it/cloud-environments#set-environment-variables) di un ambiente cloud per configurare solo le sessioni eseguite in quell'ambiente. Questo è il percorso che raggiunge le sessioni Claude Tag.552* **Le variabili dell'ambiente**: aggiungetele alle [variabili di ambiente](/docs/it/cloud-environments#set-environment-variables) di un ambiente cloud per configurare solo le sessioni eseguite in quell'ambiente. Questo è il percorso che raggiunge le sessioni Claude Tag.

553 553 

554Chiunque utilizzi un ambiente può leggere le sue variabili, quindi non inserite una credenziale lì, come un token del collector in `OTEL_EXPORTER_OTLP_HEADERS`. Una [credenziale API](/docs/it/cloud-environments#add-api-credentials) sull'ambiente non aiuta nemmeno, perché l'esportazione di telemetria di Claude Code stesso è una delle [richieste che non ricevono mai la credenziale](/docs/it/cloud-environments#requests-that-never-get-the-credential). Se il vostro collector richiede una credenziale, configurate l'intera esportazione tramite impostazioni gestite dal server, perché quando impostate una credenziale lì, [Claude Code rimuove le variabili di endpoint impostate al di fuori delle impostazioni gestite](#how-managed-settings-lock-the-otlp-destination).554Chiunque utilizzi un ambiente può leggerne le variabili, quindi non inserire lì una credenziale, come un token del collector in `OTEL_EXPORTER_OTLP_HEADERS`. Nemmeno un [segreto di rete](/docs/it/cloud-environments#add-api-credentials) sull'ambiente è utile, perché l'esportazione della telemetria di Claude Code stesso è una delle [richieste che non ricevono mai il segreto](/docs/it/cloud-environments#requests-that-never-get-the-credential). Se il tuo collector richiede una credenziale, configura invece l'intera esportazione tramite le impostazioni gestite dal server, perché quando imposti lì una credenziale, [Claude Code rimuove le variabili di endpoint impostate al di fuori delle impostazioni gestite](#how-managed-settings-lock-the-otlp-destination).

555 555 

556Tenete presenti questi vincoli quando configurate la telemetria per le sessioni cloud:556Tenete presenti questi vincoli quando configurate la telemetria per le sessioni cloud:

557 557 

overview.md +7 −5

Details

28 curl -fsSL https://claude.ai/install.sh | bash28 curl -fsSL https://claude.ai/install.sh | bash

29 ```29 ```

30 30 

31 Su Windows, il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.

32 

31 **Windows PowerShell:**33 **Windows PowerShell:**

32 34 

33 ```powershell theme={null}35 ```powershell theme={null}


42 44 

43 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).45 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).

44 46 

45 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell. Il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.47 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell.

46 48 

47 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403`, o un altro errore curl, consulta [Troubleshoot installation](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.49 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403` o qualsiasi altro errore, consulta [Risoluzione dei problemi di installazione](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.

48 50 

49 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.51 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.

50 52 


85 claude87 claude

86 ```88 ```

87 89 

88 Ti verrà chiesto di accedere al primo utilizzo. Se hai impostato la variabile di ambiente `ANTHROPIC_API_KEY`, Claude Code salta il prompt di accesso e ti chiede invece di approvare la chiave. È tutto! [Continua con la Guida rapida →](/docs/it/quickstart)90 Claude Code ti chiede di accedere al primo utilizzo. Se hai impostato la variabile d'ambiente `ANTHROPIC_API_KEY` e approvi la chiave quando Claude Code ti chiede se usarla, Claude Code salta il prompt di accesso. [Continua con la Guida rapida →](/docs/it/quickstart)

89 91 

90 <Tip>92 <Tip>

91 Vedi [configurazione avanzata](/docs/it/setup) per le opzioni di installazione, gli aggiornamenti manuali o le istruzioni di disinstallazione. Visita [risoluzione dei problemi di installazione](/docs/it/troubleshoot-install) se riscontri problemi.93 Vedi [configurazione avanzata](/docs/it/setup) per le opzioni di installazione, gli aggiornamenti manuali o le istruzioni di disinstallazione. Visita [risoluzione dei problemi di installazione](/docs/it/troubleshoot-install) se riscontri problemi.


170 Il [Model Context Protocol (MCP)](/docs/it/mcp) è uno standard aperto per connettere gli strumenti di IA alle fonti di dati esterne. Con MCP, Claude Code può leggere i tuoi documenti di progettazione in Google Drive, aggiornare i ticket in Jira, estrarre dati da Slack o utilizzare i tuoi strumenti personalizzati. La [guida rapida MCP](/docs/it/mcp-quickstart) connette il tuo primo server da capo a fondo.172 Il [Model Context Protocol (MCP)](/docs/it/mcp) è uno standard aperto per connettere gli strumenti di IA alle fonti di dati esterne. Con MCP, Claude Code può leggere i tuoi documenti di progettazione in Google Drive, aggiornare i ticket in Jira, estrarre dati da Slack o utilizzare i tuoi strumenti personalizzati. La [guida rapida MCP](/docs/it/mcp-quickstart) connette il tuo primo server da capo a fondo.

171 </Accordion>173 </Accordion>

172 174 

173 <Accordion title="Personalizza con istruzioni, skills e hooks" icon="sliders">175 <Accordion title="Personalizza con istruzioni, skill e hook" icon="sliders">

174 [`CLAUDE.md`](/docs/it/memory) è un file markdown che aggiungi alla radice del tuo progetto che Claude Code legge all'inizio di ogni sessione. Usalo per impostare standard di codifica, decisioni architettoniche, librerie preferite e checklist di revisione. Se il tuo repository ha già un `AGENTS.md` per altri agenti di codifica, Claude Code [può leggerlo](/docs/it/memory#agents-md) da solo o insieme a `CLAUDE.md`. Claude costruisce anche [memoria automatica](/docs/it/memory#auto-memory) mentre lavora, salvando insegnamenti tra le sessioni senza che tu debba scrivere nulla.176 [`CLAUDE.md`](/docs/it/memory) è un file markdown che aggiungi alla radice del tuo progetto che Claude Code legge all'inizio di ogni sessione. Usalo per impostare standard di codifica, decisioni architettoniche, librerie preferite e checklist di revisione. Se il tuo repository ha già un `AGENTS.md` per altri agenti di codifica, Claude Code [può leggerlo](/docs/it/memory#agents-md) al posto di un `CLAUDE.md`. Claude costruisce anche [memoria automatica](/docs/it/memory#auto-memory) mentre lavora, salvando insegnamenti tra le sessioni senza che tu debba scrivere nulla.

175 177 

176 Crea [skills](/docs/it/skills) per pacchettizzare flussi di lavoro ripetibili che il tuo team può condividere, come `/review-pr` o `/deploy-staging`.178 Crea [skills](/docs/it/skills) per pacchettizzare flussi di lavoro ripetibili che il tuo team può condividere, come `/review-pr` o `/deploy-staging`.

177 179 

Details

333 333 

334* **Piano**: Tutti i piani.334* **Piano**: Tutti i piani.

335* **Organizzazione**: su Team ed Enterprise, la modalità auto è disponibile per impostazione predefinita. Gli amministratori possono disattivarla per l'organizzazione impostando `permissions.disableAutoMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings).335* **Organizzazione**: su Team ed Enterprise, la modalità auto è disponibile per impostazione predefinita. Gli amministratori possono disattivarla per l'organizzazione impostando `permissions.disableAutoMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings).

336* **Modello**: sull'API Anthropic e [Claude Platform su AWS](/docs/it/claude-platform-on-aws), Claude Opus 4.6 o successivo, Sonnet 4.6 o successivo, o un [modello Fable](/docs/it/model-config#work-with-fable). Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, e i modelli Fable. I modelli più vecchi, inclusi Sonnet 4.5, Opus 4.5, Haiku e i modelli claude-3, non sono supportati su nessun provider.336* **Modello**: sull'API Anthropic e [Claude Platform su AWS](/docs/it/claude-platform-on-aws), Claude Opus 4.6 o successivo, Sonnet 4.6 o successivo, Haiku 5.5, o un [modello Fable](/docs/it/model-config#work-with-fable). Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, Haiku 5.5 e i modelli Fable. I modelli più vecchi, inclusi Sonnet 4.5, Opus 4.5, Haiku 4.5 e i modelli claude-3, non sono supportati su nessun provider.

337* **Provider**: disponibile per impostazione predefinita sull'API Anthropic, Claude Platform su AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni gateway di app Claude con accesso.337* **Provider**: disponibile per impostazione predefinita sull'API Anthropic, Claude Platform su AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni gateway di app Claude con accesso.

338 338 

339Se Claude Code segnala che la modalità auto non è disponibile, controlla prima questi requisiti e se un file di impostazioni imposta [`disableAutoMode`](/docs/it/settings-reference#disableautomode). Anthropic potrebbe anche aver disattivato la modalità auto lato server, oppure il server potrebbe aver rifiutato la modalità auto per il tuo account. Una sessione che ha ricevuto una di queste risposte mantiene la modalità auto disattivata fino al termine della sessione, quindi avvia una nuova sessione in seguito.339Se Claude Code segnala che la modalità auto non è disponibile, controlla prima questi requisiti e se un file di impostazioni imposta [`disableAutoMode`](/docs/it/settings-reference#disableautomode). Anthropic potrebbe anche aver disattivato la modalità auto lato server, oppure il server potrebbe aver rifiutato la modalità auto per il tuo account. Una sessione che ha ricevuto una di queste risposte mantiene la modalità auto disattivata fino al termine della sessione, quindi avvia una nuova sessione in seguito.


348 348 

349Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. Quando nient'altro imposta una modalità di permesso, è anche la [modalità di permesso iniziale integrata](#which-mode-a-session-starts-in), sulle versioni che la tabella di quella sezione elenca. Per scegliere tu stesso la modalità di permesso iniziale, imposta `permissions.defaultMode` come descrive [Inizia in una modalità di permesso diversa](#start-in-a-different-mode), o scegli una modalità di permesso dall'indicatore di modalità dell'estensione VS Code.349Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. Quando nient'altro imposta una modalità di permesso, è anche la [modalità di permesso iniziale integrata](#which-mode-a-session-starts-in), sulle versioni che la tabella di quella sezione elenca. Per scegliere tu stesso la modalità di permesso iniziale, imposta `permissions.defaultMode` come descrive [Inizia in una modalità di permesso diversa](#start-in-a-different-mode), o scegli una modalità di permesso dall'indicatore di modalità dell'estensione VS Code.

350 350 

351Solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, e i modelli Fable sono supportati su questi provider. Su qualsiasi altro modello, la sessione inizia invece in Manual.351Solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, Haiku 5.5 e i modelli Fable sono supportati su questi provider. Su qualsiasi altro modello, la sessione inizia invece in Manual. La modalità auto con Haiku 5.5 su questi provider richiede Claude Code v2.1.293 o successivo.

352 352 

353Per impedire agli sviluppatori di utilizzare la modalità auto, imposta `disableAutoMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings). Questo rimuove `auto` dal ciclo `Shift+Tab`, e una sessione avviata con `--permission-mode auto` inizia invece in Manual. Una sessione già in esecuzione in modalità auto la lascia quando l'impostazione raggiunge quella sessione da una [fonte distribuita dall'amministratore](/docs/it/managed-settings#which-managed-source-claude-code-uses), e mostra `auto mode disabled by settings`. Prima della v2.1.251, una sessione in esecuzione manteneva la modalità auto fino al termine.353Per impedire agli sviluppatori di utilizzare la modalità auto, imposta `disableAutoMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings). Questo rimuove `auto` dal ciclo `Shift+Tab`, e una sessione avviata con `--permission-mode auto` inizia invece in Manual. Una sessione già in esecuzione in modalità auto la lascia quando l'impostazione raggiunge quella sessione da una [fonte distribuita dall'amministratore](/docs/it/managed-settings#which-managed-source-claude-code-uses), e mostra `auto mode disabled by settings`. Prima della v2.1.251, una sessione in esecuzione manteneva la modalità auto fino al termine.

354 354 

plugin-evals.md +9 −5

Details

77 claude plugin eval init77 claude plugin eval init

78 ```78 ```

79 79 

80 Se Claude Code non ha già fiducia in questa directory, prima chiede `Trust this plugin directory?`; rispondi `y`. Una sessione Claude Code interattiva si apre quindi. Claude legge il tuo plugin e ti chiede quale sia un buon risultato, propone prompt che dovrebbero e non dovrebbero attivare il plugin, progetta grader per ognuno, li pilota una volta per controllare che si comportino, e scrive una directory di caso per prompt sotto `evals/`, ognuna denominata dal suo prompt. Quando Claude ti dice che la suite è pronta, esci da quella sessione con `/exit` o Ctrl+D per tornare alla tua shell.80 Se Claude Code non ha già fiducia in questa directory, prima chiede `Trust this plugin directory?`; rispondi `y`.

81 81 

82 Se hai già una sessione Claude Code aperta nella root del plugin, puoi invece chiedere a Claude di eseguire `claude plugin eval init`. Claude esegue il comando e poi ti pone le stesse domande in quella conversazione.82 Si apre quindi una sessione Claude Code interattiva. Claude legge il tuo plugin e ti chiede quale sia un buon risultato, propone prompt che dovrebbero e non dovrebbero attivare il plugin, progetta grader per ognuno, li esegue una volta come prova per controllare che si comportino correttamente, e scrive una directory di caso per prompt sotto `evals/`, ognuna denominata dal suo prompt.

83 

84 Quando Claude ti dice che la suite è pronta, esci da quella sessione con `/exit` o Ctrl+D per tornare alla tua shell.

85 

86 Se hai già una sessione Claude Code aperta nella root del plugin, puoi invece chiedere lì a Claude di eseguire `claude plugin eval init`. Claude esegue il comando e poi ti pone le stesse domande in quella conversazione.

83 87 

84 Se preferisci scrivere un caso tu stesso per vedere esattamente cosa contengono i file, segui [Scrivi un caso a mano](#write-a-case-manually) e torna qui per eseguirlo.88 Se preferisci scrivere un caso tu stesso per vedere esattamente cosa contengono i file, segui [Scrivi un caso a mano](#write-a-case-manually) e torna qui per eseguirlo.

85 </Step>89 </Step>


91 claude plugin eval .95 claude plugin eval .

92 ```96 ```

93 97 

94 Hai già fiducia in questa directory durante il passaggio 1, quindi l'esecuzione inizia immediatamente. Se hai scritto il caso a mano invece, l'esecuzione prima chiede `Trust this plugin directory? [y/N]`; rispondi `y`. [Cosa un'esecuzione può accedere](#security) spiega a cosa stai acconsentendo.98 Hai già dato fiducia a questa directory durante il passaggio 1, quindi l'esecuzione inizia immediatamente. Se hai scritto il caso a mano invece, l'esecuzione prima chiede `Trust this plugin directory? [y/N]`; rispondi `y`. [Cosa un'esecuzione può accedere](#security) spiega a cosa stai acconsentendo.

95 99 

96 Ogni caso viene eseguito tre volte con il tuo plugin e tre volte senza, quindi un caso è sei esecuzioni. Una linea di progresso viene stampata mentre ogni esecuzione finisce, con il punteggio di quella esecuzione e il verdetto di ogni grader.100 Ogni caso viene eseguito tre volte con il tuo plugin e tre volte senza, quindi un caso è sei esecuzioni. Una linea di progresso viene stampata mentre ogni esecuzione finisce, con il punteggio di quella esecuzione e il verdetto di ogni grader.

97 </Step>101 </Step>


114 <Step title="Apri il rapporto e itera">118 <Step title="Apri il rapporto e itera">

115 Apri l'URL `Published:`, o il percorso `Report:` quando non appare una linea `Published:`, per vedere il verdetto di ogni grader e la spiegazione per ogni esecuzione, e per i grader `llm` i voti del judge e l'estratto che ha valutato. La linea `Published:` appare solo quando il tuo account può [pubblicare rapporti](#html-report).119 Apri l'URL `Published:`, o il percorso `Report:` quando non appare una linea `Published:`, per vedere il verdetto di ogni grader e la spiegazione per ogni esecuzione, e per i grader `llm` i voti del judge e l'estratto che ha valutato. La linea `Published:` appare solo quando il tuo account può [pubblicare rapporti](#html-report).

116 120 

117 Il risultato più comune della prima ricerca è un `Δ` vicino a zero con il grader `tool_used: Skill` del caso che fallisce, il che significa che Claude non sta scegliendo la tua skill sulla formulazione naturale. Regola la [`description`](/docs/it/skills#frontmatter-reference) della skill, esegui di nuovo `claude plugin eval .`, e confronta.121 Il primo risultato più comune è un `Δ` vicino a zero con il grader `tool_used: Skill` del caso che fallisce, il che significa che Claude non sta scegliendo la tua skill sulla formulazione naturale. Regola la [`description`](/docs/it/skills#frontmatter-reference) della skill, esegui di nuovo `claude plugin eval .`, e confronta.

118 122 

119 Per iterare su un caso in modo economico, esegui un singolo arm una volta. Un'esecuzione singola è rumorosa, quindi conferma qualsiasi modifica alle tre esecuzioni predefinite prima di fidarti. Con un arm la tabella mostra colonne `SCORE` e `PASS%` invece di `WITH`, `W/OUT`, e `Δ`:123 Per iterare su un caso con meno esecuzioni, esegui un singolo arm una volta. Un'esecuzione singola è rumorosa, quindi conferma qualsiasi modifica alle tre esecuzioni predefinite prima di fidarti. Con un arm la tabella mostra colonne `SCORE` e `PASS%` invece di `WITH`, `W/OUT`, e `Δ`:

120 124 

121 ```bash theme={null}125 ```bash theme={null}

122 claude plugin eval . --case <case-name> --runs 1 --ablation none126 claude plugin eval . --case <case-name> --runs 1 --ablation none

Details

733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.

734```734```

735 735 

736Questo agente è denominato `my-plugin:security-reviewer`, e l'utente può [invocarlo esplicitamente](/docs/it/sub-agents#invoke-subagents-explicitly) con `@agent-my-plugin:security-reviewer`. La forma del nome è `<plugin>:<name>`, dove `<name>` viene dal frontmatter, o dal nome del file quando non c'è.736Questo agente è denominato `my-plugin:security-reviewer`, e l'utente può [invocarlo esplicitamente](/docs/it/sub-agents#invoke-subagents-explicitly) con `@agent-my-plugin:security-reviewer`. La forma del nome è `<plugin>:<name>`, dove `<name>` viene dal campo `name` del frontmatter, o dal nome del file quando quel campo manca.

737 737 

738La chiave manifest `agents` sostituisce la scansione `agents/`.738La chiave manifest `agents` sostituisce la scansione `agents/`.

739 739 

Details

428 428 

429| Elemento | Cosa disegna | Dove |429| Elemento | Cosa disegna | Dove |

430| :- | :- | :- |430| :- | :- | :- |

431| `Box` | Un contenitore flex. Accetta prop di layout come `flexDirection`, `columnGap`, `padding`, `borderStyle` e `width`. | Ovunque |431| `Box` | Un contenitore flex. Accetta prop di layout come `flexDirection`, `columnGap`, `padding`, [`borderStyle`](/docs/it/plugins/mods/reference#box-border-styles) e `width`. | Ovunque |

432| `Text` | Testo con stile. Accetta `color`, `bold`, `dimColor`, `italic` e `wrap`. Un `color` è una chiave del tema o un colore come `'red'`. Un `wrap` è `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` o `'truncate-end'`. | Ovunque |432| `Text` | Testo con stile. Accetta `color`, `bold`, `dimColor`, `italic` e `wrap`. Un `color` è una chiave del tema o un colore come `'red'`. Un `wrap` è `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` o `'truncate-end'`. | Ovunque |

433| `Button` | Un controllo che chiama `onPress` | Ovunque |433| `Button` | Un controllo che chiama `onPress` | Ovunque |

434| `Link`, `Code`, `Markdown` | Un link con `href` e un `label` facoltativo, un blocco di codice e testo formattato come le risposte di Claude. `Markdown` riceve il suo contenuto nella prop `text`, non in `children`, e richiede una `key` quando passi `onLinkPress`. | Ovunque |434| `Link`, `Code`, `Markdown` | Un link con `href` e un `label` facoltativo, un blocco di codice e testo formattato come le risposte di Claude. `Markdown` riceve il suo contenuto nella prop `text`, non in `children`, e richiede una `key` quando passi `onLinkPress`. | Ovunque |


563Molti pannelli sono un campo di testo con un elenco sotto. L'esempio in questa sezione è un pannello di note: digiti una nota e premi Invio per aggiungerla, e ogni nota ha un pulsante `x` che la elimina. Con due note aggiunte, il terminale disegna il pannello in questo modo:563Molti pannelli sono un campo di testo con un elenco sotto. L'esempio in questa sezione è un pannello di note: digiti una nota e premi Invio per aggiungerla, e ogni nota ha un pulsante `x` che la elimina. Con due note aggiunte, il terminale disegna il pannello in questo modo:

564 564 

565```text theme={null}565```text theme={null}

566╭──────────────────────────────────────────────────────────╮566╭────────────────────────────────────────────────────────✕─╮

567│ Note: Type a note and press Enter ⏎ add ✕ │567│ Note: Type a note and press Enter ⏎ add │

568│ x buy milk │568│ x buy milk │

569│ x call bob │569│ x call bob │

570╰──────────────────────────────────────────────────────────╯570╰──────────────────────────────────────────────────────────╯

571```571```

572 572 

573Il simbolo `✕` sul bordo superiore è il segno proprio di Claude Code per chiudere il pannello.

574 

573L'esempio usa queste tecniche:575L'esempio usa queste tecniche:

574 576 

575* **Ricevere input digitato**: un `Input` chiama `onSubmit(value)` con il testo del campo quando l'utente preme Invio, e `onInput(value)` a ogni modifica577* **Ricevere input digitato**: un `Input` chiama `onSubmit(value)` con il testo del campo quando l'utente preme Invio, e `onInput(value)` a ogni modifica

Details

242Per adattare un albero al suo punto, leggi queste prop nell'hook:242Per adattare un albero al suo punto, leggi queste prop nell'hook:

243 243 

244* **Larghezza di un `Pane` o della fascia**: disegna fino a `e.props.bodyColumns`244* **Larghezza di un `Pane` o della fascia**: disegna fino a `e.props.bodyColumns`

245* **Altezza di un `Pane` accanto alla trascrizione**: quando `e.props.placement` è `'dock'`, `e.props.scroll.bodyRows` è il numero di righe di cui dispone il pannello245* **Altezza di un `Pane` accanto alla trascrizione**: quando `e.props.placement` è `'dock'`, `e.props.scroll.bodyRows` è il numero di righe di cui dispone il pannello per il tuo albero

246* **Altezza di un `Pane` sopra il prompt**: quando `e.props.placement` è `'inline'`, il pannello cresce insieme al tuo albero fino a un limite, e `bodyRows` è quel limite. Il [campo `rows` di `$.ui.open`](/docs/it/plugins/mods/interface#open-a-pane-at-the-right-time) richiede un limite diverso.246* **Altezza di un `Pane` sopra il prompt**: quando `e.props.placement` è `'inline'`, il pannello cresce insieme al tuo albero fino a un limite, e `bodyRows` è quel limite. Il [campo `rows` di `$.ui.open`](/docs/it/plugins/mods/interface#open-a-pane-at-the-right-time) richiede un limite diverso.

247 247 

248Un albero più alto del pannello scorre nel suo insieme.248Un albero più alto del pannello scorre nel suo insieme.


255 255 

256| Elemento | Prop principali | Terminale | Desktop |256| Elemento | Prop principali | Terminale | Desktop |

257| :- | :- | :-: | :-: |257| :- | :- | :-: | :-: |

258| [`Box`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, `gap`, `padding`, `margin`, `width`, `height`, `borderStyle`, `backgroundColor`, `position`, `hover` | ✓ | ✓ |258| [`Box`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |

259| [`Text`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |259| [`Text`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |

260| [`Button`](/docs/it/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |260| [`Button`](/docs/it/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |

261| `Link` | `href`, `label` | ✓ | ✓ |261| `Link` | `href`, `label` | ✓ | ✓ |


270 270 

271Altre regole per `Button`: `action` indica una delle [scorciatoie da tastiera](/docs/it/keybindings) di Claude Code, e la combinazione assegnata dall'utente a quell'azione preme il pulsante quando si tratta di un accordo o di un tasto con modificatore. Un `hotkey` numerico su un pulsante nella banda si attiva anche quando l'utente digita solo quella cifra in un prompt vuoto e si ferma. Quando due pulsanti nello stesso disegno indicano lo stesso `hotkey`, lo ottiene quello successivo. `autoFocus` accetta solo `true` su qualsiasi controllo, quindi ometti la prop per lasciarlo disattivato.271Altre regole per `Button`: `action` indica una delle [scorciatoie da tastiera](/docs/it/keybindings) di Claude Code, e la combinazione assegnata dall'utente a quell'azione preme il pulsante quando si tratta di un accordo o di un tasto con modificatore. Un `hotkey` numerico su un pulsante nella banda si attiva anche quando l'utente digita solo quella cifra in un prompt vuoto e si ferma. Quando due pulsanti nello stesso disegno indicano lo stesso `hotkey`, lo ottiene quello successivo. `autoFocus` accetta solo `true` su qualsiasi controllo, quindi ometti la prop per lasciarlo disattivato.

272 272 

273<h3 id="box-border-styles">

274 Stili del bordo di `Box`

275</h3>

276 

277Per disegnare un bordo attorno a un `Box`, imposta la sua `borderStyle` su uno di questi nomi, come in `borderStyle: 'round'`. Ogni riga indica cosa disegna il terminale per quel nome e mostra il bordo superiore.

278 

279| `borderStyle` | Cosa disegna il terminale | Bordo superiore |

280| :- | :- | :- |

281| `'single'` | Linee sottili con angoli squadrati | `┌──┐` |

282| `'double'` | Linee doppie | `╔══╗` |

283| `'round'` | Linee sottili con angoli arrotondati | `╭──╮` |

284| `'bold'` | Linee spesse | `┏━━┓` |

285| `'singleDouble'` | Linee sottili in alto e in basso, linee doppie sui lati | `╓──╖` |

286| `'doubleSingle'` | Linee doppie in alto e in basso, linee sottili sui lati | `╒══╕` |

287| `'classic'` | I caratteri ASCII `+`, `-` e `\|` | `+--+` |

288| `'arrow'` | Frecce che puntano verso l'interno del `Box` | `↘↓↓↙` |

289| `'dashed'` | Linee tratteggiate con angoli vuoti | `╌╌` |

290| `'quote'` | Una barra, `▎`, lungo il lato sinistro e celle vuote sugli altri tre lati | Vuoto |

291 

292Un `Box` la cui `borderStyle` indica qualsiasi altro nome, come `'rounded'`, viene disegnato senza bordo.

293 

273<h2 id="limits">294<h2 id="limits">

274 Limiti295 Limiti

275</h2>296</h2>

Details

17 17 

18 * **Perché gli ambiti, la cache e la precedenza si comportano nel modo in cui lo fanno**: leggi [Plugin loading reference](/docs/it/plugins/loading)18 * **Perché gli ambiti, la cache e la precedenza si comportano nel modo in cui lo fanno**: leggi [Plugin loading reference](/docs/it/plugins/loading)

19 * **Ricerca di un flag, un campo o un comando**: utilizza il [plugin commands reference](/docs/it/plugins/cli-reference), il [manifest reference](/docs/it/plugins/manifest-reference) o il [marketplace reference](/docs/it/plugins/marketplace-reference)19 * **Ricerca di un flag, un campo o un comando**: utilizza il [plugin commands reference](/docs/it/plugins/cli-reference), il [manifest reference](/docs/it/plugins/manifest-reference) o il [marketplace reference](/docs/it/plugins/marketplace-reference)

20 * **Un messaggio `hooks module not loaded` o `hooks module did not load`**: il plugin è un [mod](/docs/it/plugins/mods/overview), quindi leggi [The mod doesn't load](/docs/it/plugins/mods/troubleshoot#the-mod-doesn’t-load)

20</Note>21</Note>

21 22 

22Cerca il messaggio esatto che hai visto. Ogni messaggio è elencato sotto la fase che lo produce, che non è sempre il comando che hai eseguito. Ad esempio, un'installazione può fallire perché manca un marketplace, quindi quel messaggio è sotto [Add a marketplace](#add-a-marketplace).23Cerca il messaggio esatto che hai visto. Ogni messaggio è elencato sotto la fase che lo produce, che non è sempre il comando che hai eseguito. Ad esempio, un'installazione può fallire perché manca un marketplace, quindi quel messaggio è sotto [Add a marketplace](#add-a-marketplace).

prompt-caching.md +27 −27

Details

14 Come è organizzata la cache14 Come è organizzata la cache

15</h2>15</h2>

16 16 

17Ogni volta che inviate un messaggio in Claude Code, viene effettuata una nuova richiesta API. Il modello non ricorda nulla tra le richieste, quindi Claude Code invia di nuovo il contesto completo: il prompt di sistema, il contesto del vostro progetto, ogni messaggio precedente e risultato dello strumento, e il vostro nuovo messaggio. I nuovi contenuti vengono aggiunti alla fine, il che significa che la maggior parte di ogni richiesta è identica a quella precedente. Il prompt caching è il modo in cui l'API evita di rielaborare la parte che non è cambiata.17Ogni volta che invii un messaggio in Claude Code, viene effettuata una nuova richiesta API. Il modello non ricorda nulla tra le richieste, quindi Claude Code invia di nuovo il contesto completo: il prompt di sistema, il contesto del tuo progetto, ogni messaggio precedente e risultato dello strumento, e il tuo nuovo messaggio. I nuovi contenuti vengono aggiunti alla fine, il che significa che la maggior parte di ogni richiesta è identica a quella precedente. Il prompt caching è il modo in cui l'API evita di rielaborare la parte che non è cambiata.

18 18 

19L'API memorizza nella cache confrontando l'inizio di ogni richiesta, chiamato prefisso, con il contenuto che ha elaborato di recente. In un turno normale, il prefisso è l'intera richiesta precedente e solo lo scambio più recente è nuovo. La corrispondenza è esatta, quindi una modifica in qualsiasi punto del prefisso ricalcola tutto ciò che viene dopo. Non esiste una cache per file o per segmento. Consultate [come funziona il prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#how-prompt-caching-works) nel riferimento API per il meccanismo sottostante.19L'API memorizza nella cache confrontando l'inizio di ogni richiesta, chiamato prefisso, con il contenuto che ha elaborato di recente. In un turno normale, il prefisso è l'intera richiesta precedente e solo lo scambio più recente è nuovo. La corrispondenza è esatta, quindi una modifica in qualsiasi punto del prefisso ricalcola tutto ciò che viene dopo. Non esiste una cache per file o per segmento. Consulta [come funziona il prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#how-prompt-caching-works) nel riferimento API per il meccanismo sottostante.

20 20 

21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Quattro turni mostrati come barre orizzontali crescenti. La richiesta di ogni turno contiene tutto dal turno precedente più lo scambio più recente aggiunto alla fine. Nei turni due e tre, il prefisso invariato viene letto dalla cache e solo il nuovo scambio viene elaborato. Nel turno quattro, il prompt di sistema è cambiato, quindi il prefisso non corrisponde più e l'intera richiesta viene rielaborata e scritta." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Quattro turni mostrati come barre orizzontali crescenti. La richiesta di ogni turno contiene tutto dal turno precedente più lo scambio più recente aggiunto alla fine. Nei turni due e tre, il prefisso invariato viene letto dalla cache e solo il nuovo scambio viene elaborato. Nel turno quattro, il prompt di sistema è cambiato, quindi il prefisso non corrisponde più e l'intera richiesta viene rielaborata e scritta." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />

22 22 


26 26 

27| Layer | Contenuto | Cambia quando |27| Layer | Contenuto | Cambia quando |

28| - | - | - |28| - | - | - |

29| System prompt | Istruzioni principali, definizioni degli strumenti | L'insieme delle definizioni degli strumenti caricati cambia |29| Prompt di sistema | Istruzioni principali, definizioni degli strumenti | L'insieme delle definizioni degli strumenti caricati cambia |

30| Project context | CLAUDE.md, memoria automatica, regole non scoped | La sessione inizia, oppure dopo `/clear` o `/compact` |30| Contesto del progetto | CLAUDE.md, memoria automatica, regole non scoped | La sessione inizia, oppure dopo `/clear` o `/compact` |

31| Conversation | I vostri messaggi, le risposte di Claude, i risultati degli strumenti | Ogni turno |31| Conversazione | I tuoi messaggi, le risposte di Claude, i risultati degli strumenti | Ogni turno |

32 32 

33Una modifica al layer della conversazione lascia il prompt di sistema e il contesto del progetto memorizzati nella cache. Una modifica al prompt di sistema invalida tutto, perché tutto il contenuto successivo si trova ora dietro un prefisso diverso. La terza colonna fornisce trigger comuni piuttosto che un elenco esaustivo, e le sezioni seguenti coprono l'insieme completo.33Una modifica al layer della conversazione lascia il prompt di sistema e il contesto del progetto memorizzati nella cache. Una modifica al prompt di sistema invalida tutto, perché tutto il contenuto successivo si trova ora dietro un prefisso diverso. La terza colonna fornisce trigger comuni piuttosto che un elenco esaustivo, e le sezioni seguenti coprono l'insieme completo.

34 34 

35La regola di corrispondenza del prefisso spiega la maggior parte dei comportamenti su questa pagina. [Plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) e [skill loading](/docs/it/skills), ad esempio, aggiungono le loro istruzioni come messaggi di conversazione, quindi il prefisso memorizzato nella cache rimane intatto.35La regola di corrispondenza del prefisso spiega la maggior parte dei comportamenti su questa pagina. Il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) e il [caricamento delle skill](/docs/it/skills), ad esempio, aggiungono le loro istruzioni come messaggi di conversazione, quindi il prefisso memorizzato nella cache rimane intatto.

36 36 

37Due impostazioni non compaiono nella tabella dei layer ma influiscono comunque su ciò che rimane memorizzato nella cache:37Due impostazioni non compaiono nella tabella dei layer ma influiscono comunque su ciò che rimane memorizzato nella cache:

38 38 

39* **Model**: ogni modello ha la propria cache. Cambiare modello ricalcola l'intera richiesta anche quando il contenuto è identico. Consultate [Switching models](#switching-models) di seguito.39* **Modello**: ogni modello ha la propria cache. Cambiare modello ricalcola l'intera richiesta anche quando il contenuto è identico. Consulta [Cambiare modello](#switching-models) di seguito.

40* **Effort level**: sulla maggior parte dei modelli, ogni livello di sforzo ha la propria cache, quindi cambiare lo sforzo a metà sessione ricalcola l'intera richiesta. Su Opus 5.5, Sonnet 5.5 e Fable 5.1 con una chiave API o un abbonamento Claude, la cache rimane intatta per impostazione predefinita. Consultate [Changing effort level](#changing-effort-level) di seguito.40* **Livello di sforzo**: sulla maggior parte dei modelli, ogni livello di sforzo ha la propria cache, quindi cambiare lo sforzo a metà sessione ricalcola l'intera richiesta. Su Opus 5.5, Sonnet 5.5, Haiku 5.5 e Fable 5.1 con una chiave API o un abbonamento Claude, la cache rimane intatta per impostazione predefinita. Consulta [Cambiare il livello di sforzo](#changing-effort-level) di seguito.

41 41 

42<Tip>42<Tip>

43 Scegliete il vostro modello e il livello di sforzo all'inizio di una sessione, quindi riservate `/compact` per le pause naturali tra i compiti. Meno modifiche apportate a metà compito, più alto sarà il vostro tasso di cache hit.43 Scegli il tuo modello e il livello di sforzo all'inizio di una sessione, quindi riserva `/compact` per le pause naturali tra i compiti. Meno modifiche apporti a metà compito, più alto sarà il tuo tasso di cache hit.

44</Tip>44</Tip>

45 45 

46<h3 id="where-the-cache-lives">46<h3 id="where-the-cache-lives">

47 Dove vive la cache47 Dove vive la cache

48</h3>48</h3>

49 49 

50La memorizzazione nella cache avviene lato server, nell'infrastruttura che serve il vostro modello. Dove si trova dipende da come vi autenticate:50La memorizzazione nella cache avviene lato server, nell'infrastruttura che serve il tuo modello. Dove si trova dipende da come ti autentichi:

51 51 

52* **API key, Claude subscription, o [Claude Platform on AWS](/docs/it/claude-platform-on-aws)**: la cache vive nell'infrastruttura di Anthropic, accessibile tramite [Claude API](https://platform.claude.com/docs)52* **Chiave API, abbonamento Claude o [Claude Platform on AWS](/docs/it/claude-platform-on-aws)**: la cache vive nell'infrastruttura di Anthropic, accessibile tramite la [Claude API](https://platform.claude.com/docs)

53* **Amazon Bedrock o Google Cloud's Agent Platform**: la cache vive nell'infrastruttura di servizio del vostro provider cloud53* **Amazon Bedrock o Agent Platform di Google Cloud**: la cache vive nell'infrastruttura di servizio del tuo provider cloud

54* **Microsoft Foundry**: dipende dall'[hosting option](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) della distribuzione. Le distribuzioni ospitate su Azure vengono servite sull'infrastruttura Azure; le distribuzioni ospitate su Anthropic vengono servite sull'infrastruttura di Anthropic54* **Microsoft Foundry**: dipende dall'[opzione di hosting](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) del deploy. I deploy Hosted on Azure vengono serviti sull'infrastruttura Azure; i deploy Hosted on Anthropic vengono serviti sull'infrastruttura di Anthropic

55* **Custom `ANTHROPIC_BASE_URL` o [LLM gateway](/docs/it/llm-gateway)**: la cache vive ovunque le vostre richieste vengono inoltrate, e se il caching funziona dipende dal gateway55* **`ANTHROPIC_BASE_URL` personalizzato o [LLM gateway](/docs/it/llm-gateway)**: la cache vive ovunque le tue richieste vengano inoltrate, e se il caching funziona dipende dal gateway

56 56 

57Claude Code aggiunge anche il contesto di sistema a metà conversazione, come notifiche di cambio file, e contrassegna quel blocco per la memorizzazione nella cache su ogni provider e connessione a meno che non impostiate [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities), nel qual caso quel blocco viene inviato senza cache.57Claude Code aggiunge anche il contesto di sistema a metà conversazione, come notifiche di cambio file, e contrassegna quel blocco per la memorizzazione nella cache su ogni provider e connessione a meno che tu non imposti [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities), nel qual caso quel blocco viene inviato senza cache.

58 58 

59All'endpoint proprio del provider, Amazon Bedrock e il suo [Mantle endpoint](/docs/it/amazon-bedrock#use-the-mantle-endpoint), Google Cloud's Agent Platform, e Microsoft Foundry memorizzano nella cache il blocco nello stesso modo in cui lo fa Claude API.59All'endpoint proprio del provider, Amazon Bedrock e il suo [endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint), Agent Platform di Google Cloud e Microsoft Foundry memorizzano nella cache il blocco nello stesso modo in cui lo fa la Claude API.

60 60 

61Quando le vostre richieste passano attraverso un [LLM gateway](/docs/it/llm-gateway), un `ANTHROPIC_BASE_URL` personalizzato, o un override di URL di base del provider cloud come [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/it/env-vars), ciò che rimane memorizzato nella cache dipende da come il gateway gestisce i [marcatori `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) che Claude Code invia:61Quando le tue richieste passano attraverso un [LLM gateway](/docs/it/llm-gateway), un `ANTHROPIC_BASE_URL` personalizzato, o un override dell'URL di base del provider cloud come [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/it/env-vars), ciò che rimane memorizzato nella cache dipende da come il gateway gestisce i [marcatori `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) che Claude Code invia:

62 62 

63* **Li inoltra invariati**: il blocco e la vostra conversazione vengono memorizzati nella cache nello stesso modo dell'endpoint proprio del provider.63* **Li inoltra invariati**: il blocco e la tua conversazione vengono memorizzati nella cache nello stesso modo dell'endpoint proprio del provider.

64* **Rifiuta la richiesta contrassegnata con un errore `400` che nomina `cache_control`**: Claude Code invia di nuovo la richiesta con il marcatore spostato dal blocco al vostro ultimo messaggio di conversazione, e lo mantiene lì per il resto della conversazione. Il blocco viene fatturato come input non memorizzato nella cache; la vostra conversazione rimane memorizzata nella cache.64* **Rifiuta la richiesta contrassegnata con un errore `400` che nomina `cache_control`**: Claude Code invia di nuovo la richiesta con il marcatore spostato dal blocco al tuo ultimo messaggio di conversazione, e lo mantiene lì per il resto della conversazione. Il blocco viene fatturato come input non memorizzato nella cache; la tua conversazione rimane memorizzata nella cache.

65* **Rimuove i marcatori mentre restituisce il successo**: l'intera cronologia della conversazione viene fatturata come input non memorizzato nella cache ad ogni turno. Un gateway che converte il contenuto del sistema in forma di blocco in una stringa semplice rilascia il marcatore nello stesso modo.65* **Rimuove i marcatori mentre restituisce il successo**: l'intera cronologia della conversazione viene fatturata come input non memorizzato nella cache a ogni turno. Un gateway che converte il contenuto di sistema in forma di blocco in una stringa semplice elimina il marcatore nello stesso modo.

66 66 

67Per ciò che ogni provider memorizza ed elabora, consultate [data usage](/docs/it/data-usage). Ovunque viva la cache, le voci scadono dopo un periodo di inattività, e [Cache lifetime](#cache-lifetime) di seguito copre il TTL e come estenderlo.67Per ciò che ogni provider memorizza ed elabora, consulta [utilizzo dei dati](/docs/it/data-usage). Ovunque viva la cache, le voci scadono dopo un periodo di inattività, e [Durata della cache](#cache-lifetime) di seguito copre il TTL e come estenderlo.

68 68 

69<h2 id="actions-that-invalidate-the-cache">69<h2 id="actions-that-invalidate-the-cache">

70 Azioni che invalidano la cache70 Azioni che invalidano la cache


94 94 

95Puoi anche richiedere questa conferma o saltarla con un [hook PreModelSwitch](/docs/it/hooks#premodelswitch-decision-control).95Puoi anche richiedere questa conferma o saltarla con un [hook PreModelSwitch](/docs/it/hooks#premodelswitch-decision-control).

96 96 

97L'[impostazione del modello `opusplan`](/docs/it/model-config#opusplan-model-setting) si risolve in Opus durante la modalità piano e Sonnet durante l'esecuzione, quindi ogni attivazione/disattivazione della modalità piano è un cambio di modello e avvia una cache nuova.97L'[impostazione del modello `opusplan`](/docs/it/model-config#opusplan-model-setting) si risolve in Opus durante il plan mode e Sonnet durante l'esecuzione, quindi ogni attivazione/disattivazione del plan mode è un cambio di modello e avvia una cache nuova.

98 98 

99[Il fallback automatico del modello](/docs/it/model-config#automatic-model-fallback) sui modelli Fable, Opus 5.5, Sonnet 5.5 e Opus 5 è anche un cambio di modello. Quando un classificatore di sicurezza contrassegna una richiesta in una categoria che ha un modello di fallback, Claude Code riesegue la richiesta su quel modello e la sessione continua lì.99[Il fallback automatico del modello](/docs/it/model-config#automatic-model-fallback) sui modelli Fable, Opus 5.5, Sonnet 5.5 e Opus 5 è anche un cambio di modello. Quando un classificatore di sicurezza segnala una richiesta in una categoria che ha un modello di fallback, Claude Code riesegue la richiesta su quel modello e la sessione continua lì.

100 100 

101Quando il frontmatter di una skill o di un comando nomina un [`model`](/docs/it/skills#frontmatter-reference) diverso dal modello corrente della sessione, quel turno è anche un cambio di modello: la richiesta successiva legge l'intera cronologia della conversazione senza cache hit. Il modello della sessione riprende al tuo prossimo prompt. Una skill `context: fork` imposta il [modello del subagent con fork](/docs/it/skills#run-skills-in-a-subagent) invece.101Quando il frontmatter di una skill o di un comando nomina un [`model`](/docs/it/skills#frontmatter-reference) diverso dal modello corrente della sessione, quel turno è anche un cambio di modello: la richiesta successiva legge l'intera cronologia della conversazione senza cache hit. Il modello della sessione riprende al tuo prossimo prompt. Una skill `context: fork` imposta il [modello del subagent con fork](/docs/it/skills#run-skills-in-a-subagent) invece.

102 102 


106 106 

107Sulla maggior parte dei modelli, modificare il [livello di sforzo](/docs/it/model-config#adjust-effort-level) a metà sessione significa che la richiesta successiva legge l'intera cronologia della conversazione senza cache hit. Mentre la cache è ancora calda, Claude Code ti chiede di confermare il cambio prima.107Sulla maggior parte dei modelli, modificare il [livello di sforzo](/docs/it/model-config#adjust-effort-level) a metà sessione significa che la richiesta successiva legge l'intera cronologia della conversazione senza cache hit. Mentre la cache è ancora calda, Claude Code ti chiede di confermare il cambio prima.

108 108 

109Su Opus 5.5, Sonnet 5.5 e Fable 5.1 con una chiave API o un abbonamento Claude, modificare lo sforzo mantiene la cache, e Claude Code applica il nuovo livello senza chiedere. Questo non si applica su Amazon Bedrock, su Google Cloud's Agent Platform, o su un [gateway di app Claude](/docs/it/claude-apps-gateway), o quando imposti [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) o la tua organizzazione ha una configurazione HIPAA.109Su Opus 5.5, Sonnet 5.5, Haiku 5.5 e Fable 5.1 con una chiave API o un abbonamento Claude, modificare lo sforzo mantiene la cache, e Claude Code applica il nuovo livello senza chiedere. Questo non si applica su Amazon Bedrock, su Google Cloud's Agent Platform, o su un [gateway di app Claude](/docs/it/claude-apps-gateway), o quando imposti [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) o la tua organizzazione ha una configurazione HIPAA.

110 110 

111Prima della v2.1.260, modificare lo sforzo su Fable 5.1 con una chiave API o un abbonamento Claude invalidava anche la cache.111Prima della v2.1.260, modificare lo sforzo su Fable 5.1 con una chiave API o un abbonamento Claude invalidava anche la cache.

112 112 


116 116 

117L'abilitazione della [modalità veloce](/docs/it/fast-mode) aggiunge un'intestazione di richiesta che fa parte della chiave di cache, quindi la prima richiesta che Claude Code invia con la modalità veloce attiva legge l'intera cronologia della conversazione senza cache hit. Claude Code imposta quell'intestazione una volta quando inizia un turno e la mantiene per l'intero turno, quindi quando attivi la modalità veloce mentre Claude sta lavorando, il cache miss dall'intestazione si verifica sulla prima richiesta del tuo turno successivo. Quei token di input non memorizzati nella cache vengono fatturati alle [tariffe della modalità veloce](/docs/it/fast-mode#understand-the-cost-tradeoff), motivo per cui attivare la modalità veloce all'inizio di una sessione costa meno che attivarla in profondità in una sessione lunga. Se il tuo modello attuale non supporta la modalità veloce, l'abilitazione della modalità veloce [cambia anche il tuo modello](#switching-models), e quel cambio avvia una cache nuova dalla richiesta successiva nel turno in esecuzione.117L'abilitazione della [modalità veloce](/docs/it/fast-mode) aggiunge un'intestazione di richiesta che fa parte della chiave di cache, quindi la prima richiesta che Claude Code invia con la modalità veloce attiva legge l'intera cronologia della conversazione senza cache hit. Claude Code imposta quell'intestazione una volta quando inizia un turno e la mantiene per l'intero turno, quindi quando attivi la modalità veloce mentre Claude sta lavorando, il cache miss dall'intestazione si verifica sulla prima richiesta del tuo turno successivo. Quei token di input non memorizzati nella cache vengono fatturati alle [tariffe della modalità veloce](/docs/it/fast-mode#understand-the-cost-tradeoff), motivo per cui attivare la modalità veloce all'inizio di una sessione costa meno che attivarla in profondità in una sessione lunga. Se il tuo modello attuale non supporta la modalità veloce, l'abilitazione della modalità veloce [cambia anche il tuo modello](#switching-models), e quel cambio avvia una cache nuova dalla richiesta successiva nel turno in esecuzione.

118 118 

119Il costo si applica una volta per conversazione. Dopo il primo turno in modalità veloce, Claude Code continua a inviare l'intestazione e varia solo l'impostazione di velocità della richiesta, che non fa parte della chiave di cache. Disattivare la modalità veloce, il [fallback automatico alla velocità standard](/docs/it/fast-mode#handle-rate-limits) dopo un limite di velocità, e riattivarla in seguito mantengono tutti la cache. Se [esaurisci i crediti di utilizzo](/docs/it/fast-mode#handle-rate-limits) a metà sessione, Claude Code ritenta ogni richiesta in modalità veloce rifiutata alla velocità standard nello stesso modo, quindi questo fallback mantiene anche la cache. `/clear` e `/compact` ripristinano questo, poiché ricostruiscono la cache in quei punti comunque.119Il costo si applica una volta per conversazione. Dopo il primo turno in modalità veloce, Claude Code continua a inviare l'intestazione e varia solo l'impostazione di velocità della richiesta, che non fa parte della chiave di cache. Disattivare la modalità veloce, il [fallback automatico alla velocità standard](/docs/it/fast-mode#handle-rate-limits) dopo un rate limit, e riattivarla in seguito mantengono tutti la cache. Se [esaurisci i crediti di utilizzo](/docs/it/fast-mode#handle-rate-limits) a metà sessione, Claude Code riprova ogni richiesta in modalità veloce rifiutata alla velocità standard nello stesso modo, quindi questo fallback mantiene anche la cache. `/clear` e `/compact` ripristinano questo, poiché ricostruiscono la cache in quei punti comunque.

120 120 

121<h3 id="connecting-or-removing-an-mcp-server">121<h3 id="connecting-or-removing-an-mcp-server">

122 Connessione o rimozione di un server MCP122 Connessione o rimozione di un server MCP


310 310 

311Su un piano Pro o Max, quando riprendi una sessione di grandi dimensioni dopo una lunga pausa, Claude Code [offre di riprendere da un riepilogo](/docs/it/sessions#resume-from-a-summary) in modo che le richieste successive non portino la cronologia completa.311Su un piano Pro o Max, quando riprendi una sessione di grandi dimensioni dopo una lunga pausa, Claude Code [offre di riprendere da un riepilogo](/docs/it/sessions#resume-from-a-summary) in modo che le richieste successive non portino la cronologia completa.

312 312 

313Il time to live (TTL) controlla per quanto tempo un intervallo la cache sopravvive. L'API offre due: un TTL di cinque minuti e un [TTL di un'ora](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration) che mantiene la cache calda attraverso pause più lunghe ma [fattura le scritture della cache a una velocità più elevata](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Il TTL più lungo aiuta quando lasci una sessione inattiva e torni ad essa, perché salti la rielaborazione che un prefisso scaduto comporta. Costa di più su brevi raffiche di lavoro che non rimangono mai inattive oltre cinque minuti, dove si applica la velocità di scrittura più elevata e la durata della cache più lunga rimane inutilizzata.313Il time to live (TTL) determina per quanto tempo di inattività la cache sopravvive. L'API ne offre due: un TTL di cinque minuti e un [TTL di un'ora](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration) che mantiene la cache calda durante pause più lunghe ma [applica una tariffa più elevata alle scritture nella cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Il TTL più lungo è utile quando lasci una sessione inattiva e poi ci torni, perché eviti la rielaborazione che un prefisso scaduto comporta. Costa di più nelle brevi sessioni di lavoro che non restano mai inattive oltre cinque minuti, dove si applica la tariffa di scrittura più elevata e la durata più lunga della cache rimane inutilizzata.

314 314 

315<h3 id="which-ttl-each-request-gets">315<h3 id="which-ttl-each-request-gets">

316 Which TTL each request gets316 Which TTL each request gets


328| Main conversation | One hour | Five minutes |328| Main conversation | One hour | Five minutes |

329| Everything else | Five minutes, except the server-controlled helper requests, which get one hour | Five minutes |329| Everything else | Five minutes, except the server-controlled helper requests, which get one hour | Five minutes |

330 330 

331Una volta superato il limite di utilizzo del tuo piano e Claude Code attinge ai [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), ti viene fatturato quell'utilizzo, quindi Claude Code abbassa la conversazione principale al TTL di cinque minuti più economico. Per mantenere il TTL di un'ora lì, [scegli il TTL tu stesso](#choose-the-ttl-yourself).331Una volta superato il limite di utilizzo del tuo piano, quando Claude Code attinge ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), quell'utilizzo ti viene fatturato, quindi Claude Code porta la conversazione principale al TTL di cinque minuti, che applica una tariffa più bassa alle scritture nella cache. Per mantenere il TTL di un'ora in quel caso, [scegli tu il TTL](#choose-the-ttl-yourself).

332 332 

333<h3 id="choose-the-ttl-yourself">333<h3 id="choose-the-ttl-yourself">

334 Choose the TTL yourself334 Choose the TTL yourself

quickstart.md +76 −110

Details

4 4 

5# Guida rapida5# Guida rapida

6 6 

7> Benvenuto in Claude Code!7> Installa Claude Code nel tuo terminale, accedi e usa la CLI per esplorare il tuo codebase e apportare la tua prima modifica al codice.

8 8 

9Questa guida rapida ti permetterà di utilizzare l'assistenza alla codifica basata su IA in pochi minuti. Alla fine, comprenderai come utilizzare Claude Code per le attività di sviluppo comuni.9Questa guida rapida tratta Claude Code nel tuo terminale: l'installazione della CLI, l'accesso dalla tua prima sessione e il suo utilizzo per le attività di sviluppo comuni nel tuo progetto.

10 10 

11<h2 id="before-you-begin">11<h2 id="before-you-begin">

12 Prima di iniziare12 Prima di iniziare


15Assicurati di avere:15Assicurati di avere:

16 16 

17* Un terminale o un prompt dei comandi aperto17* Un terminale o un prompt dei comandi aperto

18 * Se non hai mai utilizzato il terminale prima, consulta la [guida del terminale](/docs/it/terminal-guide)

19* Un progetto di codice con cui lavorare18* Un progetto di codice con cui lavorare

20* Un [abbonamento Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team o Enterprise), un account [Claude Console](https://platform.claude.com/) o accesso tramite un [provider cloud supportato](/docs/it/third-party-integrations)19* Un [abbonamento Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team o Enterprise), un account [Claude Console](https://platform.claude.com/) o accesso tramite un [provider cloud supportato](/docs/it/third-party-integrations)

21 20 

22<Note>21<Note>

23 Questa guida copre il CLI del terminale. Claude Code è disponibile anche sul [web](https://claude.ai/code), come [app desktop](/docs/it/desktop), in [VS Code](/docs/it/vs-code) e [IDE JetBrains](/docs/it/jetbrains), in [Slack](/docs/it/slack) e in CI/CD con [GitHub Actions](/docs/it/github-actions) e [GitLab](/docs/it/gitlab-ci-cd). Vedi [tutte le interfacce](/docs/it/overview#use-claude-code-everywhere).22 Questi casi sono trattati in altre pagine:

23 

24 * **Non hai mai usato un terminale**: inizia dalla [guida del terminale](/docs/it/terminal-guide)

25 * **Vuoi usare Claude Code in un ambiente diverso dal terminale**: Claude Code è disponibile anche sul [web](https://claude.ai/code), come [app desktop](/docs/it/desktop), in [VS Code](/docs/it/vs-code) e [IDE JetBrains](/docs/it/jetbrains), in [Slack](/docs/it/slack) e in CI/CD con [GitHub Actions](/docs/it/github-actions) e [GitLab](/docs/it/gitlab-ci-cd). Vedi [tutte le interfacce](/docs/it/overview#use-claude-code-everywhere).

24</Note>26</Note>

25 27 

26<h2 id="step-1-install-claude-code">28<h2 id="step-1-install-claude-code">


33 <Tab title="Installazione nativa (consigliata)">35 <Tab title="Installazione nativa (consigliata)">

34 **macOS, Linux, WSL:**36 **macOS, Linux, WSL:**

35 37 

36 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}38 ```bash theme={null}

37 curl -fsSL https://claude.ai/install.sh | bash39 curl -fsSL https://claude.ai/install.sh | bash

38 ```40 ```

39 41 

42 Su Windows, il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.

43 

40 **Windows PowerShell:**44 **Windows PowerShell:**

41 45 

42 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}46 ```powershell theme={null}

43 irm https://claude.ai/install.ps1 | iex47 irm https://claude.ai/install.ps1 | iex

44 ```48 ```

45 49 

46 **Windows CMD:**50 **Windows CMD:**

47 51 

48 ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}52 ```batch theme={null}

49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```54 ```

51 55 

52 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).56 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).

53 57 

54 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell. Il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.58 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell.

55 59 

56 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403`, o un altro errore curl, consulta [Troubleshoot installation](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.60 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403` o qualsiasi altro errore, consulta [Risoluzione dei problemi di installazione](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.

57 61 

58 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.62 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.

59 63 


63 </Tab>67 </Tab>

64 68 

65 <Tab title="Homebrew">69 <Tab title="Homebrew">

66 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}70 ```bash theme={null}

67 brew install --cask claude-code71 brew install --cask claude-code

68 ```72 ```

69 73 


75 </Tab>79 </Tab>

76 80 

77 <Tab title="WinGet">81 <Tab title="WinGet">

78 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}82 ```powershell theme={null}

79 winget install Anthropic.ClaudeCode83 winget install Anthropic.ClaudeCode

80 ```84 ```

81 85 


95 99 

96Il comando stampa un numero di versione seguito da `(Claude Code)`.100Il comando stampa un numero di versione seguito da `(Claude Code)`.

97 101 

98<h2 id="step-2-log-in-to-your-account">102<h2 id="step-2-start-your-first-session">

99 Passaggio 2: Accedi al tuo account103 Passaggio 2: Avvia la tua prima sessione

100</h2>104</h2>

101 105 

102Claude Code richiede un account per essere utilizzato. Avvia una sessione interattiva con il comando `claude` e ti verrà chiesto di effettuare l'accesso al primo utilizzo:106Apri il terminale in qualsiasi directory di progetto e avvia Claude Code:

103 107 

104```bash theme={null}108```bash theme={null}

109cd /path/to/your/project

105claude110claude

106```111```

107 112 

108Per gli account Claude subscription o Console, segui i prompt per completare l'autenticazione nel tuo browser. Se hai impostato la variabile di ambiente `ANTHROPIC_API_KEY`, Claude Code salta il prompt di accesso e ti chiede invece di approvare la chiave. Per cambiare account in seguito o effettuare nuovamente l'autenticazione, digita `/login` all'interno della sessione in esecuzione:113Sostituisci `/path/to/your/project` con il percorso del progetto su cui vuoi lavorare.

109 114 

110```text wrap theme={null}115Al primo utilizzo, Claude Code ti chiede di accedere. Per gli abbonamenti Claude o gli account Console, segui le istruzioni per completare l'autenticazione nel browser. Se hai impostato la variabile d'ambiente `ANTHROPIC_API_KEY` e approvi la chiave quando Claude Code ti chiede se usarla, Claude Code salta la richiesta di accesso.

111/login

112```

113 116 

114Puoi accedere utilizzando uno di questi tipi di account:117Puoi accedere con uno qualsiasi di questi tipi di account:

115 118 

116* [Claude Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (consigliato)119* [Claude Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (consigliato)

117* [Claude Console](https://platform.claude.com/) (accesso API con crediti prepagati). Al primo accesso, uno spazio di lavoro "Claude Code" viene creato automaticamente nella Console per il tracciamento centralizzato dei costi.120* [Claude Console](https://platform.claude.com/) (accesso API con crediti prepagati). Al primo accesso, viene creato automaticamente un workspace "Claude Code" nella Console per il monitoraggio centralizzato dei costi.

118* [Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry](/docs/it/third-party-integrations) (provider cloud aziendali)121* [Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry](/docs/it/third-party-integrations) (provider cloud aziendali)

119* Un [gateway di app Claude](/docs/it/claude-apps-gateway) auto-ospitato, se la tua organizzazione ne esegue uno: il tuo amministratore pre-configura l'URL del gateway, e `/login` si apre direttamente sulla schermata **Cloud gateway** per consentire l'accesso con SSO aziendale122* Un [gateway delle app Claude](/docs/it/claude-apps-gateway) self-hosted, se la tua organizzazione ne gestisce uno: il tuo amministratore preconfigura l'URL del gateway e `/login` si apre direttamente sulla schermata **Cloud gateway** per consentirti di accedere con l'SSO aziendale

120 

121Una volta effettuato l'accesso, le tue credenziali vengono archiviate e non dovrai accedere di nuovo. Scopri di più in [Gestione delle credenziali](/docs/it/authentication#credential-management).

122 

123<h2 id="step-3-start-your-first-session">

124 Passaggio 3: Avvia la tua prima sessione

125</h2>

126 

127Apri il tuo terminale in qualsiasi directory del progetto e avvia Claude Code:

128 

129```bash theme={null}

130cd /path/to/your/project

131claude

132```

133 123 

134Sostituisci `/path/to/your/project` con il percorso del progetto su cui desideri lavorare.124Una volta effettuato l'accesso, le tue credenziali vengono memorizzate e non dovrai accedere di nuovo. Scopri di più in [Gestione delle credenziali](/docs/it/authentication#credential-management).

135 125 

136Vedrai il prompt di Claude Code con la versione, il modello attuale e la directory di lavoro mostrati sopra. Digita `/help` per i comandi disponibili o `/resume` per continuare una conversazione precedente.126Viene visualizzato il prompt di Claude Code, con la versione, il modello corrente e la directory di lavoro mostrati sopra di esso. Digita `/help` per i comandi disponibili oppure `/resume` per continuare una conversazione precedente. Per cambiare account in seguito o ripetere l'autenticazione, digita `/login` all'interno della sessione in esecuzione.

137 127 

138<h2 id="step-4-ask-your-first-question">128<h2 id="step-3-ask-your-first-question">

139 Passaggio 4: Fai la tua prima domanda129 Passaggio 3: Fai la tua prima domanda

140</h2>130</h2>

141 131 

142Iniziamo con la comprensione del tuo codebase. Prova uno di questi comandi:132Prova uno di questi comandi:

143 133 

144```text wrap theme={null}134```text wrap theme={null}

145cosa fa questo progetto?135what does this project do?

146```136```

147 137 

148Claude analizzerà i tuoi file e fornirà un riepilogo. Puoi anche fare domande più specifiche:138Claude analizzerà i tuoi file e fornirà un riepilogo. Puoi anche fare domande più specifiche:

149 139 

150```text wrap theme={null}140```text wrap theme={null}

151quali tecnologie utilizza questo progetto?141what technologies does this project use?

152```142```

153 143 

154```text wrap theme={null}144```text wrap theme={null}

155dov'è il punto di ingresso principale?145where is the main entry point?

156```146```

157 147 

158```text wrap theme={null}148```text wrap theme={null}

159spiega la struttura delle cartelle149explain the folder structure

160```150```

161 151 

162Puoi anche chiedere a Claude informazioni sulle sue stesse capacità:152Puoi anche chiedere a Claude informazioni sulle sue capacità:

163 153 

164```text wrap theme={null}154```text wrap theme={null}

165cosa può fare Claude Code?155what can Claude Code do?

166```156```

167 157 

168```text wrap theme={null}158```text wrap theme={null}

169come creo skill personalizzate in Claude Code?159how do I create custom skills in Claude Code?

170```160```

171 161 

172```text wrap theme={null}162```text wrap theme={null}

173Claude Code può funzionare con Docker?163can Claude Code work with Docker?

174```164```

175 165 

176<Note>166<Note>

177 Claude Code legge i file del tuo progetto secondo le necessità. Non devi aggiungere manualmente il contesto.167 Claude Code legge i file del tuo progetto quando necessario. Non devi aggiungere manualmente il contesto.

178</Note>168</Note>

179 169 

180<h2 id="step-5-make-your-first-code-change">170<h2 id="step-4-make-your-first-code-change">

181 Passaggio 5: Fai il tuo primo cambio di codice171 Passaggio 4: Apporta la tua prima modifica al codice

182</h2>172</h2>

183 173 

184Ora facciamo in modo che Claude Code faccia un po' di codifica vera. Prova un'attività semplice:174Prova un'attività semplice:

185 175 

186```text wrap theme={null}176```text wrap theme={null}

187aggiungi una funzione hello world al file principale177add a hello world function to the main file

188```178```

189 179 

190Claude Code trova il file appropriato e ti mostra la modifica. Se chiede prima di apportare la modifica, seleziona **Sì** per approvare.180Claude Code trova il file appropriato e ti mostra la modifica. Se ti chiede conferma prima di apportare la modifica, seleziona **Yes** per approvarla.

191 181 

192Con Claude Code v2.1.283 o versioni successive, la modalità auto è la [modalità di autorizzazione iniziale integrata](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per le sessioni di terminale interattive: un classificatore esamina le azioni invece di voi, e Claude modifica la maggior parte dei file ed esegue la maggior parte dei comandi senza chiedere. Nelle versioni precedenti, la modalità auto è la modalità di autorizzazione iniziale integrata solo sui piani Pro, Max e Team. Per la sessione che avviate subito dopo l'installazione, vedere [Prima sessione dopo un'installazione o un aggiornamento](/docs/it/env-vars#first-session-after-an-install-or-upgrade).182La [modalità di permesso](/docs/it/permission-modes) della sessione stabilisce quali azioni Claude può eseguire senza chiederti prima conferma. Premi `Shift+Tab` in qualsiasi momento per cambiare la modalità di permesso della sessione in cui ti trovi.

193 

194<Note>

195 Le vostre impostazioni o la vostra organizzazione possono impostare una modalità di autorizzazione iniziale diversa. [Quale modalità di autorizzazione una sessione inizia](/docs/it/permission-modes#which-mode-a-session-starts-in) elenca cosa lo fa. Premete `Shift+Tab` in qualsiasi momento per cambiare la modalità di autorizzazione della sessione in cui vi trovate.

196</Note>

197 183 

198<h2 id="step-6-use-git-with-claude-code">184<h2 id="step-5-use-git-with-claude-code">

199 Passaggio 6: Usa Git con Claude Code185 Passaggio 5: Usa Git con Claude Code

200</h2>186</h2>

201 187 

202Claude Code rende le operazioni Git conversazionali:188Claude Code rende le operazioni Git conversazionali:

203 189 

204```text wrap theme={null}190```text wrap theme={null}

205quali file ho modificato?191what files have I changed?

206```192```

207 193 

208```text wrap theme={null}194```text wrap theme={null}

209esegui il commit delle mie modifiche con un messaggio descrittivo195commit my changes with a descriptive message

210```196```

211 197 

212Puoi anche richiedere operazioni Git più complesse:198Puoi anche chiedere operazioni Git più complesse:

213 199 

214```text wrap theme={null}200```text wrap theme={null}

215crea un nuovo branch chiamato feature/quickstart201create a new branch called feature/quickstart

216```202```

217 203 

218```text wrap theme={null}204```text wrap theme={null}

219mostrami gli ultimi 5 commit205show me the last 5 commits

220```206```

221 207 

222```text wrap theme={null}208```text wrap theme={null}

223aiutami a risolvere i conflitti di merge209help me resolve merge conflicts

224```210```

225 211 

226<h2 id="step-7-fix-a-bug-or-add-a-feature">212<h2 id="step-6-fix-a-bug-or-add-a-feature">

227 Passaggio 7: Correggi un bug o aggiungi una funzionalità213 Passaggio 6: Correggi un bug o aggiungi una funzionalità

228</h2>214</h2>

229 215 

230Claude è abile nel debug e nell'implementazione di funzionalità.216Descrivi ciò che desideri in linguaggio naturale:

231 

232Descrivi quello che vuoi in linguaggio naturale:

233 217 

234```text wrap theme={null}218```text wrap theme={null}

235aggiungi la convalida dell'input al modulo di registrazione dell'utente219add input validation to the user registration form

236```220```

237 221 

238O correggi i problemi esistenti:222Oppure correggi problemi esistenti:

239 223 

240```text wrap theme={null}224```text wrap theme={null}

241c'è un bug in cui gli utenti possono inviare moduli vuoti - correggilo225there's a bug where users can submit empty forms - fix it

242```226```

243 227 

244Claude Code farà:228<h2 id="step-7-test-out-other-common-workflows">

245 229 Passaggio 7: Prova altri workflow comuni

246* Individuare il codice rilevante

247* Comprendere il contesto

248* Implementare una soluzione

249* Eseguire i test se disponibili

250 

251<h2 id="step-8-test-out-other-common-workflows">

252 Passaggio 8: Prova altri flussi di lavoro comuni

253</h2>230</h2>

254 231 

255Ci sono diversi modi per lavorare con Claude:232Ci sono diversi modi per lavorare con Claude:


257**Refactoring del codice**234**Refactoring del codice**

258 235 

259```text wrap theme={null}236```text wrap theme={null}

260refactorizza il modulo di autenticazione per utilizzare async/await invece di callback237refactor the authentication module to use async/await instead of callbacks

261```238```

262 239 

263**Scrivi test**240**Scrivere test**

264 241 

265```text wrap theme={null}242```text wrap theme={null}

266scrivi unit test per le funzioni della calcolatrice243write unit tests for the calculator functions

267```244```

268 245 

269**Aggiorna la documentazione**246**Aggiornare la documentazione**

270 247 

271```text wrap theme={null}248```text wrap theme={null}

272aggiorna il README con le istruzioni di installazione249update the README with installation instructions

273```250```

274 251 

275**Revisione del codice**252**Code review**

276 253 

277```text wrap theme={null}254```text wrap theme={null}

278rivedi le mie modifiche e suggerisci miglioramenti255review my changes and suggest improvements

279```256```

280 257 

281<Tip>258<Tip>

282 Parla a Claude come faresti con un collega utile. Descrivi quello che vuoi ottenere e ti aiuterà a raggiungerlo.259 Parla con Claude come faresti con un collega disponibile. Descrivi cosa vuoi ottenere e ti aiuterà a raggiungere il tuo obiettivo.

283</Tip>260</Tip>

284 261 

285<h2 id="essential-commands">262<h2 id="essential-commands">


357 334 

358Ora che hai imparato le nozioni di base, esplora funzionalità più avanzate:335Ora che hai imparato le nozioni di base, esplora funzionalità più avanzate:

359 336 

360<CardGroup cols={2}>337* [Come funziona Claude Code](/docs/it/how-claude-code-works): comprendi il ciclo agentico, gli strumenti integrati e come Claude Code interagisce con il tuo progetto

361 <Card title="Come funziona Claude Code" icon="microchip" href="/docs/it/how-claude-code-works">338* [Best practice](/docs/it/best-practices): ottieni risultati migliori con prompt efficaci e configurazione del progetto

362 Comprendi il loop agentico, gli strumenti integrati e come Claude Code interagisce con il tuo progetto339* [Workflow comuni](/docs/it/common-workflows): guide passo dopo passo per attività comuni

363 </Card>340* [Estendi Claude Code](/docs/it/features-overview): personalizza con CLAUDE.md, skill, hook, MCP e altro

364 

365 <Card title="Best practices" icon="star" href="/docs/it/best-practices">

366 Ottieni risultati migliori con prompt efficaci e configurazione del progetto

367 </Card>

368 

369 <Card title="Flussi di lavoro comuni" icon="graduation-cap" href="/docs/it/common-workflows">

370 Guide passo dopo passo per attività comuni

371 </Card>

372 341 

373 <Card title="Estendi Claude Code" icon="puzzle-piece" href="/docs/it/features-overview">342Consulta la [configurazione avanzata](/docs/it/setup) per le opzioni di installazione, gli aggiornamenti manuali o le istruzioni di disinstallazione.

374 Personalizza con CLAUDE.md, skills, hooks, MCP e altro

375 </Card>

376</CardGroup>

377 343 

378<h2 id="getting-help">344<h2 id="getting-help">

379 Ottenere aiuto345 Ottenere aiuto

380</h2>346</h2>

381 347 

382* **In Claude Code**: Digita `/help` o chiedi "come faccio a..."348* **In Claude Code**: digita `/help` o fai una domanda del tipo "come faccio a..."

383* **Documentazione**: Sei qui! Sfoglia altre guide349* **Documentazione**: sfoglia le altre guide su questo sito

384* **Corsi**: Segui [Claude Code 101](https://academy.claude.com/courses/claude-code-101) e altri corsi gratuiti a tuo ritmo su [Claude Academy](https://academy.claude.com/)350* **Corsi**: Segui [Claude Code 101](https://academy.claude.com/courses/claude-code-101) e altri corsi gratuiti a tuo ritmo su [Claude Academy](https://academy.claude.com/)

385* **Community**: Unisciti al [server Discord](https://www.anthropic.com/discord) per suggerimenti e supporto351* **Community**: Unisciti al [server Discord](https://www.anthropic.com/discord) per suggerimenti e supporto

Details

365</h2>365</h2>

366 366 

367* **Una sessione remota per processo interattivo**: al di fuori della modalità server, ogni istanza di Claude Code supporta una sessione remota alla volta. Usa la [modalità server](#start-a-remote-control-session) per eseguire più sessioni simultanee da un singolo processo.367* **Una sessione remota per processo interattivo**: al di fuori della modalità server, ogni istanza di Claude Code supporta una sessione remota alla volta. Usa la [modalità server](#start-a-remote-control-session) per eseguire più sessioni simultanee da un singolo processo.

368* **Il processo locale deve continuare a funzionare**: Remote Control viene eseguito come processo locale. Se chiudi il terminale, chiudi l'app Desktop o VS Code, o altrimenti interrompi il processo `claude`, la sessione va offline finché non la [ripristini](#resume-sessions-after-stopping-the-server). Per mantenere una sessione in esecuzione su una macchina remota dopo la disconnessione da SSH, avviala all'interno di `tmux` o `screen`.368* **Il processo locale deve continuare a funzionare**: Remote Control viene eseguito come processo locale. Se chiudi il terminale, chiudi l'app Desktop o VS Code, o altrimenti interrompi il processo `claude`, la sessione va offline finché non la [ripristini](#resume-sessions-after-stopping-the-server). Se esegui `claude` da un terminale su una macchina remota, avvialo all'interno di `tmux` o `screen` per mantenere la sessione in esecuzione dopo la disconnessione da SSH.

369* **Sessioni bloccate in modalità server**: se una sessione servita da `claude remote-control` si blocca, inviale un messaggio da un dispositivo connesso. Claude Code la serve di nuovo. Non devi riavviare il server. Richiede Claude Code v2.1.238 o successivo.369* **Sessioni bloccate in modalità server**: se una sessione servita da `claude remote-control` si blocca, inviale un messaggio da un dispositivo connesso. Claude Code la serve di nuovo. Non devi riavviare il server. Richiede Claude Code v2.1.238 o successivo.

370* **Rifiuti HTTP 403 su una sessione connessa**: una volta che una sessione interattiva è connessa, Claude Code continua a riprovare per un massimo di tre minuti quando qualcosa tra la tua macchina e i server di Anthropic risponde con HTTP 403, come può accadere dopo un cambio VPN o di rete. Se i rifiuti durano più a lungo, Claude Code si disconnette e il motivo indica cosa ha rifiutato: un edge di rete, o un proxy, VPN o firewall sulla tua rete.370* **Rifiuti HTTP 403 su una sessione connessa**: una volta che una sessione interattiva è connessa, Claude Code continua a riprovare per un massimo di tre minuti quando qualcosa tra la tua macchina e i server di Anthropic risponde con HTTP 403, come può accadere dopo un cambio VPN o di rete. Se i rifiuti durano più a lungo, Claude Code si disconnette e il motivo indica cosa ha rifiutato: un edge di rete, o un proxy, VPN o firewall sulla tua rete.

371* **Interruzione di rete prolungata**: se la tua macchina è accesa ma non riesce a raggiungere la rete, quello che fai dopo dipende dalla modalità:371* **Interruzione di rete prolungata**: se la tua macchina è accesa ma non riesce a raggiungere la rete, quello che fai dopo dipende dalla modalità:

routines.md +1 −1

Details

93 Scegli un [cloud environment](/docs/it/cloud-environments) per la routine. Gli ambienti controllano a cosa ha accesso la sessione cloud:93 Scegli un [cloud environment](/docs/it/cloud-environments) per la routine. Gli ambienti controllano a cosa ha accesso la sessione cloud:

94 94 

95 * **Network access**: imposta il livello di accesso a Internet disponibile durante ogni esecuzione95 * **Network access**: imposta il livello di accesso a Internet disponibile durante ogni esecuzione

96 * **Environment variables**: fornisci valori che Claude può utilizzare durante ogni esecuzione. Sono [visibili a chiunque utilizzi l'ambiente](/docs/it/cloud-environments#what-carries-over-from-your-setup), quindi nei piani Pro e Max, archivia le chiavi per le API che Claude chiama durante un'esecuzione come [API credentials](/docs/it/cloud-environments#add-api-credentials) invece. Quella sezione elenca anche le richieste che non ricevono mai una credenziale96 * **Environment variables**: fornisci valori che Claude può utilizzare durante ogni esecuzione. Sono [visibili a chiunque utilizzi l'ambiente](/docs/it/cloud-environments#what-carries-over-from-your-setup), quindi nei piani Pro e Max archivia invece le chiavi per le API che Claude chiama durante un'esecuzione come [segreti di rete](/docs/it/cloud-environments#add-api-credentials). Quella sezione elenca anche le richieste che non ricevono mai un segreto

97 * **Setup script**: installa le dipendenze e gli strumenti di cui la routine ha bisogno. Il risultato è [cached](/docs/it/cloud-environments#environment-caching), quindi lo script non viene rieseguito su ogni sessione97 * **Setup script**: installa le dipendenze e gli strumenti di cui la routine ha bisogno. Il risultato è [cached](/docs/it/cloud-environments#environment-caching), quindi lo script non viene rieseguito su ogni sessione

98 98 

99 Un ambiente **Default** è fornito con accesso di rete **Trusted**, che consente solo l'[elenco predefinito](/docs/it/cloud-environments#default-allowed-domains) di registri di pacchetti, API di provider cloud, registri di container e domini di sviluppo comuni attraverso la rete della sessione. I connector che aggiungi alla routine raggiungono i loro servizi attraverso i server di Anthropic, quindi non hanno bisogno di modifiche all'elenco consentito. Se la tua routine ha bisogno di raggiungere i tuoi servizi direttamente o un dominio al di fuori di tale elenco, modifica l'[accesso di rete](/docs/it/cloud-environments#network-access) dell'ambiente prima di eseguire. Per utilizzare un ambiente separato, [creane uno](/docs/it/cloud-environments#configure-your-environment) prima.99 Un ambiente **Default** è fornito con accesso di rete **Trusted**, che consente solo l'[elenco predefinito](/docs/it/cloud-environments#default-allowed-domains) di registri di pacchetti, API di provider cloud, registri di container e domini di sviluppo comuni attraverso la rete della sessione. I connector che aggiungi alla routine raggiungono i loro servizi attraverso i server di Anthropic, quindi non hanno bisogno di modifiche all'elenco consentito. Se la tua routine ha bisogno di raggiungere i tuoi servizi direttamente o un dominio al di fuori di tale elenco, modifica l'[accesso di rete](/docs/it/cloud-environments#network-access) dell'ambiente prima di eseguire. Per utilizzare un ambiente separato, [creane uno](/docs/it/cloud-environments#configure-your-environment) prima.

Details

104 Script di esempio104 Script di esempio

105</h2>105</h2>

106 106 

107Lo script seguente esegue il ciclo completo contro `$CLAUDE_TEST_ENVIRONMENT_ID`, l'ID `ccpool_...` del vostro ambiente di test, mostrato nella finestra di dialogo dei dettagli dell'ambiente nella pagina di amministrazione o restituito dalla [chiamata create-environment](#create-a-dedicated-test-environment), e asserisce su una frase sentinella in ogni risposta. Eseguitelo da un checkout git del repository su cui desiderate che la sessione funzioni, dopo aver avviato un runner su questo host con l'hook di cattura installato e `E2E_REPLY_DIR` esportato.107Lo script seguente esegue il ciclo completo contro `$CLAUDE_TEST_ENVIRONMENT_ID`, l'ID `ccpool_...` del tuo ambiente di test, mostrato nella finestra di dialogo dei dettagli dell'ambiente nella pagina di amministrazione o restituito dalla [chiamata create-environment](#create-a-dedicated-test-environment), e asserisce su una frase sentinella in ogni risposta. Eseguilo da un checkout git del repository su cui desideri che la sessione lavori, dopo aver avviato un runner su questo host con l'hook di cattura installato e `E2E_REPLY_DIR` esportato. Per prima cosa, accedi con un account claude.ai sulla macchina che esegue lo script, come descritto in [Autenticarsi dalla CI](#authenticate-from-ci). Senza tale accesso, il primo invio non riesce con un errore come `Unable to get organization UUID for cloud session creation`.

108 108 

109```bash theme={null}109```bash theme={null}

110#!/usr/bin/env bash110#!/usr/bin/env bash

Details

43 <Step title="Aprire la console di amministrazione">43 <Step title="Aprire la console di amministrazione">

44 Nella console claude.ai, vai a [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).44 Nella console claude.ai, vai a [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).

45 45 

46 Se il collegamento ti reindirizza a una pagina Organization settings diversa invece della pagina Claude Code, il tuo account non dispone del ruolo richiesto. I ruoli Admin e gli altri ruoli non-Owner non possono visualizzare o modificare le impostazioni gestite, quindi chiedi a un Owner o Primary Owner della tua organizzazione di apportare la modifica. Consulta [Controllo di accesso](#access-control).46 In un'organizzazione Team o Enterprise, se la pagina indica che non hai accesso, chiedi a un [Owner o Primary Owner](#access-control) di apportare la modifica.

47 </Step>47 </Step>

48 48 

49 <Step title="Definire le impostazioni">49 <Step title="Definire le impostazioni">


142* Le impostazioni limitate alle fonti delle politiche a livello del sistema operativo, come `policyHelper` e `wslInheritsWindowsSettings`, non vengono rispettate. Distribuirle invece tramite MDM o un file `managed-settings.json` di sistema. Un `policyHelper` distribuito in questo modo viene eseguito solo quando la sua fonte è quella selezionata in [precedenza all'interno del livello gestito](/docs/it/managed-settings#precedence-within-the-managed-tier).142* Le impostazioni limitate alle fonti delle politiche a livello del sistema operativo, come `policyHelper` e `wslInheritsWindowsSettings`, non vengono rispettate. Distribuirle invece tramite MDM o un file `managed-settings.json` di sistema. Un `policyHelper` distribuito in questo modo viene eseguito solo quando la sua fonte è quella selezionata in [precedenza all'interno del livello gestito](/docs/it/managed-settings#precedence-within-the-managed-tier).

143 143 

144<h2 id="settings-delivery">144<h2 id="settings-delivery">

145 Consegna delle impostazioni145 Distribuzione delle impostazioni

146</h2>146</h2>

147 147 

148<h3 id="settings-precedence">148<h3 id="settings-precedence">

149 Precedenza delle impostazioni149 Precedenza delle impostazioni

150</h3>150</h3>

151 151 

152Le impostazioni gestite dal server e le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) occupano entrambe il livello più alto nella [gerarchia delle impostazioni](/docs/it/settings#settings-precedence) di Claude Code. Nessun altro livello di impostazioni può sostituirle, inclusi gli argomenti della riga di comando, ad eccezione delle [eccezioni alla precedenza delle impostazioni gestite](/docs/it/settings#exceptions-to-managed-settings-precedence).152Le impostazioni gestite dal server e le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) occupano entrambe il livello più alto nella [gerarchia delle impostazioni](/docs/it/settings#settings-precedence) di Claude Code. Una chiave che imposti qui ha la precedenza sulla stessa chiave nei file di impostazioni dell'utente o in un valore `--settings`, salvo le [eccezioni alla precedenza delle impostazioni gestite](/docs/it/settings#exceptions-to-managed-settings-precedence).

153 153 

154All'interno del livello gestito, Claude Code per impostazione predefinita utilizza la prima fonte che fornisce almeno una chiave di politica, controllando prima le impostazioni gestite dal server e poi le impostazioni gestite dall'endpoint, ad eccezione delle [chiavi di eccezione coperte di seguito](#per-key-exceptions-across-managed-sources). [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) contiene la classificazione completa, l'eccezione per le chiavi di controllo e l'opt-in che si applica a ogni fonte.154All'interno del livello gestito, Claude Code usa per impostazione predefinita la prima origine che fornisce almeno una chiave di policy, controllando prima le impostazioni gestite dal server e poi quelle gestite dall'endpoint, salvo le [chiavi di eccezione descritte di seguito](#per-key-exceptions-across-managed-sources). [Come Claude Code combina le origini gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) riporta la classifica completa, l'eccezione per le chiavi di controllo e l'opzione che applica tutte le origini.

155 155 

156Se la fonte selezionata è una politica MDM o un file di impostazioni gestite il cui [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, l'output dell'helper sostituisce quella fonte come l'unica configurazione gestita per l'esecuzione. Claude Code non consulta un `policyHelper` configurato in MDM o impostazioni basate su file mentre le impostazioni gestite dal server forniscono una chiave di politica.156Se l'origine selezionata è una policy MDM o un file di impostazioni gestite il cui [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, l'output dell'helper sostituisce quell'origine come unica configurazione gestita per l'esecuzione. Claude Code non consulta un `policyHelper` configurato nelle impostazioni MDM o basate su file mentre le impostazioni gestite dal server forniscono una chiave di policy.

157 157 

158Se un recupero successivo trova le impostazioni gestite dal server rimosse, Claude Code esegue immediatamente quell'helper invece che al prossimo avvio. La voce [`policyHelper`](/docs/it/settings-reference#policyhelper) copre cosa succede quando quell'esecuzione non riesce.158Se un recupero successivo rileva che le impostazioni gestite dal server sono state rimosse, Claude Code esegue subito quell'helper invece di attendere l'avvio successivo. La voce [`policyHelper`](/docs/it/settings-reference#policyhelper) descrive cosa succede quando quell'esecuzione non riesce.

159 159 

160Se cancellate la configurazione gestita dal server nella console di amministrazione con l'intenzione di tornare a una plist gestita dall'endpoint o a una politica del registro, tenete presente che le [impostazioni memorizzate nella cache](#fetch-and-caching-behavior) persistono sulle macchine client fino al prossimo recupero riuscito, e le chiavi che [si applicano solo al prossimo avvio](#fetch-and-caching-behavior), come `model`, rimangono in vigore fino a quando ogni client non si riavvia. Eseguite `/status` per vedere quale fonte gestita è attiva.160Se cancelli la configurazione gestita dal server nella console di amministrazione con l'intento di ripiegare su una policy plist o del registro gestita dall'endpoint, tieni presente che le [impostazioni nella cache](#fetch-and-caching-behavior) restano sulle macchine client fino al successivo recupero riuscito, e le chiavi che [si applicano solo all'avvio successivo](#fetch-and-caching-behavior), come `model`, restano in vigore finché ciascun client non viene riavviato. Esegui `/status` per vedere quale origine gestita è attiva.

161 161 

162<h3 id="per-key-exceptions-across-managed-sources">162<h3 id="per-key-exceptions-across-managed-sources">

163 Eccezioni per chiave tra fonti gestite163 Eccezioni per chiave tra le origini gestite

164</h3>164</h3>

165 165 

166Queste chiavi sono eccezioni alla regola di non-unione:166Queste chiavi sono eccezioni alla regola dell'assenza di merge:

167 167 

168* **Chiavi di blocco tra fonti**: un piccolo insieme di chiavi, come i blocchi della lista di autorizzazione della sandbox, [elencate nella pagina delle impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier). Claude Code le rispetta quando qualsiasi fonte gestita controllata dall'amministratore le imposta; il livello del registro HKCU scrivibile dall'utente è escluso.168* **Chiavi di blocco tra origini**: un piccolo insieme di chiavi, come i blocchi dell'allowlist della sandbox, [elencate nella pagina delle impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier). Claude Code le rispetta quando una qualsiasi origine gestita controllata dall'amministratore le imposta; il livello del registro HKCU scrivibile dall'utente è escluso.

169 169 

170 Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output è l'unica fonte che questi controlli leggono, ad eccezione di [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), che Claude Code legge direttamente dalle fonti amministrative all'avvio.170 Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output è l'unica origine letta da questi controlli, salvo [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), che Claude Code legge direttamente dalle origini dell'amministratore all'avvio.

171* **Il blocco `env`**: a parte l'unità di telemetria e le variabili di routing associate a una chiave di credenziale, entrambe coperte di seguito, si unisce per chiave tra le fonti controllate dall'amministratore. Per ogni variabile di ambiente, la fonte con la priorità più alta che la definisce vince, e le fonti amministrative inferiori riempiono le variabili che le fonti superiori lasciano non impostate. Una voce `env` gestita dall'endpoint si applica quindi ogni volta che la configurazione gestita dal server lascia quella variabile non impostata, o mentre un valore server memorizzato nella cache per essa è [trattenuto in sospeso della conferma del server](#fetch-and-caching-behavior). Richiede Claude Code v2.1.223 o successivo. Prima della v2.1.223, Claude Code applica solo il blocco `env` della fonte selezionata.171* **Il blocco `env`**: a parte l'unità di telemetria e le variabili di routing associate a una chiave di credenziali, entrambe descritte di seguito, viene sottoposto a merge per chiave tra le origini controllate dall'amministratore. Per ciascuna variabile d'ambiente prevale l'origine con priorità più alta che la definisce, e le origini dell'amministratore di livello inferiore completano le variabili che le origini superiori lasciano non impostate. Una voce `env` gestita dall'endpoint si applica quindi ogni volta che la configurazione gestita dal server lascia quella variabile non impostata, o mentre un valore del server nella cache per essa è [trattenuto in attesa di conferma da parte del server](#fetch-and-caching-behavior). Richiede Claude Code v2.1.223 o successivo. Prima della v2.1.223, Claude Code applica solo l'intero blocco `env` dell'origine selezionata.

172 * **Unità di telemetria**: le chiavi dell'esportatore `OTEL_EXPORTER_OTLP_*`, gli interruttori di acquisizione del contenuto `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e le variabili di tracciamento beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguono la fonte più alta che imposta una qualsiasi di esse come unità. Una fonte che fornisce la chiave di credenziale `otelHeadersHelper` rivendica l'unità anche, ma fornisce queste variabili solo quando è la fonte selezionata: una fonte che non è selezionata ma fornisce la chiave non contribuisce a nessuna di esse e blocca comunque le fonti inferiori dal riempirle. In ogni caso, un endpoint dell'esportatore da una fonte non può mai essere associato a credenziali da un'altra.172 * **Unità di telemetria**: le chiavi dell'exporter `OTEL_EXPORTER_OTLP_*`, gli interruttori di acquisizione dei contenuti `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e le variabili di tracing beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguono come unità l'origine più alta che ne imposta una qualsiasi. Anche un'origine che fornisce la chiave di credenziali `otelHeadersHelper` rivendica l'unità, ma applica queste variabili solo quando è l'origine selezionata: un'origine non selezionata che fornisce la chiave non ne contribuisce nessuna e impedisce comunque alle origini inferiori di completarle. In entrambi i casi, un endpoint dell'exporter proveniente da un'origine non può mai essere associato a credenziali provenienti da un'altra.

173 * **Routing associato a credenziale**: una fonte che associa variabili di routing a una chiave di credenziale solo per la fonte selezionata, come `apiKeyHelper` o `otelHeadersHelper`, contribuisce a quelle variabili di routing solo quando vince lo slot.173 * **Routing associato alle credenziali**: un'origine che associa variabili di routing a una chiave di credenziali valida solo per l'origine selezionata, come `apiKeyHelper` o `otelHeadersHelper`, contribuisce con quelle variabili di routing solo quando si aggiudica lo slot.

174* **`allowedProviders`**: un elenco impostato sulla macchina e un elenco gestito dal server si combinano come [la nota Scope della sua voce](/docs/it/settings-reference#allowedproviders) afferma. Richiede Claude Code v2.1.285 o successivo174* **`allowedProviders`**: un elenco impostato sulla macchina e un elenco gestito dal server si combinano come indicato nella [nota sull'ambito della sua voce](/docs/it/settings-reference#allowedproviders). Richiede Claude Code v2.1.285 o successivo

175* **Chiavi di accesso al gateway**: Claude Code non legge mai [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/it/settings-reference#gatewayinternalnetworks), o il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) dalle impostazioni gestite dal server, quindi un valore lì non si applica né nasconde uno impostato in una politica MDM o file di impostazioni gestite. La voce [`managedSourcesBehavior`](/docs/it/settings-reference#managedsourcesbehavior) dice quale fonte amministrativa sulla macchina le fornisce.175* **Chiavi di accesso al gateway**: Claude Code non legge mai [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/it/settings-reference#gatewayinternalnetworks) o il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) dalle impostazioni gestite dal server, quindi un valore lì né si applica né nasconde un valore impostato in una policy MDM o in un file di impostazioni gestite. La [voce `managedSourcesBehavior`](/docs/it/settings-reference#managedsourcesbehavior) indica quale origine dell'amministratore sulla macchina li fornisce.

176 176 

177<h3 id="fetch-and-caching-behavior">177<h3 id="fetch-and-caching-behavior">

178 Comportamento di recupero e caching178 Comportamento di recupero e della cache

179</h3>179</h3>

180 180 

181Claude Code recupera le impostazioni dai server di Anthropic all'avvio e esegue il polling per gli aggiornamenti ogni ora durante le sessioni attive.181Claude Code recupera le impostazioni dai server di Anthropic all'avvio e verifica la presenza di aggiornamenti ogni ora durante le sessioni attive.

182 182 

183Un client che ha effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) recupera le impostazioni dal gateway e attende quel recupero prima che la sessione inizi, quindi il recupero negli elenchi di seguito non si applica ad esso. [Applicare l'avvio fail-closed](#enforce-fail-closed-startup) copre cosa succede quando quel recupero non riesce.183Un client che ha effettuato l'accesso tramite un [gateway delle app Claude](#platform-availability) recupera le impostazioni dal gateway e attende quel recupero prima che la sessione inizi, quindi il recupero descritto negli elenchi seguenti non si applica a esso. [Imporre un avvio fail-closed](#enforce-fail-closed-startup) descrive cosa succede quando quel recupero non riesce.

184 184 

185**Primo avvio senza impostazioni memorizzate nella cache:**185**Primo avvio senza impostazioni nella cache:**

186 186 

187* Quando uno sviluppatore effettua l'accesso all'avvio, ad esempio su una prima esecuzione o dopo `/logout`, Claude Code attende fino a cinque secondi per il recupero prima di aprire la sessione. Quando la politica arriva in tempo, Claude Code la applica dalla prima schermata e mostra i vostri [`companyAnnouncements`](/docs/it/settings-reference#companyannouncements) su di essa. Quando il payload necessita di [approvazione della sicurezza](#security-approval-dialogs), Claude Code termina l'attesa e applica il payload una volta che lo sviluppatore approva187* Quando uno sviluppatore accede all'avvio, ad esempio alla prima esecuzione o dopo `/logout`, Claude Code attende fino a cinque secondi il recupero prima di aprire la sessione. Quando la policy arriva in tempo, Claude Code la applica dalla prima schermata e vi mostra i tuoi [`companyAnnouncements`](/docs/it/settings-reference#companyannouncements). Quando il payload richiede l'[approvazione di sicurezza](#security-approval-dialogs), Claude Code termina l'attesa e applica il payload una volta che lo sviluppatore lo approva

188* In qualsiasi altro avvio, e quando quell'attesa di cinque secondi scade, Claude Code apre la sessione mentre il recupero continua, quindi passa una breve finestra prima che le impostazioni si carichino e le restrizioni abbiano effetto188* In qualsiasi altro avvio, e quando quell'attesa di cinque secondi si esaurisce, Claude Code apre la sessione mentre il recupero continua, quindi trascorre un breve intervallo prima che le impostazioni vengano caricate e le restrizioni entrino in vigore

189* Se il recupero non riesce, Claude Code continua senza impostazioni gestite dal server e avverte nelle sessioni interattive che nessuna politica remota si applica; le impostazioni gestite dall'endpoint si applicano comunque. Se una fonte gestita imposta [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code esce invece189* Se il recupero non riesce, Claude Code continua senza impostazioni gestite dal server e, nelle sessioni interattive, avvisa che non si applica alcuna policy remota; le impostazioni gestite dall'endpoint si applicano comunque. Se un'origine gestita imposta [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code esce invece di continuare

190 190 

191**Avvii successivi con impostazioni memorizzate nella cache:**191**Avvii successivi con impostazioni nella cache:**

192 192 

193* Le impostazioni memorizzate nella cache si applicano immediatamente all'avvio, ad eccezione dei valori memorizzati nella cache `modelPricing` e `managedMcpServers` e delle variabili di ambiente che Claude Code trattiene fino a quando il server non conferma il payload193* Le impostazioni nella cache si applicano immediatamente all'avvio, a eccezione dei valori `modelPricing` e `managedMcpServers` nella cache e delle variabili d'ambiente che Claude Code trattiene fino alla conferma del payload da parte del server

194* Un [`modelPricing`](/docs/it/settings-reference#modelpricing) memorizzato nella cache non si applica fino a quando il recupero della sessione non conferma il payload. Fino ad allora, le cifre di costo che gli sviluppatori vedono in `/usage` e nella riga di stato sono al prezzo di listino194* Un [`modelPricing`](/docs/it/settings-reference#modelpricing) nella cache non si applica finché il recupero della sessione non conferma il payload. Fino ad allora, i costi che gli sviluppatori vedono in `/usage` e nella riga di stato sono a prezzo di listino

195* Un blocco [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) memorizzato nella cache non si applica fino a quando il recupero della sessione non conferma il payload. Claude Code attende fino a 30 secondi per quel recupero prima di connettere i server MCP. Se il recupero non riesce o scade, la sessione inizia senza i server dell'organizzazione, `/status` lo dice, e si connettono una volta che un recupero successivo li conferma. Vedere [Quando i server forniti si connettono](/docs/it/managed-mcp#when-provided-servers-connect) per il comportamento completo, incluso il primo avvio. Richiede Claude Code v2.1.259 o successivo195* Un blocco [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nella cache non si applica finché il recupero della sessione non conferma il payload. Claude Code attende fino a 30 secondi quel recupero prima di connettere i server MCP. Se il recupero non riesce o va in timeout, la sessione inizia senza i server dell'organizzazione, `/status` lo segnala, e i server si connettono non appena un recupero successivo li conferma. Consulta [Quando si connettono i server forniti](/docs/it/managed-mcp#when-provided-servers-connect) per il comportamento completo, incluso il primo avvio. Richiede Claude Code v2.1.259 o successivo

196* Claude Code recupera le impostazioni aggiornate in background196* Claude Code recupera le impostazioni aggiornate in background

197* Le impostazioni memorizzate nella cache persistono attraverso i guasti di rete. Se il recupero all'avvio non riesce, Claude Code avverte nelle sessioni interattive che la politica memorizzata nella cache è in vigore197* Le impostazioni nella cache persistono in caso di errori di rete. Se il recupero all'avvio non riesce, Claude Code avvisa nelle sessioni interattive che è in vigore la policy nella cache

198* Fino a quando un recupero non riesce, i valori trattenuti all'avvio rimangono trattenuti198* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito

199 199 

200Claude Code trattiene diverse categorie di variabili nel blocco `env` memorizzato nella cache fino a quando il server non conferma il payload per la sessione. Questo impedisce a un valore proxy, autorità di certificazione, endpoint o credenziale memorizzato nella cache di reindirizzare, intercettare o autenticare nuovamente il recupero delle impostazioni che conferma il payload. L'indurimento si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Il trattenimento richiede Claude Code v2.1.198 o successivo; prima della v2.1.198, l'intero blocco `env` memorizzato nella cache si applica all'avvio. Le categorie trattenute includono:200Claude Code trattiene diverse categorie di variabili nel blocco `env` nella cache fino alla conferma del payload da parte del server per la sessione. In questo modo un valore di proxy, autorità di certificazione, endpoint o credenziali nella cache non può reindirizzare, intercettare o riautenticare il recupero delle impostazioni che conferma il payload. Questa protezione si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Il trattenimento richiede Claude Code v2.1.198 o successivo; prima della v2.1.198, l'intero blocco `env` nella cache si applica all'avvio. Le categorie trattenute includono:

201 201 

202* Configurazione proxy e TLS, come `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e le variabili del certificato client mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`202* Configurazione di proxy e TLS, come `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e le variabili del certificato client mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`

203* Routing API e selezione del provider, inclusi `ANTHROPIC_BASE_URL`, le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e gli URL dell'endpoint del provider come `ANTHROPIC_BEDROCK_BASE_URL`203* Routing delle API e selezione del provider, inclusi `ANTHROPIC_BASE_URL`, le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e gli URL degli endpoint del provider come `ANTHROPIC_BEDROCK_BASE_URL`

204* Credenziali di autenticazione, come `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `CLAUDE_CODE_OAUTH_TOKEN`204* Credenziali di autenticazione, come `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `CLAUDE_CODE_OAUTH_TOKEN`

205* Il selettore della directory di configurazione `CLAUDE_CONFIG_DIR`205* Il selettore della directory di configurazione `CLAUDE_CONFIG_DIR`

206* Selettori di fonte di credenziale e directory di configurazione, in Claude Code v2.1.223 o successivo: le variabili di Workload Identity Federation come `ANTHROPIC_FEDERATION_RULE_ID` e `ANTHROPIC_IDENTITY_TOKEN`, i selettori di profilo e directory di configurazione `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR`, e le variabili della directory del sistema operativo `HOME`, `XDG_CONFIG_HOME`, `APPDATA` e `USERPROFILE`206* Selettori dell'origine delle credenziali e della directory di configurazione, in Claude Code v2.1.223 o successivo: le variabili di Workload Identity Federation come `ANTHROPIC_FEDERATION_RULE_ID` e `ANTHROPIC_IDENTITY_TOKEN`, i selettori del profilo e della directory di configurazione `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR`, e le variabili delle directory del sistema operativo `HOME`, `XDG_CONFIG_HOME`, `APPDATA` e `USERPROFILE`

207 207 

208Claude Code legge le variabili di Workload Identity Federation e i selettori `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR` solo all'avvio, quindi un valore consegnato dal server per essi non cambia la fonte di credenziale della sessione nemmeno dopo che il recupero riesce. Per fornire quei selettori su Claude Code v2.1.223 o successivo, utilizzate [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) come MDM o `managed-settings.json`. Per `CLAUDE_CONFIG_DIR` e le variabili della directory del sistema operativo, il trattenimento stesso è la protezione: il valore memorizzato nella cache rimane fuori dall'ambiente fino a quando il server non conferma il payload.208Claude Code legge le variabili di Workload Identity Federation e i selettori `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR` solo all'avvio, quindi un valore fornito dal server per essi non cambia l'origine delle credenziali della sessione nemmeno dopo che il recupero è riuscito. Per fornire quei selettori in Claude Code v2.1.223 o successivo, usa le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) come MDM o `managed-settings.json`. Per `CLAUDE_CONFIG_DIR` e le variabili delle directory del sistema operativo, la protezione è il trattenimento stesso: il valore nella cache resta fuori dall'ambiente fino alla conferma del payload da parte del server.

209 209 

210Ogni altra chiave nel blocco `env` memorizzato nella cache si applica all'avvio. Una volta che il server conferma il payload, e voi lo approvate se necessita di [approvazione della sicurezza](#security-approval-dialogs), le variabili trattenute si applicano per il resto della sessione.210Ogni altra chiave nel blocco `env` nella cache si applica all'avvio. Una volta che il server conferma il payload, e dopo che lo hai approvato se richiede l'[approvazione di sicurezza](#security-approval-dialogs), le variabili trattenute si applicano per il resto della sessione.

211 211 

212Se la vostra organizzazione ha bisogno di un proxy per raggiungere `api.anthropic.com`, il trattenimento influisce solo sul blocco `env` consegnato dal server stesso: un proxy impostato in un blocco `env` [gestito dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) tramite MDM o `managed-settings.json`, nell'ambiente della shell, o nelle [impostazioni utente](/docs/it/settings#where-settings-live) raggiunge il recupero delle impostazioni. La fonte gestita dall'endpoint richiede Claude Code v2.1.223 o successivo: il valore proxy gestito dal server memorizzato nella cache è trattenuto fino a quando il recupero non lo conferma, quindi il valore gestito dall'endpoint si riempie per chiave e raggiunge il recupero stesso. Prima della v2.1.223, utilizzate l'ambiente della shell o le impostazioni utente in modo che il proxy si applichi insieme a un payload server memorizzato nella cache. Il primo avvio non ha cache, quindi una fonte gestita dall'endpoint, l'ambiente della shell o le impostazioni utente è ancora necessario per il recupero iniziale.212Se la tua organizzazione ha bisogno di un proxy per raggiungere `api.anthropic.com`, il trattenimento riguarda solo il blocco `env` fornito dal server: un proxy impostato in un blocco `env` [gestito dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) tramite MDM o `managed-settings.json`, nell'ambiente della shell o nelle [impostazioni utente](/docs/it/settings#where-settings-live) raggiunge il recupero delle impostazioni. L'origine gestita dall'endpoint richiede Claude Code v2.1.223 o successivo: il valore del proxy gestito dal server nella cache viene trattenuto fino alla conferma da parte del recupero, quindi il valore gestito dall'endpoint lo completa per chiave e raggiunge il recupero stesso. Prima della v2.1.223, usa l'ambiente della shell o le impostazioni utente in modo che il proxy si applichi insieme a un payload del server nella cache. Il primo avvio non ha cache, quindi per il recupero iniziale è comunque necessaria un'origine gestita dall'endpoint, l'ambiente della shell o le impostazioni utente.

213 213 

214Claude Code applica la maggior parte degli aggiornamenti delle impostazioni alle sessioni in esecuzione senza un riavvio. Alcuni aggiornamenti si applicano solo al prossimo avvio, inclusa la configurazione dell'esportatore OpenTelemetry, la chiave `model` e la rimozione di una variabile dal blocco `env`.214Claude Code applica la maggior parte degli aggiornamenti delle impostazioni alle sessioni in esecuzione senza riavvio. Alcuni aggiornamenti si applicano solo all'avvio successivo, tra cui la configurazione dell'exporter OpenTelemetry, la chiave `model` e la rimozione di una variabile dal blocco `env`.

215 215 

216<h3 id="invalid-entries-in-delivered-settings">216<h3 id="invalid-entries-in-delivered-settings">

217 Voci non valide nelle impostazioni consegnate217 Voci non valide nelle impostazioni fornite

218</h3>218</h3>

219 219 

220Quando parte di un payload non supera la convalida dello schema, Claude Code visualizza un errore di convalida e applica ogni impostazione valida rimanente; [Voci non valide nelle impostazioni gestite](/docs/it/managed-settings#invalid-entries-in-managed-settings) dice cosa elimina e quali chiavi ricadono su un valore più rigoroso. Richiede Claude Code v2.1.169 o successivo.220Quando una parte di un payload non supera la validazione dello schema, Claude Code mostra un errore di validazione e applica tutte le altre impostazioni valide; [Voci non valide nelle impostazioni gestite](/docs/it/managed-settings#invalid-entries-in-managed-settings) indica cosa viene scartato e quali chiavi ripiegano su un valore più restrittivo. Richiede Claude Code v2.1.169 o successivo.

221 221 

222La consegna gestita dal server aggiunge questi comportamenti:222La distribuzione gestita dal server aggiunge questi comportamenti:

223 223 

224* Un avvio che viene eseguito sulla cache in `~/.claude/remote-settings.json` tratta le voci non valide nel modo in cui il recupero che ha scritto la cache lo ha fatto:224* Un avvio che usa la cache in `~/.claude/remote-settings.json` tratta le voci non valide come le ha trattate il recupero che ha scritto la cache:

225 * Le voci che non hanno superato la convalida rimangono eliminate.225 * Le voci che non hanno superato la validazione restano scartate.

226 * [Le chiavi che non riescono in modo chiuso](/docs/it/managed-settings#keys-that-fail-closed) mantengono i loro valori più rigorosi.226 * Le [chiavi che falliscono in modo chiuso](/docs/it/managed-settings#keys-that-fail-closed) mantengono i loro valori più restrittivi.

227 * Un valore `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` non valido rimane nella copia memorizzata nella cache e non viene mai applicato.227 * Un valore `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` non valido resta nella copia nella cache e non viene mai applicato.

228* Claude Code non applica nulla da un payload e lascia la cache invariata quando tutti e tre questi sono veri:228* Claude Code non applica nulla di un payload e lascia invariata la cache quando sono vere tutte e tre queste condizioni:

229 229 

230 * Ogni impostazione nel payload non supera la convalida.230 * Ogni impostazione nel payload non supera la validazione.

231 * Nessuna di esse ricade su un valore più rigoroso.231 * Nessuna di esse ripiega su un valore più restrittivo.

232 * Il payload contiene una chiave diversa da quelle due chiavi di conservazione.232 * Il payload contiene una chiave diversa da quelle due chiavi di conservazione.

233 233 

234 L'avviso all'avvio, `/status` e `claude doctor` quindi segnalano il [caricamento non riuscito](/docs/it/errors#remote-managed-settings-failed-to-load) con la causa `no setting in the server response could be applied as written`, e quella voce dice quale politica la sessione viene eseguita. I client che [applicano l'avvio fail-closed](#enforce-fail-closed-startup) escono all'avvio invece.234 L'avviso all'avvio, `/status` e `claude doctor` segnalano allora il [caricamento non riuscito](/docs/it/errors#remote-managed-settings-failed-to-load) con la causa `no setting in the server response could be applied as written`, e quella voce indica su quale policy viene eseguita la sessione. I client che [impongono un avvio fail-closed](#enforce-fail-closed-startup) escono invece all'avvio.

235* La [finestra di dialogo di approvazione della sicurezza](#security-approval-dialogs) valuta il payload salvato, quindi una voce non valida rimossa non viene mai presentata per l'approvazione e non viene mai eseguita.235* La [finestra di dialogo di approvazione di sicurezza](#security-approval-dialogs) valuta il payload recuperato dopo la rimozione delle voci non valide, quindi una voce non valida rimossa non viene mai presentata per l'approvazione e non viene mai eseguita.

236 236 

237Per eseguire il debug dei problemi di consegna, eseguite `claude --debug-file <path>` e cercate nel log `Remote settings`. Convalidate una modifica del payload con `claude doctor` su una macchina di test prima di distribuirla all'organizzazione.237Per eseguire il debug dei problemi di distribuzione, esegui `claude --debug-file <path>` e cerca `Remote settings` nel log. Convalida una modifica del payload con `claude doctor` su una macchina di test prima di distribuirla all'organizzazione.

238 238 

239<h3 id="enforce-fail-closed-startup">239<h3 id="enforce-fail-closed-startup">

240 Applicare l'avvio fail-closed240 Imporre un avvio fail-closed

241</h3>241</h3>

242 242 

243Per impostazione predefinita, se il recupero delle impostazioni remote non riesce all'avvio, la CLI continua con le impostazioni memorizzate nella cache dal recupero riuscito precedente, ad eccezione dei [valori che Claude Code trattiene](#fetch-and-caching-behavior) fino a quando un recupero riesce. Su una macchina che non le ha mai recuperate, la CLI continua senza impostazioni gestite dal server e applica comunque qualsiasi [impostazione gestita dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) sul dispositivo.243Per impostazione predefinita, se il recupero delle impostazioni remote non riesce all'avvio, la CLI continua con le impostazioni memorizzate nella cache dall'ultimo recupero riuscito, a eccezione dei [valori che Claude Code trattiene](#fetch-and-caching-behavior) fino al primo recupero riuscito. Su una macchina che non le ha mai recuperate, la CLI continua senza impostazioni gestite dal server e applica comunque eventuali [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) presenti sul dispositivo.

244 244 

245Per impedire ai client di avviarsi su impostazioni gestite dal server memorizzate nella cache o assenti, impostare `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.245Per impedire ai client di avviarsi con impostazioni gestite dal server nella cache o assenti, imposta `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.

246 246 

247I client che hanno effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) attendono il recupero all'avvio indipendentemente dal fatto che impostiate questo, e gestiscono un recupero non riuscito come segue:247I client che hanno effettuato l'accesso tramite un [gateway delle app Claude](#platform-availability) attendono il recupero all'avvio indipendentemente da questa impostazione, e gestiscono un recupero non riuscito come segue:

248 248 

249* Se il gateway risponde a un avvio interattivo presidiato con un `401` e questa impostazione è disattivata, il gateway ha terminato quell'accesso. Claude Code stampa [`Cloud gateway session expired — run /login to reconnect.`](/docs/it/errors#cloud-gateway-session-expired) e apre la sessione disconnessa dal gateway fino a quando l'utente non esegue `/login`.249* Se il gateway risponde con un `401` a un avvio interattivo presidiato e questa impostazione è disattivata, il gateway ha terminato quell'accesso. Claude Code stampa [`Cloud gateway session expired — run /login to reconnect.`](/docs/it/errors#cloud-gateway-session-expired) e apre la sessione disconnessa dal gateway finché l'utente non esegue `/login`.

250* Quando il recupero non riesce in qualsiasi altro modo, o in qualsiasi altro tipo di avvio ad eccezione di un sottocomando `claude auth`, il client esce con un errore.250* Quando il recupero non riesce in qualsiasi altro modo, o in qualsiasi altro tipo di avvio eccetto un sottocomando `claude auth`, il client esce con un errore.

251 251 

252Quando questa impostazione è attiva in una sessione che recupera impostazioni gestite dal server, la CLI si blocca all'avvio fino a quando le impostazioni remote non vengono recuperate di recente. Se il recupero non riesce, la CLI esce piuttosto che procedere senza la politica. Questa impostazione si auto-perpetua: una volta consegnata dal server, viene anche memorizzata nella cache localmente in modo che gli avvii successivi applichino lo stesso comportamento anche prima del primo recupero riuscito di una nuova sessione. Una sessione che [non recupera impostazioni gestite dal server](#platform-availability) inizia senza attendere.252Quando questa impostazione è attiva in una sessione che recupera le impostazioni gestite dal server, la CLI si blocca all'avvio finché le impostazioni remote non vengono recuperate di nuovo. Se il recupero non riesce, la CLI esce invece di procedere senza la policy. Questa impostazione si autoperpetua: una volta fornita dal server, viene anche memorizzata nella cache locale in modo che gli avvii successivi impongano lo stesso comportamento anche prima del primo recupero riuscito di una nuova sessione. Una sessione che [non recupera le impostazioni gestite dal server](#platform-availability) si avvia senza attendere.

253 253 

254Per abilitare questa funzione, aggiungere la chiave alla configurazione delle impostazioni gestite:254Per abilitarla, aggiungi la chiave alla configurazione delle impostazioni gestite:

255 255 

256```json theme={null}256```json theme={null}

257{257{


259}259}

260```260```

261 261 

262Potete anche impostare questa chiave in un [profilo MDM](/docs/it/managed-settings#delivery-mechanisms) gestito dall'endpoint o in un file `managed-settings.json` di sistema per applicare il comportamento fail-closed al primo avvio, prima che qualsiasi payload del server sia stato consegnato. Questo flag è un'eccezione alla [regola di precedenza](#settings-precedence) sopra: Claude Code lo rispetta quando qualsiasi fonte gestita controllata dall'amministratore lo imposta, anche se è presente anche un payload memorizzato nella cache gestito dal server, quindi non ignora un valore consegnato da MDM quando esistono impostazioni gestite dal server.262Puoi anche impostare questa chiave in un profilo MDM [gestito dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) o in un file `managed-settings.json` di sistema per imporre il comportamento fail-closed al primo avvio, prima che arrivi qualsiasi payload del server. Questo flag è un'eccezione alla [regola di precedenza](#settings-precedence) descritta sopra: Claude Code lo rispetta quando una qualsiasi origine gestita controllata dall'amministratore lo imposta, anche se è presente un payload gestito dal server nella cache, quindi non trascura un valore fornito tramite MDM quando esistono impostazioni gestite dal server.

263 263 

264Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output sostituisce ogni altra fonte gestita per le chiavi che Claude Code legge dopo l'avvio. Per le fonti da cui Claude Code legge questa chiave, vedere [la sua voce di impostazioni](/docs/it/settings-reference#forceremotesettingsrefresh). La voce `policyHelper` dice da quali fonti Claude Code legge l'helper e quando viene eseguito.264Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output sostituisce ogni altra origine gestita per le chiavi che Claude Code legge dopo l'avvio. Per le origini da cui Claude Code legge questa chiave, consulta [la sua voce nelle impostazioni](/docs/it/settings-reference#forceremotesettingsrefresh). La voce `policyHelper` indica da quali origini Claude Code legge l'helper e quando viene eseguito.

265 265 

266Il recupero delle impostazioni invia anche un'intestazione `Cache-Control: no-cache` in modo che i proxy HTTP intermedi non servano una risposta non aggiornata.266Il recupero delle impostazioni invia anche un'intestazione `Cache-Control: no-cache` in modo che i proxy HTTP intermedi non restituiscano una risposta obsoleta.

267 267 

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

269 269 

270I sottocomandi `claude auth` come `claude auth login` sono esenti da questo controllo e dall'uscita all'avvio del gateway, in modo che gli utenti possano autenticarsi nuovamente quando le credenziali scadute sono il motivo per cui il recupero delle impostazioni non riesce.270I sottocomandi `claude auth` come `claude auth login` sono esenti da questo controllo e dall'uscita all'avvio del gateway, così gli utenti possono autenticarsi di nuovo quando il recupero delle impostazioni non riesce a causa di credenziali scadute.

271 271 

272<h3 id="security-approval-dialogs">272<h3 id="security-approval-dialogs">

273 Finestre di dialogo di approvazione della sicurezza273 Finestre di dialogo di approvazione di sicurezza

274</h3>274</h3>

275 275 

276Determinate impostazioni che potrebbero comportare rischi di sicurezza richiedono l'approvazione esplicita dell'utente prima che Claude Code le applichi in una sessione interattiva:276Alcune impostazioni che potrebbero comportare rischi per la sicurezza richiedono l'approvazione esplicita dell'utente prima che Claude Code le applichi in una sessione interattiva:

277 277 

278* **Impostazioni dei comandi shell**: impostazioni che eseguono comandi shell, come `apiKeyHelper`, `statusLine` e `otelHeadersHelper`278* **Impostazioni di comandi shell**: impostazioni che eseguono comandi shell, come `apiKeyHelper`, `statusLine` e `otelHeadersHelper`

279* **Impostazioni dei binari della sandbox**: `sandbox.bwrapPath`, `sandbox.socatPath` e `sandbox.ripgrep`. Ognuna di queste impostazioni punta a un eseguibile e Claude Code esegue quell'eseguibile279* **Impostazioni dei binari della sandbox**: `sandbox.bwrapPath`, `sandbox.socatPath` e `sandbox.ripgrep`. Ciascuna di queste impostazioni punta a un eseguibile, e Claude Code esegue quell'eseguibile

280* **Impostazioni di rete e isolamento della sandbox**: impostazioni di [sandbox](/docs/it/sandboxing) che consentono al proxy della sandbox di leggere, reindirizzare o autenticare il traffico, o che indeboliscono l'isolamento della sandbox: `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets` e `sandbox.network.allowMachLookup`. Un blocco `sandbox.credentials` che contiene solo regole `deny` non necessita di approvazione, poiché limita la sandbox senza dare al proxy una credenziale. Prima della v2.1.251, Claude Code applicava queste impostazioni senza approvazione280* **Impostazioni di rete e di isolamento della sandbox**: impostazioni della [sandbox](/docs/it/sandboxing) che consentono al proxy della sandbox di leggere, reindirizzare o autenticare il traffico, oppure che indeboliscono l'isolamento della sandbox: `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets` e `sandbox.network.allowMachLookup`. Un blocco `sandbox.credentials` che contiene solo regole `deny` non richiede approvazione, poiché limita la sandbox senza fornire credenziali al proxy. Prima della v2.1.251, Claude Code applicava queste impostazioni senza approvazione

281* **Variabili di ambiente personalizzate**: variabili `env` consegnate che richiedono l'approvazione dell'utente, come le variabili proxy e base-URL; vedere [Variabili di ambiente e la finestra di dialogo di approvazione](#environment-variables-and-the-approval-dialog)281* **Variabili d'ambiente personalizzate**: variabili `env` fornite che richiedono l'approvazione dell'utente, come le variabili di proxy e di URL di base; consulta [Variabili d'ambiente e finestra di dialogo di approvazione](#environment-variables-and-the-approval-dialog)

282* **Configurazioni di hook**: qualsiasi definizione di hook282* **Configurazioni degli hook**: qualsiasi definizione di hook

283 283 

284Quando queste impostazioni sono presenti, gli utenti vedono una finestra di dialogo di sicurezza che spiega cosa viene configurato. Gli utenti devono approvare per procedere. Se un utente rifiuta le impostazioni, Claude Code esce.284Quando queste impostazioni sono presenti, gli utenti vedono una finestra di dialogo di sicurezza che spiega cosa viene configurato. Gli utenti devono approvare per procedere. Se un utente rifiuta le impostazioni, Claude Code esce.

285 285 

286Un CLAUDE.md gestito consegnato tramite la chiave [`claudeMd`](/docs/it/settings-reference#claudemd) non richiede approvazione, perché è testo di istruzione per Claude piuttosto che un comando che Claude Code esegue. Claude Code controlla comunque i [permessi](/docs/it/permissions) per gli strumenti che Claude utilizza mentre segue quelle istruzioni. Prima della v2.1.260, un valore `claudeMd` richiedeva approvazione anche.286Un CLAUDE.md gestito fornito tramite la chiave [`claudeMd`](/docs/it/settings-reference#claudemd) non richiede approvazione, perché è un testo di istruzioni per Claude e non un comando eseguito da Claude Code. Claude Code controlla comunque i [permessi](/docs/it/permissions) per gli strumenti che Claude usa mentre segue quelle istruzioni. Prima della v2.1.260, anche un valore `claudeMd` richiedeva approvazione.

287 287 

288<h4 id="approval-memory">288<h4 id="approval-memory">

289 Memoria di approvazione289 Memoria delle approvazioni

290</h4>290</h4>

291 291 

292Claude Code registra la vostra approvazione nella vostra directory di configurazione, `~/.claude` a meno che non impostiate [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars). Quello che registra dipende dalla credenziale che il recupero delle impostazioni utilizza:292Claude Code registra la tua approvazione nella tua directory di configurazione, `~/.claude` a meno che tu non imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars). Cosa registra dipende dalle credenziali usate dal recupero delle impostazioni:

293 293 

294* **Un accesso claude.ai salvato da `/login` o `claude auth login`, o l'[accesso alla Console senza chiave](/docs/it/authentication#sign-in-without-an-api-key)**: un'approvazione per organizzazione, tenuta dall'account che ha approvato più di recente.294* **Un accesso a claude.ai salvato da `/login` o `claude auth login`, oppure l'[accesso alla Console senza chiave](/docs/it/authentication#sign-in-without-an-api-key)**: un'approvazione per organizzazione, detenuta dall'account che ha approvato più di recente.

295* **Un accesso al [gateway di app Claude](/docs/it/claude-apps-gateway)**: un'approvazione per gateway.295* **Un accesso tramite [gateway delle app Claude](/docs/it/claude-apps-gateway)**: un'approvazione per gateway.

296 296 

297 Se vi disconnettete e vi riconnettete allo stesso gateway, Claude Code non mostra la finestra di dialogo di nuovo mentre le impostazioni che richiedono approvazione rimangono invariate. Claude Code la mostra di nuovo quando quelle impostazioni cambiano, quando vi connettete a un gateway diverso e quando accettate un nuovo certificato per lo stesso gateway.297 Se esci e accedi di nuovo allo stesso gateway, Claude Code non mostra di nuovo la finestra di dialogo finché le impostazioni che richiedono approvazione restano invariate. Claude Code la mostra di nuovo quando quelle impostazioni cambiano, quando accedi a un gateway diverso e quando accetti un nuovo certificato per lo stesso gateway.

298 298 

299 Claude Code non salva alcuna approvazione per un gateway di sviluppo loopback raggiunto su HTTP semplice, quindi la finestra di dialogo appare di nuovo dopo ogni accesso.299 Claude Code non salva alcuna approvazione per un gateway di sviluppo in loopback raggiunto tramite HTTP semplice, quindi la finestra di dialogo compare di nuovo dopo ogni accesso.

300* **Qualsiasi altra credenziale**, come una chiave API o `CLAUDE_CODE_OAUTH_TOKEN`: un'approvazione per le impostazioni consegnate, mantenuta con la copia memorizzata nella cache delle impostazioni in quella directory di configurazione. Claude Code mostra la finestra di dialogo di nuovo quando le impostazioni che richiedono approvazione cambiano, e dopo che eseguite `/logout` o `claude auth logout`, uno dei quali elimina la copia memorizzata nella cache.300* **Qualsiasi altra credenziale**, come una chiave API o `CLAUDE_CODE_OAUTH_TOKEN`: un'approvazione per le impostazioni fornite, conservata insieme alla copia delle impostazioni nella cache in quella directory di configurazione. Claude Code mostra di nuovo la finestra di dialogo quando le impostazioni che richiedono approvazione cambiano, e dopo che esegui `/logout` o `claude auth logout`, ciascuno dei quali elimina la copia nella cache.

301 301 

302Un'approvazione per `sandbox.credentials` o `sandbox.network.tlsTerminate` copre anche le voci [`sandbox.network.allowedDomains`](/docs/it/settings-reference#sandbox-network-alloweddomains) nelle stesse impostazioni consegnate, perché entrambe le impostazioni agiscono su quella lista di autorizzazione. La finestra di dialogo appare di nuovo quando l'amministratore aggiunge o rimuove una di quelle voci, anche se `sandbox.network.allowedDomains` non richiede approvazione da sola.302Un'approvazione per `sandbox.credentials` o `sandbox.network.tlsTerminate` copre anche le voci di [`sandbox.network.allowedDomains`](/docs/it/settings-reference#sandbox-network-alloweddomains) in quelle stesse impostazioni fornite, perché entrambe le impostazioni agiscono su quell'allowlist. La finestra di dialogo compare di nuovo quando l'amministratore aggiunge o rimuove una di quelle voci, anche se `sandbox.network.allowedDomains` di per sé non richiede approvazione.

303 303 

304Con un accesso claude.ai salvato:304Con un accesso a claude.ai salvato:

305 305 

306* Se vi disconnettete e vi riconnettete, o passate a un'altra organizzazione e successivamente tornate, Claude Code non mostra la finestra di dialogo di nuovo mentre quelle impostazioni rimangono invariate, a meno che un altro account non le abbia approvate per quell'organizzazione nella stessa directory di configurazione nel frattempo.306* Se esci e accedi di nuovo, o passi a un'altra organizzazione e poi torni, Claude Code non mostra di nuovo la finestra di dialogo finché quelle impostazioni restano invariate, a meno che nel frattempo un altro account non le abbia approvate per quell'organizzazione nella stessa directory di configurazione.

307* Se vi connettete alla stessa organizzazione con un account diverso, Claude Code mostra la finestra di dialogo di nuovo anche quando le impostazioni rimangono invariate. L'approvazione di quell'account sostituisce la precedente, quindi quando tornate, Claude Code mostra la finestra di dialogo ancora una volta.307* Se accedi alla stessa organizzazione con un account diverso, Claude Code mostra di nuovo la finestra di dialogo anche se le impostazioni sono invariate. L'approvazione di quell'account sostituisce la precedente, quindi quando torni all'account originale Claude Code mostra ancora una volta la finestra di dialogo.

308 308 

309Claude Code non può sempre mostrare la finestra di dialogo. Ogni caso di seguito dice quali impostazioni si applicano quando non può e quando vedete di nuovo la finestra di dialogo:309Claude Code non può sempre mostrare la finestra di dialogo. Ciascun caso seguente indica quali impostazioni si applicano quando non può farlo e quando vedrai la finestra di dialogo la volta successiva:

310 310 

311* **Una sessione interattiva che non può mostrare la finestra di dialogo**: Claude Code non applica le impostazioni consegnate e mantiene le ultime impostazioni approvate. La finestra di dialogo appare nella prossima sessione che può mostrarla. Richiede Claude Code v2.1.211 o successivo.311* **Una sessione interattiva che non può mostrare la finestra di dialogo**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. La finestra di dialogo compare nella sessione successiva in grado di mostrarla. Richiede Claude Code v2.1.211 o successivo.

312* **`claude install` o `claude update`**: Claude Code non mostra la finestra di dialogo durante nessuno dei due comandi. Il comando viene eseguito con le ultime impostazioni approvate e la finestra di dialogo appare nella vostra prossima sessione interattiva. Se Claude Code attende il recupero delle impostazioni all'avvio, come con [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) impostato o su una distribuzione [gateway di app Claude](/docs/it/claude-apps-gateway), mostra la finestra di dialogo durante il comando invece, e un'esecuzione di installazione da una pipe non riesce; vedere [`Raw mode is not supported` durante l'installazione](/docs/it/troubleshoot-install#raw-mode-is-not-supported-during-install). Prima della v2.1.246, Claude Code cercava di mostrare la finestra di dialogo durante questi comandi anche.312* **`claude install` o `claude update`**: Claude Code non mostra la finestra di dialogo durante nessuno dei due comandi. Il comando viene eseguito con le ultime impostazioni approvate, e la finestra di dialogo compare nella tua successiva sessione interattiva. Se Claude Code attende il recupero delle impostazioni all'avvio, ad esempio con [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) impostato o in una distribuzione con [gateway delle app Claude](/docs/it/claude-apps-gateway), mostra invece la finestra di dialogo durante il comando, e un'installazione eseguita da una pipe non riesce; consulta [`Raw mode is not supported` durante l'installazione](/docs/it/troubleshoot-install#raw-mode-is-not-supported-during-install). Prima della v2.1.246, Claude Code tentava di mostrare la finestra di dialogo anche durante questi comandi.

313* **Un errore chiude la finestra di dialogo prima che rispondiate**: Claude Code non applica le impostazioni consegnate e mantiene le ultime impostazioni approvate. La mostra di nuovo nella prossima sessione che può mostrarla.313* **Un errore chiude la finestra di dialogo prima che tu risponda**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. Mostra di nuovo la finestra di dialogo nella sessione successiva in grado di mostrarla.

314* **Un'esecuzione non interattiva**, come `claude -p`, una sessione Agent SDK, o una sessione nel pannello di chat dell'estensione VS Code o nella scheda Code dell'app desktop: Claude Code non può mostrare la finestra di dialogo, quindi quando le impostazioni consegnate richiederebbero approvazione, le applica solo per quella esecuzione. Non le registra come approvate o le scrive nella [cache locale](#fetch-and-caching-behavior), e la prossima sessione interattiva mostra la finestra di dialogo. Fino a quando un utente non approva in una sessione interattiva, ogni esecuzione non interattiva recupera le impostazioni di nuovo all'avvio. Prima della v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate, quindi le sessioni interattive successive non mostravano mai la finestra di dialogo per esse.314* **Un'esecuzione non interattiva**, come `claude -p`, una sessione dell'Agent SDK o una sessione nel pannello della chat dell'estensione VS Code o nella scheda Code dell'app desktop: Claude Code non può mostrare la finestra di dialogo, quindi quando le impostazioni fornite richiederebbero approvazione, le applica solo per quell'esecuzione. Non le registra come approvate né le scrive nella [cache locale](#fetch-and-caching-behavior), e la sessione interattiva successiva mostra la finestra di dialogo. Finché un utente non approva in una sessione interattiva, ogni esecuzione non interattiva recupera di nuovo le impostazioni all'avvio. Prima della v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate, quindi le sessioni interattive successive non mostravano mai la finestra di dialogo per esse.

315 315 

316<h4 id="environment-variables-and-the-approval-dialog">316<h4 id="environment-variables-and-the-approval-dialog">

317 Variabili di ambiente e la finestra di dialogo di approvazione317 Variabili d'ambiente e finestra di dialogo di approvazione

318</h4>318</h4>

319 319 

320Claude Code applica alcune variabili `env` consegnate senza mostrare all'utente la finestra di dialogo di approvazione, incluse:320Claude Code applica alcune variabili `env` fornite senza mostrare all'utente la finestra di dialogo di approvazione, tra cui:

321 321 

322* Interruttori di funzionalità e comandi322* Interruttori di funzionalità e comandi

323* Impostazioni di selezione e comportamento del modello, come `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING` e `CLAUDE_CODE_EFFORT_LEVEL`323* Impostazioni di selezione e comportamento del modello, come `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING` e `CLAUDE_CODE_EFFORT_LEVEL`

324* Impostazioni della finestra di contesto e compattazione, come `DISABLE_AUTO_COMPACT`324* Impostazioni della finestra di contesto e della compattazione, come `DISABLE_AUTO_COMPACT`

325* Opzioni di accessibilità e interfaccia utente del terminale325* Opzioni dell'interfaccia del terminale e di accessibilità

326* Limiti numerici, budget e timeout326* Limiti numerici, budget e timeout

327 327 

328Altre variabili consegnate possono richiedere l'approvazione dell'utente prima che abbiano effetto; un valore proxy, base-URL o `OTEL_EXPORTER_OTLP_ENDPOINT` non vuoto lo fa sempre. Quando una variabile consegnata necessita di approvazione, la finestra di dialogo la nomina, in modo che l'utente veda esattamente cosa la politica chiede di impostare. Prima della v2.1.218, Claude Code applicava meno variabili senza chiedere all'utente, quindi impostazioni come `DISABLE_AUTO_COMPACT` attivavano la finestra di dialogo a qualsiasi valore non vuoto.328Altre variabili fornite possono richiedere l'approvazione dell'utente prima di entrare in vigore; un valore non vuoto di proxy, URL di base o `OTEL_EXPORTER_OTLP_ENDPOINT` la richiede sempre. Quando una variabile fornita richiede approvazione, la finestra di dialogo ne indica il nome, così l'utente vede esattamente cosa la policy chiede di impostare. Prima della v2.1.218, Claude Code applicava meno variabili senza chiedere all'utente, quindi impostazioni come `DISABLE_AUTO_COMPACT` attivavano la finestra di dialogo con qualsiasi valore non vuoto.

329 329 

330Claude Code decide se quattro interruttori di privacy necessitano di approvazione dal valore consegnato piuttosto che dal nome della variabile: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Un valore veritiero come `1` o `true` spegne solo il tracciamento, la segnalazione o altro traffico non essenziale, quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.218, tutti tranne `DO_NOT_TRACK` si applicavano senza approvazione a qualsiasi valore, e `DO_NOT_TRACK` attivava la finestra di dialogo a qualsiasi valore non vuoto.330Claude Code decide se quattro interruttori relativi alla privacy richiedono approvazione in base al valore fornito anziché al nome della variabile: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Un valore truthy come `1` o `true` si limita a disattivare il tracciamento, la segnalazione o altro traffico non essenziale, quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.218, tutte tranne `DO_NOT_TRACK` si applicavano senza approvazione con qualsiasi valore, e `DO_NOT_TRACK` attivava la finestra di dialogo con qualsiasi valore non vuoto.

331 331 

332Claude Code decide anche se [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) necessita di approvazione dal valore consegnato: un valore veritiero attiva solo il [timeout di inattività del corpo](/docs/it/network-config#streaming-idle-watchdogs), quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.248, qualsiasi valore non vuoto attivava la finestra di dialogo.332Claude Code decide inoltre se [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) richiede approvazione in base al valore fornito: un valore truthy si limita ad attivare il [timeout di inattività del corpo](/docs/it/network-config#streaming-idle-watchdogs), quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.248, qualsiasi valore non vuoto attivava la finestra di dialogo.

333 333 

334Se [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars#variables) necessita di approvazione dipende anche dal valore consegnato. Le intestazioni che solo taggano le richieste, come `Accept-Language`, si applicano senza la finestra di dialogo. Una riga che nomina una credenziale, un selettore di org o tenant, un override di routing o host, o un'intestazione di comportamento API, come `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` o le intestazioni `X-Amzn-Bedrock-*`, richiede approvazione. Lo fa anche una riga il cui nome non è un token di intestazione HTTP valido, o il cui valore contiene un carattere che un'intestazione HTTP non può portare. Il controllo corrisponde alle parole all'interno del nome dell'intestazione, quindi `X-Client-Version`, che contiene `client` e `version`, richiede approvazione anche. Prima della v2.1.251, qualsiasi valore `ANTHROPIC_CUSTOM_HEADERS` si applicava senza di essa.334Anche la necessità di approvazione per [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars#variables) dipende dal valore fornito. Le intestazioni che si limitano a etichettare le richieste, come `Accept-Language`, si applicano senza la finestra di dialogo. Una riga che indica una credenziale, un selettore di organizzazione o tenant, un override di routing o di host, o un'intestazione che influisce sul comportamento delle API, come `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` o le intestazioni `X-Amzn-Bedrock-*`, richiede approvazione. Una riga richiede approvazione anche quando il suo nome non è un token di intestazione HTTP valido o il suo valore contiene un carattere che un'intestazione HTTP non può contenere. Il controllo individua parole all'interno del nome dell'intestazione, quindi anche `X-Client-Version`, che contiene `client` e `version`, richiede approvazione. Prima della v2.1.251, qualsiasi valore di `ANTHROPIC_CUSTOM_HEADERS` si applicava senza approvazione.

335 335 

336Un valore falso come `0` o `false` per [`ENABLE_BETA_TRACING_DETAILED`](/docs/it/env-vars#variables) o [`OTEL_LOG_RAW_API_BODIES`](/docs/it/env-vars#variables) si applica senza la finestra di dialogo, perché spegne solo la tracciatura dettagliata o l'acquisizione del corpo API grezzo. Qualsiasi altro valore non vuoto per una delle due variabili richiede approvazione.336Un valore falsy come `0` o `false` per [`ENABLE_BETA_TRACING_DETAILED`](/docs/it/env-vars#variables) o [`OTEL_LOG_RAW_API_BODIES`](/docs/it/env-vars#variables) si applica senza la finestra di dialogo, perché si limita a disattivare il tracing dettagliato o l'acquisizione dei corpi grezzi delle API. Qualsiasi altro valore non vuoto per una delle due variabili richiede approvazione.

337 337 

338<h2 id="platform-availability">338<h2 id="platform-availability">

339 Disponibilità della piattaforma339 Disponibilità della piattaforma

sessions.md +34 −32

Details

14 Riprendere una sessione14 Riprendere una sessione

15</h2>15</h2>

16 16 

17Le sessioni vengono salvate continuamente in [file di trascritto locali](#export-and-locate-session-data) mentre lavori, quindi puoi tornare a una dopo aver chiuso o eseguito `/clear`. Usa questi punti di ingresso:17Le sessioni vengono salvate continuamente in [file di trascrizione locali](#export-and-locate-session-data) mentre lavori, quindi puoi tornare a una dopo aver chiuso o eseguito `/clear`. Usa questi punti di ingresso:

18 18 

19| Comando | Cosa fa |19| Comando | Cosa fa |

20| :- | :- |20| :- | :- |

21| `claude --continue` | Riprende la conversazione più recente nella directory corrente |21| `claude --continue` | Riprende la conversazione più recente nella directory corrente |

22| `claude --resume` | Apre il [selezionatore di sessioni](#use-the-session-picker) |22| `claude --resume` | Apre il [selezionatore di sessioni](#use-the-session-picker) |

23| `claude --resume <name>` | Riprende direttamente la sessione denominata |23| `claude --resume <name>` | Riprende direttamente la sessione denominata |

24| `claude --resume <transcript-path>` | Riprende la conversazione archiviata nel file di [trascritto](#where-transcripts-are-stored) `.jsonl` a quel percorso assoluto |24| `claude --resume <transcript-path>` | Riprende la conversazione archiviata nel [file di trascrizione](#where-transcripts-are-stored) `.jsonl` a quel percorso assoluto |

25| `claude --from-pr <number>` | Apre il selezionatore di sessioni filtrato alle sessioni collegate a quella pull request |25| `claude --from-pr <number>` | Apre il selezionatore di sessioni filtrato alle sessioni collegate a quella pull request |

26| `/resume` | Passa a una conversazione diversa da una sessione attiva |26| `/resume` | Passa a una conversazione diversa da una sessione attiva |

27 27 


44 44 

45Quando la conversazione che riprendi con `claude --resume` o `/resume` appartiene a una [sessione in background](/docs/it/agent-view) ancora in esecuzione, Claude Code apre la sessione in esecuzione stessa. Con `--bg` sulla riga di comando, la ripresa è invece un [dispatch in background](/docs/it/agent-view#from-your-shell). Prima della v2.1.285, Claude Code rifiutava e ti diceva di aprire la sessione con `claude attach <id>`, oppure di fermarla prima con `claude stop <id>`.45Quando la conversazione che riprendi con `claude --resume` o `/resume` appartiene a una [sessione in background](/docs/it/agent-view) ancora in esecuzione, Claude Code apre la sessione in esecuzione stessa. Con `--bg` sulla riga di comando, la ripresa è invece un [dispatch in background](/docs/it/agent-view#from-your-shell). Prima della v2.1.285, Claude Code rifiutava e ti diceva di aprire la sessione con `claude attach <id>`, oppure di fermarla prima con `claude stop <id>`.

46 46 

47* **Dal tuo shell**: `claude --resume <session>` esegue [`claude attach`](/docs/it/agent-view#attach-to-a-session) su quella sessione nello stesso terminale invece di caricare il trascritto stesso. Un prompt che passi sulla riga di comando, come in `claude --resume <session> "check the tests too"`, va alla sessione come suo prossimo turno per primo, e Claude Code stampa `Sent your prompt to the background session (<id>); opening it…` prima di collegarsi. `claude -p --resume <session> "prompt"` digitato in un terminale fa lo stesso, quindi `-p` non mantiene quella esecuzione non interattiva.47* **Dalla tua shell**: `claude --resume <session>` esegue [`claude attach`](/docs/it/agent-view#attach-to-a-session) su quella sessione nello stesso terminale invece di caricare la trascrizione stessa. Un prompt che passi sulla riga di comando, come in `claude --resume <session> "check the tests too"`, va alla sessione come suo prossimo turno per primo, e Claude Code stampa `Sent your prompt to the background session (<id>); opening it…` prima di collegarsi. `claude -p --resume <session> "prompt"` digitato in un terminale fa lo stesso, quindi `-p` non mantiene quella esecuzione non interattiva.

48 48 

49 Claude Code non apre la sessione quando la riga di comando ha uno di questi:49 Claude Code non apre la sessione quando la riga di comando ha uno di questi:

50 50 


53 * Flag che leggono l'output, come `--output-format json` o `--json-schema`53 * Flag che leggono l'output, come `--output-format json` o `--json-schema`

54 * Flag che limitano o riavvolgono l'esecuzione, come `--max-turns` o `--max-budget-usd`54 * Flag che limitano o riavvolgono l'esecuzione, come `--max-turns` o `--max-budget-usd`

55 55 

56 Con uno di questi, o quando la [visualizzazione agent è disattivata](/docs/it/agent-view#turn-off-agent-view), Claude Code non invia nulla ed esce con stato 1, stampando che la sessione è in esecuzione in background insieme al comando `claude attach <id>` che l'apre, oppure dicendoti di trovarla in `claude agents` quando non riesce a determinare l'ID. Aggiungi `--fork-session` per riprendere una copia della conversazione. Per continuare la conversazione stessa in una sessione tua, con i tuoi flag applicati, esegui `claude stop <id>` e poi ripeti il comando.56 Con uno di questi, o quando la [visualizzazione agent è disattivata](/docs/it/agent-view#turn-off-agent-view), Claude Code non invia nulla ed esce con stato 1, stampando che la sessione è in esecuzione in background insieme al comando `claude attach <id>` che l'apre, oppure dicendoti di trovarla in `claude agents` quando non riesce a determinare l'ID. Aggiungi invece `--fork-session` per riprendere una copia della conversazione. Per continuare la conversazione stessa in una sessione tua, con i tuoi flag applicati, esegui `claude stop <id>` e poi ripeti il comando.

57 57 

58 Un prompt che inizia con `/` o `!` non viene inviato, e neanche alcun prompt mentre la sessione attende la tua risposta a una domanda. In entrambi i casi Claude Code non apre la sessione, e il messaggio include `Your prompt was not sent to it` con il motivo.58 Un prompt che inizia con `/` o `!` non viene inviato, e neanche alcun prompt mentre la sessione attende la tua risposta a una domanda. In entrambi i casi Claude Code non apre la sessione, e il messaggio include `Your prompt was not sent to it` con il motivo.

59* **Da dentro una sessione**: `/resume` sposta la tua conversazione corrente in background e collega questo terminale alla sessione in esecuzione, stampando `Opening "<title>", running in the background (<id>)`. Premi `←` su un prompt vuoto per tornare alla visualizzazione agent, che elenca anche la conversazione che hai lasciato. Quando la conversazione corrente non può spostarsi in background, ad esempio perché sei già collegato a una sessione in background o la persistenza della sessione è disattivata, `/resume` stampa il comando `claude attach` da eseguire.59* **Da dentro una sessione**: `/resume` sposta la tua conversazione corrente in background e collega questo terminale alla sessione in esecuzione, stampando `Opening "<title>", running in the background (<id>)`. Premi `←` su un prompt vuoto per tornare alla visualizzazione agent, che elenca anche la conversazione che hai lasciato. Quando la conversazione corrente non può spostarsi in background, ad esempio perché sei già collegato a una sessione in background o la persistenza della sessione è disattivata, `/resume` stampa invece il comando `claude attach` da eseguire.

60 60 

61<h3 id="what-a-resumed-session-restores">61<h3 id="what-a-resumed-session-restores">

62 Cosa ripristina una sessione ripresa62 Cosa ripristina una sessione ripresa

63</h3>63</h3>

64 64 

65Quando Claude Code carica una conversazione dal suo trascritto, la sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:65Quando Claude Code carica una conversazione dalla sua trascrizione, la sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:

66 66 

67* Cronologia della conversazione: la cronologia completa, incluse le chiamate agli strumenti e i risultati. Uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce o non viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato. Prima della v2.1.281, Claude Code eliminava la chiamata interrotta dalla conversazione o la mostrava a Claude come una che hai interrotto.67* Cronologia della conversazione: la cronologia completa, incluse le chiamate agli strumenti e i risultati. Uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce o non viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato. Prima della v2.1.281, Claude Code eliminava la chiamata interrotta dalla conversazione o la mostrava a Claude come una che hai interrotto.

68* Modello: la sessione continua sul modello che stava utilizzando. Il modello non viene ripristinato quando è stato ritirato o non è consentito da `availableModels`, quando un flag `--model` o una variabile di ambiente della famiglia `ANTHROPIC_MODEL` ne seleziona uno al lancio, o su provider che utilizzano ID di distribuzione specifici del provider, come [Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry](/docs/it/third-party-integrations); vedi [configurazione del modello](/docs/it/model-config#setting-your-model) per l'ordine di risoluzione.68* Modello: la sessione continua sul modello che stava utilizzando, tranne nei casi descritti in [Impostare il modello](/docs/it/model-config#setting-your-model).

69* Agent: una sessione avviata con [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent` continua come quell'agent, mantenendo le sue restrizioni degli strumenti e il modello. Passa `--agent` quando riprendi per sceglierne uno diverso; per il prompt di sistema in entrambi i casi, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cerca l'agent in due posti: la directory originale della sessione, a condizione che tu abbia [fiducia in quell'area di lavoro](/docs/it/permissions#project-allow-rules-and-workspace-trust), e poi la directory da cui riprendi, quindi un agent con ambito di progetto si carica ancora quando riprendi da un'altra directory. Se Claude Code non trova l'agent in nessuno dei due posti, la sessione riprende con gli strumenti predefiniti e mostra un [avviso che nomina l'agent](/docs/it/errors#session-agent-no-longer-available).69* Agente: una sessione avviata con [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent` continua come quell'agente, mantenendo le sue restrizioni degli strumenti e il modello. Passa `--agent` quando riprendi per sceglierne uno diverso; per il prompt di sistema in entrambi i casi, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cerca l'agente in due posti: la directory originale della sessione, a condizione che tu abbia [dato fiducia a quel workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), e poi la directory da cui riprendi, quindi un agente con ambito di progetto si carica ancora quando riprendi da un'altra directory. Se Claude Code non trova l'agente in nessuno dei due posti, la sessione riprende con gli strumenti predefiniti e mostra un [avviso che nomina l'agente](/docs/it/errors#session-agent-no-longer-available).

70* Modalità di autorizzazione: se riprendi da un terminale con `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`, Claude Code ripristina la modalità di autorizzazione in cui era la sessione, tranne nei casi in [modalità di autorizzazione al ripristino](#permission-mode-on-resume), che copre anche il selezionatore di sessioni, `/resume` e la ripresa con `claude -p`. Passa `--permission-mode` o `--dangerously-skip-permissions` per ignorare la modalità ripristinata.70* Modalità di permesso: se riprendi da un terminale con `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`, Claude Code ripristina la modalità di permesso in cui era la sessione, tranne nei casi in [modalità di permesso alla ripresa](#permission-mode-on-resume), che copre anche il selezionatore di sessioni, `/resume` e la ripresa con `claude -p`. Passa `--permission-mode` o `--dangerously-skip-permissions` per sovrascrivere la modalità ripristinata.

71* Obiettivo attivo: un [obiettivo](/docs/it/goal#resume-with-an-active-goal) che era ancora attivo quando la sessione è terminata si trasferisce; il suo conteggio dei turni, il timer e la linea di base della spesa di token si ripristinano.71* Obiettivo attivo: un [obiettivo](/docs/it/goal#resume-with-an-active-goal) che era ancora attivo quando la sessione è terminata si trasferisce; il suo conteggio dei turni, il timer e la linea di base della spesa di token si ripristinano.

72* Attività pianificate: le [attività che non sono scadute](/docs/it/scheduled-tasks#limitations) vengono ripristinate. Le attività Bash in background e le attività di monitoraggio non lo sono.72* Attività pianificate: le [attività che non sono scadute](/docs/it/scheduled-tasks#limitations) vengono ripristinate. Le attività Bash in background e le attività di monitoraggio non lo sono.

73* Lavoro in background: un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background), un comando Bash in background o un [workflow](/docs/it/workflows) che è terminato con il processo precedente appare nel trascritto ripreso come una nota che non è stato completato. Claude Code non avvia un turno da quelle note; Claude le legge con il tuo prossimo prompt.73* Lavoro in background: un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background), un comando Bash in background o un [workflow](/docs/it/workflows) che è terminato con il processo precedente appare nella trascrizione ripresa come una nota che non è stato completato. Claude Code non avvia un turno da quelle note; Claude le legge con il tuo prossimo prompt.

74 74 

75Non ogni flag di configurazione dal lancio originale viene ripristinato. Se la sessione dipendeva da `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` o directory aggiunte con `--add-dir`, passale di nuovo quando riprendi; le directory aggiunte a metà sessione con `/add-dir` non vengono ripristinate neanche, anche se il selezionatore di sessioni le usa ancora per individuare la sessione. I file di impostazioni standard, come `settings.json` e `settings.local.json`, vengono riletti al lancio, quindi la configurazione che vive in essi non ha bisogno di essere passata di nuovo. Per `--system-prompt` e `--append-system-prompt`, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations).75Non ogni flag di configurazione dal lancio originale viene ripristinato. Se la sessione dipendeva da `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` o directory aggiunte con `--add-dir`, passale di nuovo quando riprendi; le directory aggiunte a metà sessione con `/add-dir` non vengono ripristinate neanche, anche se il selezionatore di sessioni le usa ancora per individuare la sessione. I file di impostazioni standard, come `settings.json` e `settings.local.json`, vengono riletti al lancio, quindi la configurazione che vive in essi non ha bisogno di essere passata di nuovo. Per `--system-prompt` e `--append-system-prompt`, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations).

76 76 

77<h4 id="permission-mode-on-resume">77<h4 id="permission-mode-on-resume">

78 Modalità di autorizzazione al ripristino78 Modalità di permesso alla ripresa

79</h4>79</h4>

80 80 

81La modalità di autorizzazione in cui Claude Code avvia una sessione ripresa dipende da come la riprendi. I casi di seguito si applicano quando Claude Code carica la conversazione dal suo trascritto; quando invece [apri una sessione in background ancora in esecuzione](#resume-a-running-background-session), quella sessione mantiene la modalità di autorizzazione in cui si trova.81La modalità di permesso in cui Claude Code avvia una sessione ripresa dipende da come la riprendi. I casi di seguito si applicano quando Claude Code carica la conversazione dalla sua trascrizione; quando invece [apri una sessione in background ancora in esecuzione](#resume-a-running-background-session), quella sessione mantiene la modalità di permesso in cui si trova.

82 82 

83* Terminale: `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`. Claude Code ripristina la modalità di autorizzazione in cui era la sessione, tranne nei casi nella tabella. Passa `--permission-mode` o `--dangerously-skip-permissions` per ignorare la modalità ripristinata.83* Terminale: `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`. Claude Code ripristina la modalità di permesso in cui era la sessione, tranne nei casi nella tabella. Passa `--permission-mode` o `--dangerously-skip-permissions` per sovrascrivere la modalità ripristinata.

84* Non interattivo: `claude -p --resume` o `claude -p --continue`. Claude Code avvia l'esecuzione nella modalità di autorizzazione in cui una nuova esecuzione `claude -p` si avvierebbe, tranne che una sessione che è terminata in modalità piano riprende in modalità piano secondo le [condizioni di seguito](#resume-in-plan-mode-with-p).84* Non interattivo: `claude -p --resume` o `claude -p --continue`. Claude Code avvia l'esecuzione nella modalità di permesso in cui si avvierebbe una nuova esecuzione `claude -p`, tranne che una sessione che è terminata in plan mode riprende in plan mode secondo le [condizioni di seguito](#resume-in-plan-mode-with-p).

85* VS Code: il pannello di conversazione dell'estensione. La tabella copre solo una conversazione che è terminata in modalità piano; per il resto, vedi [riprendere conversazioni passate](/docs/it/vs-code#resume-past-conversations).85* VS Code: il pannello di conversazione dell'estensione. La tabella copre solo una conversazione che è terminata in plan mode; per il resto, vedi [riprendere conversazioni passate](/docs/it/vs-code#resume-past-conversations).

86* Selezionatore di sessioni al lancio: una sessione che selezioni dal [selezionatore di sessioni](#use-the-session-picker), che tu l'abbia aperto con `claude --resume` da solo, `claude --from-pr` o un nome che corrisponde a più di una sessione. Claude Code non ripristina la modalità di autorizzazione archiviata. Avvia la sessione nella modalità di autorizzazione in cui avvierebbe una nuova sessione dalla stessa riga di comando.86* Selezionatore di sessioni al lancio: una sessione che selezioni dal [selezionatore di sessioni](#use-the-session-picker), che tu l'abbia aperto con `claude --resume` da solo, `claude --from-pr` o un nome che corrisponde a più di una sessione. Claude Code avvia la sessione nella modalità di permesso in cui avvierebbe una nuova sessione dalla stessa riga di comando, tranne che una sessione che è terminata in plan mode riprende in plan mode a meno che tu non passi `--permission-mode`, `--dangerously-skip-permissions` o `--fork-session`. Nessun'altra modalità di permesso archiviata viene ripristinata.

87* `/resume` dentro una sessione, con o senza argomento: Claude Code non ripristina la modalità di autorizzazione archiviata. La conversazione a cui passi continua nella modalità di autorizzazione in cui è la tua sessione corrente.87* `/resume` dentro una sessione, con o senza argomento: la conversazione a cui passi continua nella modalità di permesso in cui è la tua sessione corrente, tranne che una conversazione che è terminata in plan mode riprende in plan mode, anche se hai avviato Claude Code con `--permission-mode` o `--dangerously-skip-permissions`. Se quella conversazione era già stata aperta in precedenza in questa esecuzione di Claude Code, come la conversazione in cui hai iniziato o una che hai lasciato con `/clear` o `/resume`, continua invece nella tua modalità di permesso corrente.

88 88 

89Il ripristino della modalità piano sui percorsi non interattivi e VS Code richiede Claude Code v2.1.246 o successiva. Ogni riga nomina la modalità di autorizzazione in cui la sessione è terminata, quale dei percorsi terminale, non interattivo e VS Code la riprendi, e la modalità di autorizzazione in cui Claude Code avvia la sessione ripresa.89Il ripristino del plan mode sui percorsi non interattivo e VS Code richiede Claude Code v2.1.246 o successiva. Ogni riga nomina la modalità di permesso in cui la sessione è terminata, attraverso quale dei percorsi terminale, non interattivo e VS Code la riprendi, e la modalità di permesso in cui Claude Code avvia la sessione ripresa.

90 90 

91| La sessione è terminata in | Come la riprendi | Modalità di autorizzazione dopo il ripristino |91| La sessione è terminata in | Come la riprendi | Modalità di permesso dopo la ripresa |

92| :- | :- | :- |92| :- | :- | :- |

93| `bypassPermissions` | Terminale | La modalità di autorizzazione in cui una nuova sessione si avvierebbe. Per [ignorare le autorizzazioni](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) di nuovo, abilitala al lancio con uno dei suoi flag di lancio o `permissions.defaultMode: "bypassPermissions"` in [impostazioni utente, `--settings` o impostazioni gestite](/docs/it/settings-reference#permissions-defaultmode) |93| `bypassPermissions` | Terminale | La modalità di permesso in cui si avvierebbe una nuova sessione. Per [bypassare i permessi](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) di nuovo, abilitala al lancio con uno dei suoi flag di lancio o `permissions.defaultMode: "bypassPermissions"` in [impostazioni utente, `--settings` o impostazioni gestite](/docs/it/settings-reference#permissions-defaultmode) |

94| `plan` | Terminale | La modalità di autorizzazione in cui una nuova sessione si avvierebbe |94| `plan` | Terminale | Plan mode. Con `--fork-session`, la modalità di permesso in cui si avvierebbe una nuova sessione |

95| `auto` | Terminale | `auto`, solo quando il tuo account soddisfa ancora i [requisiti della modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) |95| `auto` | Terminale | `auto`, solo quando il tuo account soddisfa ancora i [requisiti della modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) |

96| Manuale | Terminale | Manuale quando una nuova sessione si avvierebbe in modalità auto dal [default integrato](/docs/it/permission-modes#which-mode-a-session-starts-in). Quando un `defaultMode` da un file di impostazioni [ha effetto](/docs/it/permission-modes#which-mode-a-session-starts-in), Claude Code avvia la sessione ripresa in quella modalità invece |96| Manuale | Terminale | Manuale quando una nuova sessione si avvierebbe in modalità auto dal [default integrato](/docs/it/permission-modes#which-mode-a-session-starts-in). Quando un `defaultMode` da un file di impostazioni [ha effetto](/docs/it/permission-modes#which-mode-a-session-starts-in), Claude Code avvia invece la sessione ripresa in quella modalità |

97| `plan` | Non interattivo, secondo le [condizioni di seguito](#resume-in-plan-mode-with-p) | Modalità piano |97| `plan` | Non interattivo, secondo le [condizioni di seguito](#resume-in-plan-mode-with-p) | Plan mode |

98| Qualsiasi modalità | Non interattivo, in qualsiasi altro caso | La modalità di autorizzazione in cui una nuova esecuzione `claude -p` si avvierebbe |98| Qualsiasi modalità | Non interattivo, in qualsiasi altro caso | La modalità di permesso in cui si avvierebbe una nuova esecuzione `claude -p` |

99| `plan` | VS Code | Modalità piano, con [le eccezioni nella pagina VS Code](/docs/it/vs-code#resume-past-conversations) |99| `plan` | VS Code | Plan mode, con [le eccezioni nella pagina VS Code](/docs/it/vs-code#resume-past-conversations) |

100 

101<a id="resume-in-plan-mode-with-p" />

100 102 

101<h5 id="resume-in-plan-mode-with-p">103<h5 id="resume-in-plan-mode-with-p">

102 Riprendere in modalità piano con `-p`104 Riprendere in plan mode con `-p`

103</h5>105</h5>

104 106 

105Un'esecuzione `claude -p --resume` o `claude -p --continue` riprende in modalità piano solo quando tutte queste condizioni sono soddisfatte:107Un'esecuzione `claude -p --resume` o `claude -p --continue` riprende in plan mode solo quando tutte queste condizioni sono soddisfatte:

106 108 

107* Passi [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) e non passi [`--permission-prompts none`](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs), in modo che Claude Code possa presentare il piano per l'approvazione109* Passi [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) e non passi [`--permission-prompts none`](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs), in modo che Claude Code possa presentare il piano per l'approvazione

108* Non passi `--permission-mode` o `--dangerously-skip-permissions`110* Non passi `--permission-mode` o `--dangerously-skip-permissions`


119 121 

120* **Riprendi da riepilogo**: esegue [`/compact`](/docs/it/context-window#what-survives-compaction) immediatamente. Claude Code invia una richiesta di riepilogazione sulla cronologia completa, quindi sostituisce la cronologia con il riepilogo, i tuoi scambi più recenti e fino a cinque file letti di recente. Le richieste successive trasportano il riepilogo invece della cronologia completa.122* **Riprendi da riepilogo**: esegue [`/compact`](/docs/it/context-window#what-survives-compaction) immediatamente. Claude Code invia una richiesta di riepilogazione sulla cronologia completa, quindi sostituisce la cronologia con il riepilogo, i tuoi scambi più recenti e fino a cinque file letti di recente. Le richieste successive trasportano il riepilogo invece della cronologia completa.

121* **Riprendi la sessione completa così com'è**: carica la conversazione invariata. Dopo che invii il tuo primo messaggio, Claude Code rielabora e memorizza nuovamente nella cache la cronologia completa, quindi la rilegge dalla cache nelle richieste successive mentre la cache rimane calda.123* **Riprendi la sessione completa così com'è**: carica la conversazione invariata. Dopo che invii il tuo primo messaggio, Claude Code rielabora e memorizza nuovamente nella cache la cronologia completa, quindi la rilegge dalla cache nelle richieste successive mentre la cache rimane calda.

122* **Non chiedermi più**: riprende la sessione completa e smette di mostrare la finestra di dialogo su tutti i futuri ripristini.124* **Non chiedermi più**: riprende la sessione completa e smette di mostrare la finestra di dialogo su tutte le future riprese.

123 125 

124Riprendere così com'è mantiene ogni dettaglio della conversazione disponibile, a un costo per richiesta che scala con la dimensione della conversazione. Riprendere dal riepilogo costa meno su ogni richiesta successiva perché trasporta il riepilogo invece della cronologia completa, ma qualunque cosa il riepilogo ometta non è più nel contesto di Claude. Vedi [perché l'utilizzo aumenta in una sessione lunga](/docs/it/costs#why-usage-climbs-in-a-long-session) per sapere da dove viene quel costo per richiesta.126Riprendere così com'è mantiene ogni dettaglio della conversazione disponibile, a un costo per richiesta che scala con la dimensione della conversazione. Riprendere dal riepilogo costa meno su ogni richiesta successiva perché trasporta il riepilogo invece della cronologia completa, ma qualunque cosa il riepilogo ometta non è più nel contesto di Claude. Vedi [perché l'utilizzo aumenta in una sessione lunga](/docs/it/costs#why-usage-climbs-in-a-long-session) per sapere da dove viene quel costo per richiesta.

125 127 


134 136 

135Usa `Ctrl+W` per ampliare a tutti i worktree del repository o `Ctrl+A` per ampliare a ogni progetto su questa macchina.137Usa `Ctrl+W` per ampliare a tutti i worktree del repository o `Ctrl+A` per ampliare a ogni progetto su questa macchina.

136 138 

137Le sessioni il cui primo prompt era un comando [`/loop`](/docs/it/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) non appaiono nel selezionatore, e `claude --continue` le salta anche. L'esecuzione di `/loop` più tardi in una conversazione non nasconde la sessione. Prima della v2.1.211, un'esecuzione `/loop` all'inizio di una conversazione nascondeva la sessione dal selezionatore in modo permanente.139Le sessioni il cui primo prompt era un comando [`/loop`](/docs/it/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) non appaiono nel selezionatore, e anche `claude --continue` le salta. L'esecuzione di `/loop` più tardi in una conversazione non nasconde la sessione. Prima della v2.1.211, un'esecuzione `/loop` all'inizio di una conversazione nascondeva la sessione dal selezionatore in modo permanente.

138 140 

139Lo spostamento di una sessione con [`/cd`](/docs/it/commands) la trasferisce nell'archivio del progetto della nuova directory, quindi appare nel selezionatore di quella directory in seguito. A partire dalla v2.1.196, una sessione spostata rimane fuori dal selezionatore della directory precedente anche dopo un arresto anomalo o un'uscita forzata. Nelle versioni precedenti, potrebbe anche riapparire nell'elenco della directory precedente dopo un'uscita non pulita quando il percorso precedente conteneva caratteri speciali come trattini bassi.141Lo spostamento di una sessione con [`/cd`](/docs/it/commands) la trasferisce nell'archivio del progetto della nuova directory, quindi appare nel selezionatore di quella directory in seguito. A partire dalla v2.1.196, una sessione spostata rimane fuori dal selezionatore della directory precedente anche dopo un arresto anomalo o un'uscita forzata. Nelle versioni precedenti, poteva anche riapparire nell'elenco della directory precedente dopo un'uscita non pulita quando il percorso precedente conteneva caratteri speciali come trattini bassi.

140 142 

141Quando selezioni una sessione da un altro worktree dello stesso repository, Claude Code la riprende sul posto; quando il worktree della sessione non esiste più, Claude Code [la riprende nella tua directory corrente](/docs/it/worktrees#resume-a-worktree-session). Quando selezioni una sessione da un progetto non correlato, Claude Code copia un comando `cd` e resume negli appunti. Se la directory di quel progetto non esiste più, Claude Code riprende la sessione nella tua directory corrente piuttosto che copiare un comando `cd` che fallirebbe.143Quando selezioni una sessione da un altro worktree dello stesso repository, Claude Code la riprende sul posto; quando il worktree della sessione non esiste più, Claude Code [la riprende nella tua directory corrente](/docs/it/worktrees#resume-a-worktree-session). Quando selezioni una sessione da un progetto non correlato, Claude Code copia invece un comando `cd` e resume negli appunti. Se la directory di quel progetto non esiste più, Claude Code riprende la sessione nella tua directory corrente piuttosto che copiare un comando `cd` che fallirebbe.

142 144 

143La ripresa per nome si risolve nel repository corrente e nei suoi worktree. Entrambi i moduli cercano una corrispondenza esatta e la riprendono direttamente anche se si trova in un worktree diverso:145La ripresa per nome si risolve nel repository corrente e nei suoi worktree. Entrambe le forme cercano una corrispondenza esatta e la riprendono direttamente anche se si trova in un worktree diverso:

144 146 

145| Comando | Corrispondenza esatta | Nome ambiguo |147| Comando | Corrispondenza esatta | Nome ambiguo |

146| :- | :- | :- |148| :- | :- | :- |

settings.md +26 −24

Details

407| Utente | `~/.claude/settings.json` | Voi, in ogni progetto su questa macchina | Preferenze personali: tema, modalità editor, modello predefinito, vostre regole di autorizzazione personali |407| Utente | `~/.claude/settings.json` | Voi, in ogni progetto su questa macchina | Preferenze personali: tema, modalità editor, modello predefinito, vostre regole di autorizzazione personali |

408| Progetto condiviso | `.claude/settings.json` | Tutti coloro che lavorano nella cartella che lo contiene. In un repository git, eseguite il commit in modo che i vostri colleghi lo ottengano | Autorizzazioni del team, hooks, plugins, e le variabili di ambiente di cui il progetto ha bisogno |408| Progetto condiviso | `.claude/settings.json` | Tutti coloro che lavorano nella cartella che lo contiene. In un repository git, eseguite il commit in modo che i vostri colleghi lo ottengano | Autorizzazioni del team, hooks, plugins, e le variabili di ambiente di cui il progetto ha bisogno |

409| Progetto locale | `.claude/settings.local.json` | Voi, in questo solo progetto. Claude Code lo mantiene fuori da git quando crea il file; se lo create manualmente, aggiungetelo a `.gitignore` voi stessi | Override personali per un progetto, e test prima di condividere |409| Progetto locale | `.claude/settings.local.json` | Voi, in questo solo progetto. Claude Code lo mantiene fuori da git quando crea il file; se lo create manualmente, aggiungetelo a `.gitignore` voi stessi | Override personali per un progetto, e test prima di condividere |

410| Gestito | `managed-settings.json` e altri [managed sources](/docs/it/managed-settings#delivery-mechanisms) | Tutti coloro a cui la vostra organizzazione lo distribuisce; nulla di quello che impostate lo sostituisce, a parte poche [eccezioni sensibili alla sicurezza](#exceptions-to-managed-settings-precedence) | Requisiti di politica di sicurezza e conformità |410| Gestito | `managed-settings.json` e altre [fonti gestite](/docs/it/managed-settings#delivery-mechanisms) | Tutti coloro a cui la tua organizzazione lo distribuisce; [Precedenza delle impostazioni](#settings-precedence) indica cosa può sovrascriverlo | Politiche di sicurezza e requisiti di conformità |

411 411 

412Nella colonna File, `~/.claude` è la cartella `.claude` nella vostra home directory, e un `.claude` semplice è la cartella `.claude` all'interno del vostro progetto.412Nella colonna File, `~/.claude` è la cartella `.claude` nella vostra home directory, e un `.claude` semplice è la cartella `.claude` all'interno del vostro progetto.

413 413 


659 659 

660In ordine, dalla precedenza più alta in primo luogo:660In ordine, dalla precedenza più alta in primo luogo:

661 661 

6621. **Impostazioni gestite**: impostazioni che la tua organizzazione distribuisce, tramite un file `managed-settings.json`, una policy MDM, o [impostazioni gestite dal server](/docs/it/server-managed-settings) dalla console claude.ai. Nulla di quello che imposti le sostituisce: una chiave che passi con `--settings` non sostituisce la stessa chiave gestita, e un flag come `--model` sceglie solo dai modelli che la tua organizzazione consente. Un `model` gestito imposta il modello con cui inizia ogni sessione, e puoi comunque passare a `/model`; il blocco è [`availableModels`](/docs/it/settings-reference#availablemodels), che vincola `/model`, `--model`, e la chiave `model` nei tuoi file. Quando la tua organizzazione fornisce più di una fonte gestita, le regole per la [precedenza all'interno del livello gestito](/docs/it/managed-settings#precedence-within-the-managed-tier) dicono cosa Claude Code legge da ciascuna.6621. **Impostazioni gestite**: impostazioni che la tua organizzazione distribuisce, tramite un file `managed-settings.json`, una policy MDM, o [impostazioni gestite dal server](/docs/it/server-managed-settings) dalla console claude.ai. Nulla nei tuoi file di impostazioni o in `--settings` sovrascrive una chiave gestita, e un flag come `--model` sceglie solo tra i modelli che la tua organizzazione consente. Un [`model`](/docs/it/settings-reference#model) gestito è un valore predefinito iniziale, non un blocco; i blocchi sono [`availableModels`](/docs/it/settings-reference#availablemodels) e [`deniedModels`](/docs/it/settings-reference#deniedmodels). Quando la tua organizzazione fornisce più di una fonte gestita, le regole per la [precedenza all'interno del livello gestito](/docs/it/managed-settings#precedence-within-the-managed-tier) dicono cosa Claude Code legge da ciascuna.

6632. **Argomenti della riga di comando**: flag che passi quando avvii `claude` da un terminale, per una sessione; vedi [Cambia un'impostazione per una sessione](#change-a-setting-for-one-session). Claude Code unisce il JSON che passi con `--settings <file-or-json>` con i tuoi file di impostazioni secondo le stesse regole degli altri livelli: prende una chiave che imposti qui rispetto alla stessa chiave nelle impostazioni locali, di progetto o utente, e mantiene il valore di livello inferiore per una chiave che ometti.6632. **Riga di comando**: JSON che passi con `--settings <file-or-json>` quando avvii `claude`, solo per quella sessione; vedi [Cambia un'impostazione per una sessione](#change-a-setting-for-one-session). Una chiave che imposti lì sovrascrive la stessa chiave nei tuoi file di impostazioni di progetto e utente, e una chiave che ometti mantiene il suo valore da quei file. Altri flag, come `--model`, impostano una singola cosa per la sessione e non fanno parte di questo stack; la voce di una chiave nel [riferimento delle impostazioni](/docs/it/settings-reference) dice quali flag la sovrascrivono.

6643. **Impostazioni locali del progetto** (`.claude/settings.local.json`): le tue impostazioni personali per questo progetto.6643. **Impostazioni locali del progetto** (`.claude/settings.local.json`): le tue impostazioni personali per questo progetto.

6654. **Impostazioni di progetto condivise** (`.claude/settings.json`): impostazioni che il tuo team inserisce nel controllo del codice sorgente.6654. **Impostazioni di progetto condivise** (`.claude/settings.json`): impostazioni che il tuo team inserisce nel controllo del codice sorgente.

6665. **Impostazioni utente** (`~/.claude/settings.json`): le tue impostazioni personali per ogni progetto.6665. **Impostazioni utente** (`~/.claude/settings.json`): le tue impostazioni personali per ogni progetto.

667 667 

668Le variabili di ambiente non sono un livello in questo stack. Quando un comportamento ha sia una variabile di shell che una chiave di impostazione, quale si applica è deciso per coppia, non per livello: `ANTHROPIC_MODEL` esportato nella tua shell si applica rispetto alla chiave `model` da qualsiasi file, mentre `ANTHROPIC_DEFAULT_MODEL` si applica solo quando nessun file imposta `model`. Il [riferimento delle variabili di ambiente](/docs/it/env-vars#precedence) dice quali chiavi hanno una coppia e quale Claude Code legge per primo. Un blocco `env` all'interno di un file di impostazioni è una chiave ordinaria e segue i livelli sopra.668Le variabili d'ambiente non sono un livello in questo stack. Quando un comportamento ha sia una variabile di shell che una chiave di impostazione, quale si applica è deciso per coppia, non per livello: `ANTHROPIC_MODEL` esportato nella tua shell si applica rispetto alla chiave `model` da qualsiasi file, mentre `ANTHROPIC_DEFAULT_MODEL` si applica solo quando nessun file imposta `model`. Il [riferimento delle variabili d'ambiente](/docs/it/env-vars#precedence) dice quali chiavi hanno una coppia e quale Claude Code legge per primo. Un blocco `env` all'interno di un file di impostazioni è una chiave ordinaria e segue i livelli sopra.

669 669 

670Per alcune chiavi sensibili alla sicurezza, Claude Code onora un valore più restrittivo da un livello inferiore rispetto a un valore gestito; [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence) le elenca.670Per alcune chiavi sensibili alla sicurezza, Claude Code onora un valore più restrittivo da un livello inferiore rispetto a un valore gestito; [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence) le elenca.

671 671 

672<h3 id="lists-merge-instead-of-overriding">672<h3 id="lists-merge-instead-of-overriding">

673 Gli elenchi si uniscono invece di sostituirsi673 Per gli elenchi si esegue il merge invece di sovrascriverli

674</h3>674</h3>

675 675 

676Quando imposti la stessa chiave di elenco, come `permissions.allow`, in più di un file, Claude Code combina gli elenchi invece di sceglierne uno, così ogni file può aggiungere voci senza rimuovere quelle di un altro file. Quattro chiavi che contengono elenchi di modelli o voci per modello seguono le loro proprie regole:676Quando imposti la stessa chiave di elenco, come `permissions.allow`, in più di un file, Claude Code combina gli elenchi invece di sceglierne uno, così ogni file può aggiungere voci senza rimuovere quelle di un altro file. Quattro chiavi che contengono elenchi di modelli o voci per modello seguono le loro proprie regole:

677 677 

678* [`fallbackModel`](/docs/it/settings-reference#fallbackmodel) è una catena ordinata in cui la posizione ha significato, quindi Claude Code prende l'intero valore dal file con la precedenza più alta che lo definisce.678* [`fallbackModel`](/docs/it/settings-reference#fallbackmodel) è una catena ordinata in cui la posizione ha significato, quindi Claude Code prende l'intero valore dal file con la precedenza più alta che lo definisce.

679* [`modelPicker`](/docs/it/settings-reference#modelpicker) contiene un elenco ordinato di righe più un flag di sostituzione, quindi Claude Code non unisce mai righe da due fonti. Prende l'intero valore dal più alto tra impostazioni gestite, `--settings`, e impostazioni utente che lo definisce, e ignora la chiave nelle impostazioni di progetto e locali. Richiede Claude Code v2.1.242 o successivo.679* [`modelPicker`](/docs/it/settings-reference#modelpicker) contiene un elenco ordinato di righe più un flag di sostituzione, quindi Claude Code non esegue mai il merge di righe da due fonti. Prende l'intero valore dal più alto tra impostazioni gestite, `--settings`, e impostazioni utente che lo definisce, e ignora la chiave nelle impostazioni di progetto e locali. Richiede Claude Code v2.1.242 o successivo.

680* [`availableModels`](/docs/it/settings-reference#availablemodels): quando le impostazioni gestite che Claude Code applica lo definiscono, Claude Code applica quell'elenco così com'è e ignora le voci che aggiungi nelle impostazioni utente, di progetto o locali, a meno che un'app che incorpora Claude Code non fornisca il suo elenco di modelli; vedi [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence). Tra le fonti gestite l'elenco non si unisce mai; [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quale elenco della fonte si applica. Tra gli ambiti non gestiti Claude Code unisce gli array come al solito.680* [`availableModels`](/docs/it/settings-reference#availablemodels): quando le impostazioni gestite che Claude Code applica lo definiscono, Claude Code applica quell'elenco così com'è e ignora le voci che aggiungi nelle impostazioni utente, di progetto o locali, a meno che un'app che incorpora Claude Code non fornisca il suo elenco di modelli; vedi [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence). Nemmeno tra le fonti gestite si esegue mai il merge dell'elenco; [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quale elenco della fonte si applica. Tra gli ambiti non gestiti Claude Code esegue il merge degli array come al solito.

681* [`modelSettings`](/docs/it/settings-reference#modelsettings): Claude Code lo risolve un modello alla volta, insieme a [`effortLevel`](/docs/it/settings-reference#effortlevel). La voce `modelSettings` indica quale valore del file si applica a un modello.681* [`modelSettings`](/docs/it/settings-reference#modelsettings): Claude Code lo risolve un modello alla volta, insieme a [`effortLevel`](/docs/it/settings-reference#effortlevel). La voce `modelSettings` indica quale valore del file si applica a un modello.

682 682 

683<span id="examples" />683<span id="examples" />


686 Esempi di precedenza686 Esempi di precedenza

687</h3>687</h3>

688 688 

689Mentre Claude lavora, Claude Code mostra un suggerimento di una riga sotto lo spinner, come "Usa /config per cambiare la tua modalità di autorizzazione predefinita (inclusa Plan Mode)". Supponiamo che tu voglia disattivare questi suggerimenti, quindi imposti [`spinnerTipsEnabled`](/docs/it/settings-reference#spinnertipsenabled) a `false` in `~/.claude/settings.json`. Ogni scenario sottostante è qualcosa che può riattivarli, e cosa puoi fare al riguardo.689Mentre Claude lavora, Claude Code mostra un suggerimento di una riga sotto lo spinner, come "Usa /config per cambiare la tua modalità di permesso predefinita (incluso il plan mode)". Supponiamo che tu voglia disattivare questi suggerimenti, quindi imposti [`spinnerTipsEnabled`](/docs/it/settings-reference#spinnertipsenabled) a `false` in `~/.claude/settings.json`. Ogni scenario sottostante è qualcosa che può riattivarli, e cosa puoi fare al riguardo.

690 690 

691<h4 id="team-settings-override-personal-settings">691<h4 id="team-settings-override-personal-settings">

692 Le impostazioni del team sostituiscono le impostazioni personali692 Le impostazioni del team sostituiscono le impostazioni personali


713Recuperi il tuo valore nella sessione successiva; `--settings` dura una sessione e non scrive in nessun file.713Recuperi il tuo valore nella sessione successiva; `--settings` dura una sessione e non scrive in nessun file.

714 714 

715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">

716 Un flag o una variabile di ambiente imposta la stessa cosa716 Un flag o una variabile d'ambiente imposta la stessa cosa

717</h4>717</h4>

718 718 

719Alcune chiavi hanno un flag della riga di comando o una variabile di ambiente che sostituisce il valore delle impostazioni indipendentemente da quale file lo ha impostato: `ANTHROPIC_MODEL` sostituisce l'impostazione [`model`](/docs/it/settings-reference#model), e `--model` sostituisce entrambi per una sessione.719Alcune chiavi hanno un flag della riga di comando o una variabile d'ambiente che sovrascrive il valore delle impostazioni indipendentemente da quale file lo ha impostato: `ANTHROPIC_MODEL` sovrascrive l'impostazione [`model`](/docs/it/settings-reference#model), e `--model` sovrascrive entrambi per una sessione.

720 720 

721Se puoi recuperare il tuo valore dipende dalla chiave: annulla l'impostazione della variabile o elimina il flag, e controlla la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference) e la riga della variabile nel [riferimento delle variabili di ambiente](/docs/it/env-vars) per sapere quale Claude Code utilizza.721Se puoi recuperare il tuo valore dipende dalla chiave: annulla l'impostazione della variabile o elimina il flag, e controlla la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference) e la riga della variabile nel [riferimento delle variabili d'ambiente](/docs/it/env-vars) per sapere quale Claude Code utilizza.

722 722 

723<span id="keys-ignored-in-a-repository-file" />723<span id="keys-ignored-in-a-repository-file" />

724 724 


740 740 

741Qualcos'altro sta impostando la stessa chiave, il file non può impostare quel valore, o il file non è stato caricato:741Qualcos'altro sta impostando la stessa chiave, il file non può impostare quel valore, o il file non è stato caricato:

742 742 

743* **Un livello più alto lo imposta.** Un altro file di impostazioni, un flag `--settings`, o una fonte gestita imposta la chiave sopra la tua; lo [stack](#settings-precedence) dice quale. Un flag o una variabile di ambiente può anche sostituire la chiave di per sé, deciso chiave per chiave; la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference) dice quale Claude Code utilizza, e la [voce `env`](/docs/it/settings-reference#env) copre un valore `env` gestito rispetto a un'esportazione di shell.743* **Un livello più alto lo imposta.** Un altro file di impostazioni, un flag `--settings`, o una fonte gestita imposta la chiave sopra la tua; lo [stack](#settings-precedence) dice quale. Un flag o una variabile d'ambiente può anche sovrascrivere la chiave di per sé, deciso chiave per chiave; la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference) dice quale Claude Code utilizza, e la [voce `env`](/docs/it/settings-reference#env) copre un valore `env` gestito rispetto a un'esportazione di shell.

744* **Una chiave di sicurezza mantiene il suo valore restrittivo.** Per alcune chiavi Claude Code onora il valore restrittivo da qualsiasi file, quindi un `true` di progetto per [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) rimane attivo; vedi [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence).744* **Una chiave di sicurezza mantiene il suo valore restrittivo.** Per alcune chiavi Claude Code onora il valore restrittivo da qualsiasi file, quindi un `true` di progetto per [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) rimane attivo; vedi [Eccezioni alla precedenza delle impostazioni gestite](#exceptions-to-managed-settings-precedence).

745* **Il file non può impostare quel valore.** I valori [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) `auto` e `bypassPermissions` non hanno effetto dalle impostazioni di progetto o locali; impostali invece nelle impostazioni utente o gestite, o passa `--permission-mode` per una sessione. Prima della v2.1.257, `bypassPermissions` aveva effetto da qualsiasi file.745* **Il file non può impostare quel valore.** I valori [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) `auto` e `bypassPermissions` non hanno effetto dalle impostazioni di progetto o locali; impostali invece nelle impostazioni utente o gestite, o passa `--permission-mode` per una sessione. Prima della v2.1.257, `bypassPermissions` aveva effetto da qualsiasi file.

746 746 

747 Una variabile di esportazione telemetria in un blocco [`env`](/docs/it/settings-reference#env) non ha effetto dalle impostazioni di progetto o locali nemmeno, a parte alcuni valori off. [Variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env) elenca le variabili e quei valori.747 Nemmeno una variabile di esportazione della telemetria in un blocco [`env`](/docs/it/settings-reference#env) ha effetto dalle impostazioni di progetto o locali, a parte alcuni valori di disattivazione. [Variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env) elenca le variabili e quei valori.

748* **Il file è rotto.** JSON non valido o un valore rifiutato fa sì che Claude Code salti il file o la voce; vedi [Ripara un file di impostazioni rotto](#fix-a-broken-settings-file).748* **Il file è rotto.** JSON non valido o un valore rifiutato fa sì che Claude Code salti il file o la voce; vedi [Ripara un file di impostazioni rotto](#fix-a-broken-settings-file).

749 749 

750<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">750<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">


767 767 

768Due cose impediscono a una chiave in `.claude/settings.json` di applicarsi per tutti coloro che la clonano:768Due cose impediscono a una chiave in `.claude/settings.json` di applicarsi per tutti coloro che la clonano:

769 769 

770* **Claude Code ignora la chiave in un file di repository.** Cerca `User, local, or managed`, `User or managed`, `Managed`, o `Global config` nella colonna Scope dell'[indice delle impostazioni](/docs/it/settings-reference#settings-index). Quelle chiavi non si applicano mai dal file condiviso, a parte alcuni che un file di repository può comunque disattivare. Ciascuna di quelle voci lo dice sulla sua riga Scope. Le chiavi `Global config` si applicano solo da `~/.claude.json`.770* **Claude Code ignora la chiave in un file di repository.** Cerca `User, local, or managed`, `User or managed`, `Managed`, o `Global config` nella colonna Scope dell'[indice delle impostazioni](/docs/it/settings-reference#settings-index). Quelle chiavi non si applicano mai dal file condiviso, a parte alcune che un file di repository può comunque disattivare. Ciascuna di quelle voci lo dice sulla sua riga Scope. Le chiavi `Global config` si applicano solo da `~/.claude.json`.

771 771 

772 All'interno della chiave `env`, le variabili di esportazione telemetria non si applicano mai dal file condiviso nemmeno, a parte alcuni valori off; vedi [Variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env).772 All'interno della chiave `env`, nemmeno le variabili di esportazione della telemetria si applicano mai dal file condiviso, a parte alcuni valori di disattivazione; vedi [Variabili che Claude Code ignora in `env`](/docs/it/settings-reference#variables-claude-code-ignores-in-env).

773* **La chiave attende la fiducia.** Le regole `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces`, e la maggior parte dei valori [`env`](/docs/it/settings-reference#env) si applicano solo dopo che ogni compagno di squadra [affida la cartella](/docs/it/permissions#project-allow-rules-and-workspace-trust). Fino ad allora vedono ancora i prompt e non ottengono plugin da un marketplace che il file dichiara. Le regole `deny` e `ask` si applicano subito.773* **La chiave attende la fiducia.** Le regole `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces`, e la maggior parte dei valori [`env`](/docs/it/settings-reference#env) si applicano solo dopo che ogni compagno di squadra [considera attendibile la cartella](/docs/it/permissions#project-allow-rules-and-workspace-trust). Fino ad allora vedono ancora le richieste di permesso e non ottengono plugin da un marketplace che il file dichiara. Le regole `deny` e `ask` si applicano subito.

774 774 

775<h4 id="permission-rules-combine-differently-than-you-expected">775<h4 id="permission-rules-combine-differently-than-you-expected">

776 Le regole di autorizzazione si combinano diversamente da quanto ti aspettavi776 Le regole di permesso si combinano diversamente da quanto ti aspettavi

777</h4>777</h4>

778 778 

779* **Hai scelto "Sì, e non chiedere di nuovo" su un prompt di autorizzazione ma ricevi comunque un prompt per lo stesso strumento.** Quella scelta ha salvato una regola `allow` nel tuo file locale, e una regola `allow` lì non supera una regola `ask` da un file di progetto o gestito; [come si combinano le regole di autorizzazione](/docs/it/permissions#settings-precedence) spiega l'ordine. Nell'estensione VS Code la scheda di approvazione ti permette di scegliere il file di destinazione, incluso il file condiviso del progetto, che cambia la regola per tutti; nella CLI, Claude Code scrive solo nel tuo file locale.779* **Hai scelto "Sì, e non chiedere di nuovo" su una richiesta di permesso ma ti viene comunque chiesto per lo stesso strumento.** Quella scelta ha salvato una regola `allow` nel tuo file locale, e una regola `allow` lì non ha la precedenza su una regola `ask` da un file di progetto o gestito; [come si combinano le regole di permesso](/docs/it/permissions#settings-precedence) spiega l'ordine. Nell'estensione VS Code la scheda di approvazione ti permette di scegliere il file di destinazione, incluso il file condiviso del progetto, che cambia la regola per tutti; nella CLI, Claude Code scrive solo nel tuo file locale.

780* **Le regole di autorizzazione della tua organizzazione si applicano ancora insieme alle tue.** È previsto: Claude Code unisce [`permissions.allow`](/docs/it/settings-reference#permissions-allow) tra gli ambiti, a meno che la tua organizzazione non imposti [`allowManagedPermissionRulesOnly`](/docs/it/settings-reference#allowmanagedpermissionrulesonly).780* **Le regole allow della tua organizzazione si applicano ancora insieme alle tue.** È previsto: Claude Code esegue il merge di [`permissions.allow`](/docs/it/settings-reference#permissions-allow) tra gli ambiti, a meno che la tua organizzazione non imposti [`allowManagedPermissionRulesOnly`](/docs/it/settings-reference#allowmanagedpermissionrulesonly).

781 781 

782<span id="security-keys-where-the-stricter-value-applies" />782<span id="security-keys-where-the-stricter-value-applies" />

783 783 


785 Eccezioni alla precedenza delle impostazioni gestite785 Eccezioni alla precedenza delle impostazioni gestite

786</h3>786</h3>

787 787 

788Per alcune chiavi i cui valori limitano una sessione, Claude Code onora un valore restrittivo da un ambito che altrimenti non potrebbe sostituire le impostazioni gestite. Trova la chiave in questa tabella per vedere quale valore onora e da dove.788Per alcune chiavi i cui valori limitano una sessione, Claude Code onora un valore restrittivo da un ambito che altrimenti non potrebbe sovrascrivere le impostazioni gestite. Trova la chiave in questa tabella per vedere quale valore onora e da dove.

789 789 

790| Chiave | Valore che Claude Code onora | Note |790| Chiave | Valore che Claude Code onora | Note |

791| :- | :- | :- |791| :- | :- | :- |

792| [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) | `true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `false` |792| [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) | `true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `false` |

793| [`enableArtifact`](/docs/it/settings-reference#enableartifact) | `false` da qualsiasi ambito, e `disableArtifact: true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `true`; nulla riattiva lo [strumento Artifact](/docs/it/artifacts#disable-artifacts). Richiede Claude Code v2.1.242 o successivo |793| [`enableArtifact`](/docs/it/settings-reference#enableartifact) | `false` da qualsiasi ambito, e `disableArtifact: true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `true`; nulla riattiva lo [strumento Artifact](/docs/it/artifacts#disable-artifacts). Richiede Claude Code v2.1.242 o successivo |

794| [`isolatePeerMachines`](/docs/it/settings-reference#isolatepeermachines) | `true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `false` |794| [`isolatePeerMachines`](/docs/it/settings-reference#isolatepeermachines) | `true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `false` |

795| [`permissions.blockReadsOutsideWorkingDirectories`](/docs/it/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` da qualsiasi ambito | Onorato anche quando una fonte gestita imposta `false`. Richiede Claude Code v2.1.257 o successivo |

796| [`autoMode.classifyAllShell`](/docs/it/settings-reference#automode-classifyallshell) | `true` da `~/.claude/settings.json` o `--settings` | Onorato anche quando una fonte gestita imposta `false` |

795| [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) | `false` da `.claude/settings.json` o `.claude/settings.local.json` | Onorato anche quando una fonte gestita imposta `true`; un `true` di progetto o locale viene ignorato |797| [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) | `false` da `.claude/settings.json` o `.claude/settings.local.json` | Onorato anche quando una fonte gestita imposta `true`; un `true` di progetto o locale viene ignorato |

796| [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) | Un valore più restrittivo da `.claude/settings.json` o `.claude/settings.local.json`, sulla scala `accept` \< `hold` \< `refuse` | Onorato rispetto ai valori gestiti, `--settings`, e utente; un valore di progetto o locale che non è più restrittivo viene ignorato |798| [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) | Un valore più restrittivo da `.claude/settings.json` o `.claude/settings.local.json`, sulla scala `accept` \< `hold` \< `refuse` | Onorato rispetto ai valori gestiti, `--settings`, e utente; un valore di progetto o locale che non è più restrittivo viene ignorato |

797| [`useAutoModeDuringPlan`](/docs/it/settings-reference#useautomodeduringplan) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita vincente imposta `true`; un `false` in `.claude/settings.json` viene ignorato |799| [`useAutoModeDuringPlan`](/docs/it/settings-reference#useautomodeduringplan) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita che ha la precedenza imposta `true`; un `false` in `.claude/settings.json` viene ignorato |

798| [`syncClaudeAiSkills`](/docs/it/settings-reference#syncclaudeaiskills) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita vincente imposta `true`; un `false` in `.claude/settings.json` viene ignorato |800| [`syncClaudeAiSkills`](/docs/it/settings-reference#syncclaudeaiskills) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita che ha la precedenza imposta `true`; un `false` in `.claude/settings.json` viene ignorato |

799| [`syncClaudeAiPlugins`](/docs/it/settings-reference#syncclaudeaiplugins) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita vincente imposta `true`; un `false` in `.claude/settings.json` viene ignorato |801| [`syncClaudeAiPlugins`](/docs/it/settings-reference#syncclaudeaiplugins) | `false` da qualsiasi fonte gestita, `--settings`, `~/.claude/settings.json`, o `.claude/settings.local.json` | Onorato anche quando la fonte gestita che ha la precedenza imposta `true`; un `false` in `.claude/settings.json` viene ignorato |

800| [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) | Un limite inferiore da qualsiasi ambito, incluso `--settings` | Onorato anche quando le impostazioni gestite che Claude Code applica impostano un limite superiore; si applica il limite più basso. Richiede Claude Code v2.1.267 o successivo |802| [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) | Un limite inferiore da qualsiasi ambito, incluso `--settings` | Onorato anche quando le impostazioni gestite che Claude Code applica impostano un limite superiore; si applica il limite più basso. Richiede Claude Code v2.1.267 o successivo |

801 803 

802Un'app che esegue Claude Code al suo interno e imposta [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars) è anche un'eccezione. Claude Code prende la configurazione del modello di quell'app rispetto alle chiavi `model`, `fallbackModel`, `modelPicker`, e `modelOverrides` da ogni fonte gestita, e rispetto alle variabili di selezione del modello in un blocco `env` gestito, come `ANTHROPIC_MODEL` e la famiglia `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code mantiene un elenco di autorizzazione [`availableModels`](/docs/it/settings-reference#availablemodels) gestito in vigore a meno che l'app non fornisca il suo.804Un'app che esegue Claude Code al suo interno e imposta [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars) è anche un'eccezione. Claude Code prende la configurazione del modello di quell'app rispetto alle chiavi `model`, `fallbackModel`, `modelPicker`, e `modelOverrides` da ogni fonte gestita, e rispetto alle variabili di selezione del modello in un blocco `env` gestito, come `ANTHROPIC_MODEL` e la famiglia `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code mantiene in vigore un'allowlist [`availableModels`](/docs/it/settings-reference#availablemodels) gestita a meno che l'app non fornisca la sua.

803 805 

804<h2 id="settings-in-cloud-sessions">806<h2 id="settings-in-cloud-sessions">

805 Impostazioni nelle sessioni cloud807 Impostazioni nelle sessioni cloud

Details

870 870 

871Disattiva il [pensiero esteso](/docs/it/model-config#extended-thinking) per ogni sessione impostando questo a `false`. Il pensiero è attivo per impostazione predefinita, quindi `true` non cambia nulla. La maggior parte delle persone imposta questo tramite `/config` piuttosto che modificando il file.871Disattiva il [pensiero esteso](/docs/it/model-config#extended-thinking) per ogni sessione impostando questo a `false`. Il pensiero è attivo per impostazione predefinita, quindi `true` non cambia nulla. La maggior parte delle persone imposta questo tramite `/config` piuttosto che modificando il file.

872 872 

873Su modelli che pensano sempre, come Opus 5.5, Sonnet 5.5, e i modelli Fable, `false` non ha effetto. Su [provider di terze parti](/docs/it/third-party-integrations) Claude Code omette il parametro `thinking` invece di disattivare il pensiero, quindi i modelli di ragionamento adattivo potrebbero comunque pensare. Con il pensiero disattivato su Anthropic API, Claude Code invia effort `high` invece di un livello superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5.873Sui modelli che ragionano sempre, come Opus 5.5, Sonnet 5.5, Haiku 5.5 e i modelli Fable, `false` non ha effetto. Sui [provider di terze parti](/docs/it/third-party-integrations) Claude Code omette il parametro `thinking` invece di disattivare il ragionamento, quindi i modelli a ragionamento adattivo potrebbero comunque ragionare. Con il ragionamento disattivato sull'API Anthropic, Claude Code invia effort `high` invece di un livello superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5.

874 874 

875* **Scope**: [`Any file`](#scopes)875* **Scope**: [`Any file`](#scopes)

876* **Type**: Boolean876* **Type**: Boolean

setup.md +5 −3

Details

49 curl -fsSL https://claude.ai/install.sh | bash49 curl -fsSL https://claude.ai/install.sh | bash

50 ```50 ```

51 51 

52 Su Windows, il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.

53 

52 **Windows PowerShell:**54 **Windows PowerShell:**

53 55 

54 ```powershell theme={null}56 ```powershell theme={null}


63 65 

64 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).66 Quando il programma di installazione termina, apri una nuova finestra del terminale ed esegui `claude --version`. Un'installazione funzionante stampa un numero di versione. Se la tua shell dice che `claude` non è trovato o non è riconosciuto, la directory di installazione non è ancora nel tuo PATH: vedi [Correggi il tuo PATH](/docs/it/troubleshoot-install#command-not-found-claude-after-installation).

65 67 

66 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell. Il tuo prompt mostra `PS C:\` quando sei in PowerShell e `C:\` senza il `PS` quando sei in CMD.68 Se vedi `The token '&&' is not a valid statement separator`, sei in PowerShell, non in CMD. Se vedi `'irm' is not recognized as an internal or external command`, sei in CMD, non in PowerShell.

67 69 

68 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403`, o un altro errore curl, consulta [Troubleshoot installation](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.70 Se il comando di installazione non riesce con `syntax error near unexpected token '<'`, un `403` o qualsiasi altro errore, consulta [Risoluzione dei problemi di installazione](/docs/it/troubleshoot-install#find-your-error) per abbinare l'errore a una soluzione e per metodi di installazione alternativi.

69 71 

70 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.72 [Git for Windows](https://git-scm.com/downloads/win) è consigliato su Windows nativo in modo che Claude Code possa utilizzare lo strumento Bash. Se Git for Windows non è installato, Claude Code utilizza PowerShell come strumento shell. Le configurazioni WSL non necessitano di Git for Windows.

71 73 


204 206 

205Claude Code richiede un account Pro, Max, Team, Enterprise o Console. Il piano gratuito di Claude.ai non include l'accesso a Claude Code. Potete anche utilizzare Claude Code con un provider API di terze parti come [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) o [Microsoft Foundry](/docs/it/microsoft-foundry).207Claude Code richiede un account Pro, Max, Team, Enterprise o Console. Il piano gratuito di Claude.ai non include l'accesso a Claude Code. Potete anche utilizzare Claude Code con un provider API di terze parti come [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) o [Microsoft Foundry](/docs/it/microsoft-foundry).

206 208 

207Dopo l'installazione, accedete eseguendo `claude` e seguendo i prompt del browser. Se la variabile di ambiente `ANTHROPIC_API_KEY` è impostata, Claude Code vi chiede una volta di approvare la chiave invece di aprire un browser. Consultate [Autenticazione](/docs/it/authentication) per tutti i tipi di account e le opzioni di configurazione del team.209Dopo l'installazione, accedi eseguendo `claude` e seguendo i prompt del browser. Se hai impostato la variabile d'ambiente `ANTHROPIC_API_KEY` e approvi la chiave quando Claude Code ti chiede se utilizzarla, Claude Code salta il prompt di accesso. Consulta [Autenticazione](/docs/it/authentication) per tutti i tipi di account e le opzioni di configurazione del team.

208 210 

209<h2 id="update-claude-code">211<h2 id="update-claude-code">

210 Aggiornare Claude Code212 Aggiornare Claude Code

skills.md +7 −2

Details

237 237 

238In una sessione Cowork o cloud, Claude Code carica le skill abilitate per il tuo account claude.ai, e [Skill nelle sessioni Cowork e cloud](#skills-in-cowork-and-cloud-sessions) spiega come scegliere quali skill ricevono quelle sessioni.238In una sessione Cowork o cloud, Claude Code carica le skill abilitate per il tuo account claude.ai, e [Skill nelle sessioni Cowork e cloud](#skills-in-cowork-and-cloud-sessions) spiega come scegliere quali skill ricevono quelle sessioni.

239 239 

240Nel terminale, Claude Code sincronizza quelle skill nelle sessioni in cui accedi con il tuo account claude.ai. All'avvio della sessione, Claude Code scarica in background le skill del tuo account in `~/.claude/skills/synced/`, quindi verifica su claude.ai la presenza di modifiche circa ogni 10 minuti mentre la sessione è in esecuzione. Quando una verifica rileva che una skill è stata aggiunta, modificata o disattivata su claude.ai, Claude Code la aggiunge, la aggiorna o la rimuove nella sessione in esecuzione senza riavvio. La sincronizzazione nelle sessioni del terminale richiede Claude Code v2.1.273 o successive.240Nel terminale, Claude Code sincronizza quelle skill nelle sessioni in cui accedi con il tuo account claude.ai. All'avvio della sessione, Claude Code scarica in background le skill del tuo account in `~/.claude/skills/synced/`, quindi verifica su claude.ai la presenza di modifiche mentre la sessione è in esecuzione. Quando una verifica rileva che una skill è stata aggiunta, modificata o disattivata su claude.ai, Claude Code la aggiunge, la aggiorna o la rimuove nella sessione in esecuzione senza riavvio. La sincronizzazione nelle sessioni del terminale richiede Claude Code v2.1.273 o successive.

241 241 

242La sincronizzazione non ritarda mai l'avvio, perché Claude attende il download di una skill solo quando invoca quella skill. Una breve esecuzione [non interattiva](/docs/it/headless) può quindi terminare prima che una skill appena aggiunta venga scaricata, nel qual caso la scarica una sessione successiva. Per fare in modo che un'esecuzione non interattiva scarichi le tue skill e attenda l'elenco prima di rispondere al prompt, imposta [`CLAUDE_CODE_SYNC_SKILLS`](/docs/it/env-vars#variables) su `1`.242Le verifiche vengono eseguite meno spesso mentre la sessione è inattiva:

243 

244* **Mentre tu o Claude lavorate nella sessione**: viene eseguita una verifica circa ogni 10 minuti.

245* **Mentre la sessione è inattiva**: viene eseguita una verifica circa ogni 40 minuti. Quando digiti di nuovo nella sessione, Claude Code esegue una verifica entro pochi minuti se l'ultima verifica risale a più di 10 minuti prima.

246 

247La sincronizzazione non ritarda mai l'avvio, perché Claude attende il download di una skill solo quando invoca quella skill. Una breve esecuzione [non interattiva](/docs/it/headless) può quindi terminare prima che una skill appena aggiunta venga scaricata, nel qual caso la scarica una sessione successiva. Per fare in modo che un'esecuzione non interattiva scarichi le tue skill e attenda l'elenco prima di rispondere al prompt, imposta [`CLAUDE_CODE_SYNC_SKILLS`](/docs/it/env-vars#variables) su `1`. Prima della v2.1.273, le sessioni del terminale le scaricavano solo in un'esecuzione `-p` con questa variabile impostata.

243 248 

244Claude Code sincronizza solo in una sessione che accede con il tuo account claude.ai e [recupera i feature flag da Anthropic](/docs/it/env-vars#features-that-need-feature-flag-fetching). Non sincronizza in queste sessioni:249Claude Code sincronizza solo in una sessione che accede con il tuo account claude.ai e [recupera i feature flag da Anthropic](/docs/it/env-vars#features-that-need-feature-flag-fetching). Non sincronizza in queste sessioni:

245 250 

sub-agents.md +5 −5

Details

20* **Applicare vincoli** limitando quali strumenti un subagent può utilizzare20* **Applicare vincoli** limitando quali strumenti un subagent può utilizzare

21* **Riutilizzare configurazioni** tra progetti con subagent a livello utente21* **Riutilizzare configurazioni** tra progetti con subagent a livello utente

22* **Specializzare il comportamento** con prompt di sistema focalizzati per domini specifici22* **Specializzare il comportamento** con prompt di sistema focalizzati per domini specifici

23* **Controllare i costi** instradando le attività a modelli più veloci e economici come Haiku23* **Controllare i costi** instradando le attività a modelli più veloci ed economici come Haiku

24 24 

25Claude utilizza la descrizione di ogni subagent per decidere quando delegare le attività. Quando crea un subagent, scriva una descrizione chiara in modo che Claude sappia quando utilizzarlo.25Claude utilizza la descrizione di ogni subagent per decidere quando delegare le attività. Quando crea un subagent, scriva una descrizione chiara in modo che Claude sappia quando utilizzarlo.

26 26 


310 310 

311| Field | Required | Description |311| Field | Required | Description |

312| :- | :- | :- |312| :- | :- | :- |

313| `name` | Yes | Identificatore univoco, come `code-reviewer` o `reviewer-v2`. [Hooks](/docs/it/hooks#subagentstart) ricevono questo valore come `agent_type`. Il nome del file non deve corrispondere. I nomi non possono contenere `:`, che è riservato per [identificatori con ambito plugin](/docs/it/plugins/overview) come `my-plugin:reviewer`. Claude Code non carica un file il cui nome contiene uno e registra un errore nel log di debug. Prima di v2.1.218, tali nomi erano accettati |313| `name` | Sì | Identificatore univoco di massimo 256 caratteri, come `code-reviewer` o `reviewer-v2`. Gli [hook](/docs/it/hooks#subagentstart) ricevono questo valore come `agent_type`. Non è necessario che il nome del file corrisponda. I nomi non possono contenere `:`, che è riservato agli [identificatori con ambito del plugin](/docs/it/plugins/overview) come `my-plugin:reviewer` |

314| `description` | Yes | Quando Claude dovrebbe delegare a questo subagent |314| `description` | Yes | Quando Claude dovrebbe delegare a questo subagent |

315| `tools` | No | [Strumenti](#available-tools) che il subagent può utilizzare, come una stringa separata da virgole come `Read, Grep, Bash` o un elenco YAML. Eredita ogni strumento disponibile per i subagent se omesso. Se nessuna voce nell'elenco si risolve in uno strumento, il subagent di solito [non si avvia](/docs/it/errors#agent-would-be-spawned-with-zero-tools) con un errore che nomina le voci. Per precaricare Skills nel contesto, usi il campo `skills` piuttosto che elencare `Skill` qui |315| `tools` | No | [Strumenti](#available-tools) che il subagent può utilizzare, come una stringa separata da virgole come `Read, Grep, Bash` o un elenco YAML. Eredita ogni strumento disponibile per i subagent se omesso. Se nessuna voce nell'elenco si risolve in uno strumento, il subagent di solito [non si avvia](/docs/it/errors#agent-would-be-spawned-with-zero-tools) con un errore che nomina le voci. Per precaricare Skills nel contesto, usi il campo `skills` piuttosto che elencare `Skill` qui |

316| `disallowedTools` | No | Strumenti da negare, rimossi dall'elenco ereditato o specificato. Stesso formato di `tools`. Una voce con uno specificatore, come `Bash(git push *)`, comunque [rimuove lo strumento intero](#available-tools) |316| `disallowedTools` | No | Strumenti da negare, rimossi dall'elenco ereditato o specificato. Stesso formato di `tools`. Una voce con uno specificatore, come `Bash(git push *)`, comunque [rimuove lo strumento intero](#available-tools) |


348 348 

349* **No `name`**: Claude Code tratta il file come documentazione mantenuta accanto ai suoi agenti.349* **No `name`**: Claude Code tratta il file come documentazione mantenuta accanto ai suoi agenti.

350* **Un `---` di apertura che non è la prima riga del file**: Claude Code legge il file come non avente frontmatter e lo tratta come documentazione.350* **Un `---` di apertura che non è la prima riga del file**: Claude Code legge il file come non avente frontmatter e lo tratta come documentazione.

351* **Un `name` che inizia con `-` o contiene `:`**: Claude Code salta il file e scrive un errore nel log di debug. Consulti la riga `name` nella tabella sopra.351* **Un `name` che inizia con `-`, contiene `:` o supera i 256 caratteri**: Claude Code salta il file e scrive un errore nel log di debug.

352* **Un `name` ma nessuna `description`**: Claude Code salta il file e scrive il motivo nel log di debug.352* **Un `name` ma nessuna `description`**: Claude Code salta il file e scrive il motivo nel log di debug.

353* **YAML che non analizza**: Claude Code non legge alcun campo dal file, lo salta e scrive l'errore di analisi nel log di debug.353* **YAML che non analizza**: Claude Code non legge alcun campo dal file, lo salta e scrive l'errore di analisi nel log di debug.

354 354 


1164 1164 

1165* Quando un subagent termina, Claude riceve il suo ID agente.1165* Quando un subagent termina, Claude riceve il suo ID agente.

1166* Gli agenti integrati Explore e Plan sono monouso e non restituiscono alcun ID agente, quindi Claude non può riprenderli. Usa `general-purpose` o un subagent personalizzato quando devi proseguire il lavoro.1166* Gli agenti integrati Explore e Plan sono monouso e non restituiscono alcun ID agente, quindi Claude non può riprenderli. Usa `general-purpose` o un subagent personalizzato quando devi proseguire il lavoro.

1167* Quando un subagent si ferma al limite [`maxTurns`](#supported-frontmatter-fields), Claude Code contrassegna l'output restituito come parziale. Per i subagent che restituiscono un ID agente, Claude Code indica anche nel risultato che Claude può inviare un messaggio al subagent per fargli proseguire da dove si era fermato.1167* Quando un subagent si ferma al limite [`maxTurns`](#supported-frontmatter-fields), Claude Code contrassegna l'output restituito come parziale e Claude può riprendere il subagent per fargli proseguire il lavoro.

1168 1168 

1169Claude usa lo strumento `SendMessage` con l'ID o il nome dell'agente come campo `to` per riprenderlo. `SendMessage` non richiede che i [team di agenti](/docs/it/agent-teams) siano abilitati; lo richiedono solo i messaggi strutturati del protocollo dei team come `shutdown_request` e `plan_approval_response`. Oltre ai subagent e ai membri del team, nelle sessioni in cui la messaggistica tra sessioni è abilitata, Claude può usare lo stesso strumento per inviare messaggi alle [tue altre sessioni di Claude Code](/docs/it/cross-session-messaging), su questa macchina o [su altre](/docs/it/cross-session-messaging#message-sessions-on-other-machines).1169Claude usa lo strumento `SendMessage` con l'ID o il nome dell'agente come campo `to` per riprenderlo. `SendMessage` non richiede che i [team di agenti](/docs/it/agent-teams) siano abilitati; lo richiedono solo i messaggi strutturati del protocollo dei team come `shutdown_request` e `plan_approval_response`. Oltre ai subagent e ai membri del team, nelle sessioni in cui la messaggistica tra sessioni è abilitata, Claude può usare lo stesso strumento per inviare messaggi alle [tue altre sessioni di Claude Code](/docs/it/cross-session-messaging), su questa macchina o [su altre](/docs/it/cross-session-messaging#message-sessions-on-other-machines).

1170 1170 


1279| Permissions | I prompt emergono nel suo terminale | [I prompt emergono nella sua sessione principale](#run-subagents-in-foreground-or-background) quando viene eseguito in background |1279| Permissions | I prompt emergono nel suo terminale | [I prompt emergono nella sua sessione principale](#run-subagents-in-foreground-or-background) quando viene eseguito in background |

1280| Prompt cache | Condiviso con la sessione principale | Cache separata |1280| Prompt cache | Condiviso con la sessione principale | Cache separata |

1281 1281 

1282Poiché il prompt di sistema di un fork e le definizioni di strumenti sono identici al principale, la sua prima richiesta riutilizza la [prompt cache](/docs/it/prompt-caching#subagents-and-the-cache) del principale. Questo rende il fork più economico rispetto alla generazione di un subagent fresco per attività che necessitano dello stesso contesto.1282Poiché il prompt di sistema e le definizioni degli strumenti di un fork sono identici a quelli del principale, la sua prima richiesta riutilizza la [prompt cache](/docs/it/prompt-caching#subagents-and-the-cache) del principale. Grazie a questo riutilizzo, un fork costa meno di un subagent nuovo per le attività che necessitano dello stesso contesto.

1283 1283 

1284Quando Claude genera un fork tramite lo strumento Agent, può passare `isolation: "worktree"` in modo che le modifiche ai file del fork vengano scritte in un git worktree separato invece del suo checkout. Un fork non può generare ulteriori fork.1284Quando Claude genera un fork tramite lo strumento Agent, può passare `isolation: "worktree"` in modo che le modifiche ai file del fork vengano scritte in un git worktree separato invece del suo checkout. Un fork non può generare ulteriori fork.

1285 1285 

vs-code.md +35 −20

Details

40 40 

41L'estensione si installa anche in altri fork di VS Code come Devin Desktop o Kiro. Cerca "Claude Code" nella visualizzazione Estensioni dell'editor, oppure installa dal [registro Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Se il tuo editor non riesce a installare l'estensione, [installa la CLI](/docs/it/quickstart) ed esegui `claude` nel suo terminale integrato. La CLI funziona in qualsiasi terminale.41L'estensione si installa anche in altri fork di VS Code come Devin Desktop o Kiro. Cerca "Claude Code" nella visualizzazione Estensioni dell'editor, oppure installa dal [registro Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Se il tuo editor non riesce a installare l'estensione, [installa la CLI](/docs/it/quickstart) ed esegui `claude` nel suo terminale integrato. La CLI funziona in qualsiasi terminale.

42 42 

43Per eseguire Claude Code all'interno di un dev container, consulta [Container di sviluppo](/docs/it/devcontainer).

44 

43<Note>Se l'estensione non appare dopo l'installazione, riavvia VS Code o esegui "Developer: Reload Window" dalla Tavolozza dei comandi.</Note>45<Note>Se l'estensione non appare dopo l'installazione, riavvia VS Code o esegui "Developer: Reload Window" dalla Tavolozza dei comandi.</Note>

44 46 

45<h2 id="get-started">47<h2 id="get-started">


606| `environmentVariables` | `[]` | Imposta le variabili d'ambiente per il processo Claude. Per la configurazione condivisa usa invece le impostazioni di Claude Code. Una voce [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars) si applica solo quando il suo valore è un percorso assoluto; l'estensione non espande `~` e ignora un valore relativo. |608| `environmentVariables` | `[]` | Imposta le variabili d'ambiente per il processo Claude. Per la configurazione condivisa usa invece le impostazioni di Claude Code. Una voce [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars) si applica solo quando il suo valore è un percorso assoluto; l'estensione non espande `~` e ignora un valore relativo. |

607| `disableLoginPrompt` | `false` | Salta i prompt di autenticazione (per configurazioni di provider di terze parti) |609| `disableLoginPrompt` | `false` | Salta i prompt di autenticazione (per configurazioni di provider di terze parti) |

608| `allowDangerouslySkipPermissions` | `false` | Aggiunge Bypass permissions al selettore di modalità. Utilizzarlo solo in sandbox senza accesso a Internet. |610| `allowDangerouslySkipPermissions` | `false` | Aggiunge Bypass permissions al selettore di modalità. Utilizzarlo solo in sandbox senza accesso a Internet. |

609| `claudeProcessWrapper` | - | Eseguibile utilizzato per avviare il processo Claude. Il percorso binario in bundle viene passato come argomento quando presente. Impostarlo su un binario `claude` installato separatamente se la build dell'estensione non ne include uno per la vostra piattaforma. In una configurazione con wrapper, le conversazioni iniziano in modalità Manual a meno che non impostiate `initialPermissionMode` o non abbiate scelto Manual, Edit automatically o Auto in una conversazione precedente, perché l'estensione salta i passaggi delle impostazioni e del valore predefinito incorporato lì; vedere [Switch permission modes](/docs/it/permission-modes#switch-permission-modes). Un errore "Unsupported platform" all'attivazione significa che nessun binario è in bundle per la vostra piattaforma; vedere [which platforms have prebuilt binaries](/docs/it/troubleshoot-install#native-binary-not-found-after-npm-install). |611| `claudeProcessWrapper` | - | Eseguibile utilizzato per avviare il processo Claude. Il percorso del binario in bundle viene passato come argomento quando presente. Impostalo su un binario `claude` installato separatamente se la build dell'estensione non ne include uno per la tua piattaforma. |

610 612 

611<h2 id="use-a-screen-reader">613<h2 id="use-a-screen-reader">

612 Utilizzare un lettore di schermo614 Utilizzare un lettore di schermo


781 Sicurezza e privacy783 Sicurezza e privacy

782</h2>784</h2>

783 785 

784Il vostro codice rimane privato. Claude Code elabora il vostro codice per fornire assistenza ma non lo utilizza per addestrare i modelli. Per dettagli sulla gestione dei dati e su come disattivare la registrazione, consultate [Data and privacy](/docs/it/data-usage).786Il tuo codice rimane privato. Claude Code elabora il tuo codice per fornire assistenza ma non lo utilizza per addestrare i modelli. Per dettagli sulla gestione dei dati e su come disattivare la registrazione, consulta [Dati e privacy](/docs/it/data-usage).

785 787 

786Con le autorizzazioni di auto-edit abilitate, Claude Code può modificare i file di configurazione di VS Code (come `settings.json` o `tasks.json`) che VS Code potrebbe eseguire automaticamente. Per ridurre il rischio quando si lavora con codice non attendibile:788Con i permessi di auto-edit abilitati, Claude Code può modificare i file di configurazione di VS Code (come `settings.json` o `tasks.json`) che VS Code potrebbe eseguire automaticamente. Per ridurre il rischio quando lavori con codice non attendibile:

787 789 

788* Abilitate [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) per gli spazi di lavoro non attendibili790* Abilita [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) per i workspace non attendibili

789* Utilizzate la modalità Manual invece di Edit automatically o Auto per le modifiche791* Utilizza la modalità Manual invece di Edit automatically o Auto per le modifiche

790* Esaminate attentamente le modifiche prima di accettarle792* Esamina attentamente le modifiche prima di accettarle

791 793 

792<h3 id="the-built-in-ide-mcp-server">794<h3 id="the-built-in-ide-mcp-server">

793 The built-in IDE MCP server795 Il server MCP IDE integrato

794</h3>796</h3>

795 797 

796Quando l'estensione è attiva, esegue un server MCP locale a cui il CLI si connette automaticamente. È così che il CLI apre i diff nel visualizzatore diff nativo di VS Code, legge la selezione corrente per le menzioni `@` e — quando state lavorando in un notebook Jupyter — chiede a VS Code di eseguire le celle.798Quando l'estensione è attiva, esegue un server MCP locale a cui la CLI si connette automaticamente. È così che la CLI apre i diff nel visualizzatore diff nativo di VS Code, legge la selezione corrente per le menzioni `@` e, quando lavori in un notebook Jupyter, chiede a VS Code di eseguire le celle.

797 799 

798Il server è denominato `ide` ed è nascosto da `/mcp` perché non c'è nulla da configurare. Se la vostra organizzazione utilizza un hook `PreToolUse` per creare un elenco di strumenti MCP consentiti, tuttavia, dovrete sapere che esiste.800Il server si chiama `ide` ed è nascosto da `/mcp` perché non c'è nulla da configurare. Se la tua organizzazione utilizza un hook `PreToolUse` per inserire gli strumenti MCP in un'allowlist, tuttavia, devi sapere che esiste.

799 801 

800**Selection and open-file context.** Mentre è connesso, il CLI include la selezione dell'editor corrente e il percorso del file attivo come contesto su ogni prompt che inviate. La trascrizione mostra una riga `⧉ Selected N lines from <file>` quando ciò accade.802**Selezione e contesto del file aperto.** Mentre è connessa, la CLI include la selezione corrente dell'editor e il percorso del file attivo come contesto in ogni prompt che invii. La trascrizione mostra una riga `⧉ Selected N lines from <file>` quando ciò accade.

801 803 

802Se [accodate un messaggio mentre Claude lavora](/docs/it/interactive-mode#queue-messages-while-claude-works), mantiene la selezione che avevate quando avete premuto `Enter`, qualunque cosa selezioniate in seguito.804Se [accodi un messaggio mentre Claude lavora](/docs/it/interactive-mode#queue-messages-while-claude-works), viene mantenuta la selezione che avevi quando hai premuto `Enter`, qualunque cosa selezioni in seguito.

803 805 

804Per escludere un file sensibile come `.env`, aggiungete una [regola di negazione `Read`](/docs/it/permissions#read-and-edit) per il suo percorso. Una regola di negazione corrispondente impedisce sia il testo selezionato che l'avviso del file aperto per quel file di raggiungere Claude.806Per escludere un file sensibile come `.env`, aggiungi una [regola di negazione `Read`](/docs/it/permissions#read-and-edit) per il suo percorso. Una regola di negazione corrispondente impedisce sia al testo selezionato sia all'avviso del file aperto per quel file di raggiungere Claude.

805 807 

806Se disattivate l'impostazione [Attach Open File](#extension-settings), il CLI riceve il percorso del file attivo solo mentre avete testo selezionato in esso.808Se disattivi l'[impostazione Attach Open File](#extension-settings), la CLI riceve il percorso del file attivo solo mentre hai del testo selezionato al suo interno.

807 809 

808**Transport and authentication.** Il server si associa a `127.0.0.1` su una porta casuale nell'intervallo 10000–65535, e la porta non è configurabile. Il trasporto è `ws://` non crittografato; poiché il socket è solo loopback, qualsiasi processo che potrebbe catturare il traffico può anche leggere il token dal file di blocco, quindi TLS non aggiungerebbe protezione. Ogni attivazione dell'estensione genera un token di autenticazione casuale fresco, lo scrive in un file di blocco in `~/.claude/ide/<port>.lock`, e il CLI deve presentarlo come intestazione `X-Claude-Code-Ide-Authorization` per connettersi. Il file di blocco ha autorizzazioni `0600` in una directory `0700`, quindi solo l'utente che esegue VS Code può leggerlo. Se `CLAUDE_CONFIG_DIR` è impostato, il file di blocco viene scritto in `$CLAUDE_CONFIG_DIR/ide/` invece.810**Trasporto e autenticazione.** Il server si associa a `127.0.0.1` su una porta casuale nell'intervallo 10000–65535, e la porta non è configurabile. Il trasporto è `ws://` non crittografato; poiché il socket è solo loopback, qualsiasi processo in grado di catturare il traffico può anche leggere il token dal file di blocco, quindi TLS non aggiungerebbe protezione. Ogni attivazione dell'estensione genera un nuovo token di autenticazione casuale, lo scrive in un file di blocco in `~/.claude/ide/<port>.lock`, e la CLI deve presentarlo come intestazione `X-Claude-Code-Ide-Authorization` per connettersi. Il file di blocco ha permessi `0600` in una directory `0700`, quindi solo l'utente che esegue VS Code può leggerlo. Se `CLAUDE_CONFIG_DIR` è impostata, il file di blocco viene invece scritto in `$CLAUDE_CONFIG_DIR/ide/`.

809 811 

810**Tools exposed to the model.** Il server ospita una dozzina di strumenti, ma solo due sono visibili al modello. Il resto è RPC interno che il CLI utilizza per la propria interfaccia utente, come l'apertura di diff, la lettura di selezioni e il salvataggio di file. Vengono filtrati prima che l'elenco degli strumenti raggiunga Claude.812**Strumenti esposti al modello.** Il server ospita una dozzina di strumenti, ma solo due sono visibili al modello. Gli altri sono RPC interne che la CLI utilizza per la propria interfaccia utente, come l'apertura di diff, la lettura delle selezioni e il salvataggio dei file. Vengono filtrati prima che l'elenco degli strumenti raggiunga Claude.

811 813 

812| Tool name (as seen by hooks) | What it does | Read-only |814| Nome dello strumento (come visto dagli hook) | Cosa fa | Di sola lettura |

813| - | - | - |815| - | - | - |

814| `mcp__ide__getDiagnostics` | Restituisce i diagnostici del language server: gli errori e gli avvisi nel pannello Problemi di VS Code. Facoltativamente limitato a un file. | Yes |816| `mcp__ide__getDiagnostics` | Restituisce le diagnostiche del language server: gli errori e gli avvisi nel pannello Problemi di VS Code. Facoltativamente limitato a un file. | Sì |

815| `mcp__ide__executeCode` | Esegue il codice Python nel kernel del notebook Jupyter attivo. Consultate il flusso di conferma di seguito. | No |817| `mcp__ide__executeCode` | Esegue codice Python nel kernel del notebook Jupyter attivo. Consulta il flusso di conferma di seguito. | No |

816 818 

817**Diagnostiche nel pannello della chat.** Nel pannello della chat, con Claude Code v2.1.285 o versioni successive, Claude legge il pannello Problemi di VS Code tramite un server integrato separato chiamato `claude-vscode`. Claude può chiedergli gli errori e gli avvisi correnti in un singolo file, oppure in ogni file per cui VS Code dispone di diagnostiche.819**Diagnostiche nel pannello della chat.** Nel pannello della chat, con Claude Code v2.1.285 o versioni successive, Claude legge il pannello Problemi di VS Code tramite un server integrato separato chiamato `claude-vscode`. Claude può chiedergli gli errori e gli avvisi correnti in un singolo file, oppure in ogni file per cui VS Code dispone di diagnostiche.

818 820 


833 835 

834Una regola di negazione `Read` non copre nessuno dei due strumenti, quindi bloccali per nome con una [regola di negazione](/docs/it/permissions#mcp) come fa l'esempio.836Una regola di negazione `Read` non copre nessuno dei due strumenti, quindi bloccali per nome con una [regola di negazione](/docs/it/permissions#mcp) come fa l'esempio.

835 837 

836**Jupyter execution always asks first.** `mcp__ide__executeCode` non può eseguire nulla silenziosamente. Ad ogni chiamata, il codice viene inserito come una nuova cella alla fine del notebook attivo, VS Code lo scorre in vista, e un Quick Pick nativo vi chiede di **Execute** o **Cancel**. Annullare, o chiudere il picker con `Esc`, restituisce un errore a Claude e nulla viene eseguito. Lo strumento rifiuta anche completamente quando non c'è un notebook attivo, quando l'estensione Jupyter (`ms-toolsai.jupyter`) non è installata, o quando il kernel non è Python.838**L'esecuzione in Jupyter chiede sempre prima.** `mcp__ide__executeCode` non può eseguire nulla in modo silenzioso. A ogni chiamata, il codice viene inserito come nuova cella alla fine del notebook attivo, VS Code la porta in vista e un Quick Pick nativo ti chiede di scegliere **Execute** o **Cancel**. Annullare, o chiudere il picker con `Esc`, restituisce un errore a Claude e non viene eseguito nulla. Lo strumento rifiuta inoltre categoricamente quando non c'è un notebook attivo, quando l'estensione Jupyter (`ms-toolsai.jupyter`) non è installata o quando il kernel non è Python.

837 839 

838<Note>840<Note>

839 La conferma Quick Pick è separata dagli hook `PreToolUse`. Una voce di elenco consentito per `mcp__ide__executeCode` consente a Claude di *proporre* l'esecuzione di una cella; il Quick Pick all'interno di VS Code è ciò che le consente di *effettivamente* eseguirla.841 La conferma tramite Quick Pick è separata dagli hook `PreToolUse`. Una voce dell'allowlist per `mcp__ide__executeCode` consente a Claude di *proporre* l'esecuzione di una cella; è il Quick Pick all'interno di VS Code a consentirne *effettivamente* l'esecuzione.

840</Note>842</Note>

841 843 

842<a id="troubleshooting" />844<a id="troubleshooting" />


845 Risolvere i problemi comuni847 Risolvere i problemi comuni

846</h2>848</h2>

847 849 

850Gli errori di accesso, di rete e di avvio hanno voci dedicate nelle pagine di risoluzione dei problemi di installazione e di riferimento degli errori. Trova ciò che vedi nella tabella, quindi segui il link.

851 

852| Cosa vedi | Dove andare |

853| - | - |

854| `API Error: 403 Request not allowed` dopo aver effettuato l'accesso | [403 Forbidden dopo l'accesso](/docs/it/troubleshoot-install#403-forbidden-after-login) |

855| Ti viene chiesto di accedere di nuovo dopo aver già effettuato l'accesso | [Accesso non effettuato o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) |

856| Le credenziali del provider cloud funzionano nel terminale ma non nell'estensione | [Le credenziali di Bedrock, Agent Platform o Foundry non vengono caricate](/docs/it/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) |

857| `SSL certificate verification failed` o `Self-signed certificate detected` | [Errori del certificato SSL](/docs/it/errors#ssl-certificate-errors) |

858| `Claude Code process exited with code 1` o un altro codice | [Claude Code process exited with code N](/docs/it/errors#claude-code-process-exited-with-code-n) |

859| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](/docs/it/errors#could-not-locate-the-claude-cli-on-path) |

860| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](/docs/it/errors#the-connection-to-claude-code-ended-before-this-message-completed) |

861| `claude` non viene trovato nel terminale integrato di VS Code | [Eseguire la CLI in VS Code](#run-cli-in-vs-code) |

862 

848<h3 id="extension-won’t-install">863<h3 id="extension-won’t-install">

849 L'estensione non si installa864 L'estensione non si installa

850</h3>865</h3>

workflows.md +6 −1

Details

522 522 

523Per disattivare i workflow per l'intera organizzazione, imposta `"disableWorkflows": true` nelle [impostazioni gestite](/docs/it/server-managed-settings), oppure utilizza l'interruttore nella pagina [impostazioni admin di Claude Code](https://claude.ai/admin-settings/claude-code).523Per disattivare i workflow per l'intera organizzazione, imposta `"disableWorkflows": true` nelle [impostazioni gestite](/docs/it/server-managed-settings), oppure utilizza l'interruttore nella pagina [impostazioni admin di Claude Code](https://claude.ai/admin-settings/claude-code).

524 524 

525Quando i workflow sono disabilitati, i comandi workflow in bundle e la skill `/workflow-authoring` non sono disponibili, la parola chiave `ultracode` non attiva più un'esecuzione, e il toggle **Ultracode** viene rimosso da `/effort`. Un'esecuzione che era già in corso continua.525Quando i workflow sono disabilitati:

526 

527* `/workflows`, i comandi workflow e la skill `/workflow-authoring` non sono disponibili

528* La parola chiave `ultracode` non attiva più un'esecuzione, e il toggle **Ultracode** viene rimosso da `/effort`

529 

530Un'esecuzione che era già in corso continua.

526 531 

527Disattivare i workflow rende anche [ultracode](#let-claude-decide-with-ultracode) non disponibile. Nessuna impostazione gestita esclude ultracode da solo: ovunque sia [disponibile](/docs/it/model-config#when-ultracode-is-available), gli utenti possono attivarlo con `/effort ultracode`. Un [limite di sforzo](/docs/it/model-config#organization-effort-limits) abbassa il livello di sforzo che una sessione con ultracode attivo esegue, ma non disattiva ultracode.532Disattivare i workflow rende anche [ultracode](#let-claude-decide-with-ultracode) non disponibile. Nessuna impostazione gestita esclude ultracode da solo: ovunque sia [disponibile](/docs/it/model-config#when-ultracode-is-available), gli utenti possono attivarlo con `/effort ultracode`. Un [limite di sforzo](/docs/it/model-config#organization-effort-limits) abbassa il livello di sforzo che una sessione con ultracode attivo esegue, ma non disattiva ultracode.

528 533 

worktrees.md +3 −1

Details

6 6 

7> Isolare sessioni parallele di Claude Code in worktrees git separati in modo che i cambiamenti non si scontrino. Copre il flag `--worktree`, l'isolamento dei subagent, `.worktreeinclude`, la pulizia e gli hook VCS non-git.7> Isolare sessioni parallele di Claude Code in worktrees git separati in modo che i cambiamenti non si scontrino. Copre il flag `--worktree`, l'isolamento dei subagent, `.worktreeinclude`, la pulizia e gli hook VCS non-git.

8 8 

9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e il remote come il vostro checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree significa che le modifiche in una sessione non toccheranno mai i file in un'altra, quindi una sessione può costruire una funzionalità mentre una seconda corregge un bug.9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e lo stesso remote del tuo checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree le fornisce una copia separata dei file da modificare, quindi una sessione può sviluppare una funzionalità mentre una seconda corregge un bug.

10 10 

11<Note>11<Note>

12 I worktree richiedono un repository git; per altri sistemi di controllo versione, [configurate gli hook per sostituire la logica git](#non-git-version-control). Nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), selezionate l'opzione **worktree** quando avviate una sessione per darle il proprio worktree.12 I worktree richiedono un repository git; per altri sistemi di controllo versione, [configurate gli hook per sostituire la logica git](#non-git-version-control). Nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), selezionate l'opzione **worktree** quando avviate una sessione per darle il proprio worktree.


104* **Reindirizzamenti git**: Claude Code blocca un comando Bash o Monitor che reindirizza git nel checkout principale. Il reindirizzamento può provenire attraverso `git -C`, `--git-dir`, una variabile `GIT_DIR` o `GIT_WORK_TREE`, o un `cd` nel checkout principale prima di eseguire git.104* **Reindirizzamenti git**: Claude Code blocca un comando Bash o Monitor che reindirizza git nel checkout principale. Il reindirizzamento può provenire attraverso `git -C`, `--git-dir`, una variabile `GIT_DIR` o `GIT_WORK_TREE`, o un `cd` nel checkout principale prima di eseguire git.

105* **Forma del comando**: Claude Code blocca un comando Bash o Monitor quando non può verificare dal testo del comando che qualsiasi git che il comando esegue rimane all'interno del worktree. Questo accade, ad esempio, quando il nome del comando è calcolato a runtime, quando la sintassi non può essere analizzata, o quando un'espansione come `${!name}` o `${ command; }` potrebbe eseguire un comando che il testo non esplicita. Claude Code dice a Claude come riscrivere il comando rifiutato, come dividerlo in comandi semplici e separati. Non potete disattivare questo controllo.105* **Forma del comando**: Claude Code blocca un comando Bash o Monitor quando non può verificare dal testo del comando che qualsiasi git che il comando esegue rimane all'interno del worktree. Questo accade, ad esempio, quando il nome del comando è calcolato a runtime, quando la sintassi non può essere analizzata, o quando un'espansione come `${!name}` o `${ command; }` potrebbe eseguire un comando che il testo non esplicita. Claude Code dice a Claude come riscrivere il comando rifiutato, come dividerlo in comandi semplici e separati. Non potete disattivare questo controllo.

106 106 

107Questi controlli leggono il percorso a cui è destinata una modifica, la directory in cui viene eseguito un comando e il testo del comando. Nessuno di essi tiene traccia di quali file scrive un comando della shell, quindi un comando che scrive nel checkout principale senza eseguirvi git, come `cp` o un reindirizzamento della shell, non viene rifiutato da questi controlli. Claude Code tratta quel comando come qualsiasi altro comando della shell, quindi se viene eseguito o se ti chiede conferma dipende dalla tua [modalità di permesso](/docs/it/permission-modes) e dalle tue regole.

108 

107I controlli si applicano al repository da cui avete lanciato Claude Code. Coprono anche il checkout principale da cui un worktree collegato è collegato. Per i comandi PowerShell, Claude Code applica solo il controllo della directory di lavoro.109I controlli si applicano al repository da cui avete lanciato Claude Code. Coprono anche il checkout principale da cui un worktree collegato è collegato. Per i comandi PowerShell, Claude Code applica solo il controllo della directory di lavoro.

108 110 

109Claude vede ogni rifiuto come un errore di strumento che nomina il worktree e dice come procedere. Per un comando rifiutato, consultate [cosa significa il messaggio di rifiuto e come cancellarlo](/docs/it/errors#command-blocked-by-the-worktree-isolation-checks).111Claude vede ogni rifiuto come un errore di strumento che nomina il worktree e dice come procedere. Per un comando rifiutato, consultate [cosa significa il messaggio di rifiuto e come cancellarlo](/docs/it/errors#command-blocked-by-the-worktree-isolation-checks).