SpyBara
Go Premium

Documentation 2026-10-08 22:58 UTC to 2026-10-09 22:01 UTC

63 files changed +1,627 −800. View all changes and history on the product overview
2026
Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

216| Opzione | Cosa controlla | Predefinito |216| Opzione | Cosa controlla | Predefinito |

217| :- | :- | :- |217| :- | :- | :- |

218| Max turni (`max_turns` / `maxTurns`) | Massimi round trip di utilizzo degli strumenti | Nessun limite |218| Max turni (`max_turns` / `maxTurns`) | Massimi round trip di utilizzo degli strumenti | Nessun limite |

219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Costo massimo prima di fermarsi | Nessun limite |219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Spesa stimata alla quale il ciclo si ferma | Nessun limite |

220 220 

221Quando uno dei due limiti viene raggiunto, l'SDK restituisce un `ResultMessage` con un sottotipo di errore corrispondente (`error_max_turns` o `error_max_budget_usd`). Vedere [Gestire il risultato](#handle-the-result) per come controllare questi sottotipi e [`ClaudeAgentOptions`](/docs/it/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/it/agent-sdk/typescript#options) per la sintassi.221Quando uno dei due limiti viene raggiunto, l'SDK restituisce un `ResultMessage` con un sottotipo di errore corrispondente (`error_max_turns` o `error_max_budget_usd`). Vedere [Gestire il risultato](#handle-the-result) per come controllare questi sottotipi e [`ClaudeAgentOptions`](/docs/it/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/it/agent-sdk/typescript#options) per la sintassi.

222 222 


224 224 

225Con [streaming input](/docs/it/agent-sdk/streaming-vs-single-mode), un messaggio che è ancora in coda quando un turno termina al limite di max-turni rimane in coda. Claude Code non lo aggiunge alla chiamata del modello finale di quel turno. Inizia un nuovo turno per il messaggio e il conteggio di max-turni ricomincia da capo per quel turno. Il totale del budget continua ad accumularsi tra i messaggi e una volta che la spesa raggiunge `maxBudgetUsd`, i messaggi successivi nella stessa conversazione terminano con il risultato `error_max_budget_usd`. Un [`/clear`](/docs/it/agent-sdk/cost-tracking) ricomincia il budget da capo.225Con [streaming input](/docs/it/agent-sdk/streaming-vs-single-mode), un messaggio che è ancora in coda quando un turno termina al limite di max-turni rimane in coda. Claude Code non lo aggiunge alla chiamata del modello finale di quel turno. Inizia un nuovo turno per il messaggio e il conteggio di max-turni ricomincia da capo per quel turno. Il totale del budget continua ad accumularsi tra i messaggi e una volta che la spesa raggiunge `maxBudgetUsd`, i messaggi successivi nella stessa conversazione terminano con il risultato `error_max_budget_usd`. Un [`/clear`](/docs/it/agent-sdk/cost-tracking) ricomincia il budget da capo.

226 226 

227<h4 id="budget-headroom">

228 Margine del budget

229</h4>

230 

231Claude Code confronta la spesa con il limite `max_budget_usd` / `maxBudgetUsd` dopo l'arrivo delle risposte del modello, perché il costo di ogni risposta deriva dall'utilizzo di token che l'API restituisce insieme ad essa. La risposta che raggiunge il limite viene comunque completata e conta in [`total_cost_usd`](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query). La spesa può quindi superare il limite fino al costo di quella singola risposta, più quanto spendono i subagent ancora in esecuzione in quel momento prima di fermarsi. Lascia un margine per questo quando imposti il limite.

232 

227<h3 id="effort-level">233<h3 id="effort-level">

228 Livello di sforzo234 Livello di sforzo

229</h3>235</h3>

Details

78 78 

79È possibile configurare i server MCP nel codice quando si chiama `query()`, oppure in un file `.mcp.json` caricato tramite [`settingSources`](#from-a-config-file).79È possibile configurare i server MCP nel codice quando si chiama `query()`, oppure in un file `.mcp.json` caricato tramite [`settingSources`](#from-a-config-file).

80 80 

81<h3 id="in-code">81<span id="in-code" />

82 Nel codice82 

83<h3 id="add-a-server-in-code">

84 Aggiungere un server nel codice

83</h3>85</h3>

84 86 

85Passare i server MCP direttamente nell'opzione `mcpServers`. Questo esempio avvia un server MCP del filesystem locale per `/Users/me/projects`. Sostituire quel percorso con una directory sulla propria macchina:87Passare i server MCP direttamente nell'opzione `mcpServers`. Questo esempio avvia un server MCP del filesystem locale per `/Users/me/projects`. Sostituire quel percorso con una directory sulla propria macchina:


135 ```137 ```

136</CodeGroup>138</CodeGroup>

137 139 

138<h3 id="from-a-config-file">140<span id="from-a-config-file" />

139 Da un file di configurazione141 

142<h3 id="add-a-server-from-a-config-file">

143 Aggiungere un server da un file di configurazione

140</h3>144</h3>

141 145 

142Creare un file `.mcp.json` nella radice del progetto. Il file viene rilevato quando la sorgente di impostazione `project` è abilitata, il che avviene per le opzioni predefinite di `query()`. Se si imposta `settingSources` esplicitamente, includere `"project"` affinché questo file venga caricato. Sostituire `/Users/me/projects` con una directory sulla propria macchina:146Creare un file `.mcp.json` nella radice del progetto. Il file viene rilevato quando la sorgente di impostazione `project` è abilitata, il che avviene per le opzioni predefinite di `query()`. Se si imposta `settingSources` esplicitamente, includere `"project"` affinché questo file venga caricato. Sostituire `/Users/me/projects` con una directory sulla propria macchina:


301 Server stdio305 Server stdio

302</h3>306</h3>

303 307 

304Processi locali che comunicano tramite stdin/stdout. Utilizzate questo per i server MCP che eseguite sulla stessa macchina. Per il modulo `.mcp.json`, utilizzate gli stessi campi mostrati in [Da un file di configurazione](#from-a-config-file). Nel codice, passate il comando e i suoi argomenti. Sostituite `/Users/me/projects` con una directory sulla vostra macchina:308Processi locali che comunicano tramite stdin/stdout. Utilizza questo tipo per i server MCP che esegui sulla stessa macchina. Per il formato `.mcp.json`, utilizza gli stessi campi mostrati in [Aggiungere un server da un file di configurazione](#from-a-config-file). Nel codice, passa il comando e i suoi argomenti. Sostituisci `/Users/me/projects` con una directory sulla tua macchina:

305 309 

306<CodeGroup>310<CodeGroup>

307 ```typescript TypeScript hidelines={1,-1} theme={null}311 ```typescript TypeScript hidelines={1,-1} theme={null}

Details

28 Passaggi di migrazione28 Passaggi di migrazione

29</h2>29</h2>

30 30 

31<h3 id="for-typescript/javascript-projects">31<span id="for-typescript/javascript-projects" />

32 Per progetti TypeScript/JavaScript32 

33<h3 id="migrate-a-typescript-or-javascript-project">

34 Migrare un progetto TypeScript o JavaScript

33</h3>35</h3>

34 36 

35**1. Disinstallare il vecchio pacchetto:**37**1. Disinstalla il vecchio pacchetto:**

36 38 

37```bash theme={null}39```bash theme={null}

38npm uninstall @anthropic-ai/claude-code40npm uninstall @anthropic-ai/claude-code

39```41```

40 42 

41**2. Installare il nuovo pacchetto:**43**2. Installa il nuovo pacchetto:**

42 44 

43```bash theme={null}45```bash theme={null}

44npm install @anthropic-ai/claude-agent-sdk46npm install @anthropic-ai/claude-agent-sdk

45```47```

46 48 

47**3. Aggiornare gli import:**49**3. Aggiorna gli import:**

48 50 

49Modificare tutti gli import da `@anthropic-ai/claude-code` a `@anthropic-ai/claude-agent-sdk`:51Modifica tutti gli import da `@anthropic-ai/claude-code` a `@anthropic-ai/claude-agent-sdk`:

50 52 

51```typescript theme={null}53```typescript theme={null}

52// Prima54// Prima


56import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";58import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

57```59```

58 60 

59**4. Aggiornare package.json:**61**4. Aggiorna package.json:**

62 

63Se `@anthropic-ai/claude-code` è ancora elencato nel tuo `package.json`, sostituiscilo con `@anthropic-ai/claude-agent-sdk` e aggiorna anche l'intervallo di versione, ad esempio da `"^0.0.42"` a `"^0.3.0"`.

60 64 

61Se `@anthropic-ai/claude-code` è ancora elencato nel vostro `package.json`, sostituirlo con `@anthropic-ai/claude-agent-sdk` e aggiornare anche l'intervallo di versione, ad esempio da `"^0.0.42"` a `"^0.3.0"`.65**5. Consulta [le modifiche di rilievo](#breaking-changes)**

62 66 

63**5. Consultare [le modifiche di rilievo](#breaking-changes)**67Apporta le modifiche al codice necessarie per completare la migrazione.

64 68 

65Apportare le modifiche al codice necessarie per completare la migrazione.69<span id="for-python-projects" />

66 70 

67<h3 id="for-python-projects">71<h3 id="migrate-a-python-project">

68 Per progetti Python72 Migrare un progetto Python

69</h3>73</h3>

70 74 

71**1. Disinstallare il vecchio pacchetto:**75**1. Disinstalla il vecchio pacchetto:**

72 76 

73```bash theme={null}77```bash theme={null}

74pip uninstall -y claude-code-sdk78pip uninstall -y claude-code-sdk

75```79```

76 80 

77Se il vecchio pacchetto non è installato, pip stampa `WARNING: Skipping claude-code-sdk as it is not installed.` Questo è previsto e potete continuare al passaggio successivo.81Se il vecchio pacchetto non è installato, pip stampa `WARNING: Skipping claude-code-sdk as it is not installed.` Questo è previsto e puoi continuare al passaggio successivo.

78 82 

79**2. Installare il nuovo pacchetto:**83**2. Installa il nuovo pacchetto:**

80 84 

81```bash theme={null}85```bash theme={null}

82pip install claude-agent-sdk86pip install claude-agent-sdk

83```87```

84 88 

85Se `claude-code-sdk` è elencato nel vostro `requirements.txt` o `pyproject.toml`, sostituirlo con `claude-agent-sdk`.89Se `claude-code-sdk` è elencato nel tuo `requirements.txt` o `pyproject.toml`, sostituiscilo con `claude-agent-sdk`.

86 90 

87**3. Aggiornare gli import:**91**3. Aggiorna gli import:**

88 92 

89Modificare tutti gli import da `claude_code_sdk` a `claude_agent_sdk`:93Modifica tutti gli import da `claude_code_sdk` a `claude_agent_sdk`:

90 94 

91```python theme={null}95```python theme={null}

92# Prima96# Prima


96from claude_agent_sdk import query, ClaudeAgentOptions100from claude_agent_sdk import query, ClaudeAgentOptions

97```101```

98 102 

99**4. Consultare [le modifiche di rilievo](#breaking-changes)**103**4. Consulta [le modifiche di rilievo](#breaking-changes)**

100 104 

101Apportare le modifiche al codice necessarie per completare la migrazione.105Apporta le modifiche al codice necessarie per completare la migrazione.

102 106 

103<h2 id="breaking-changes">107<h2 id="breaking-changes">

104 Modifiche di rilievo108 Modifiche di rilievo

Details

146| `auto` | Approvazioni classificate dal modello | Un classificatore del modello esamina azioni come comandi shell e richieste di rete, consentendo o bloccando ciascuna che esamina. Vedere [Modalità Auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per la disponibilità e l'ordine di decisione |146| `auto` | Approvazioni classificate dal modello | Un classificatore del modello esamina azioni come comandi shell e richieste di rete, consentendo o bloccando ciascuna che esamina. Vedere [Modalità Auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per la disponibilità e l'ordine di decisione |

147 147 

148<Warning>148<Warning>

149 **Ereditarietà dei subagent:** Un subagent viene eseguito nella modalità di autorizzazione della sessione padre a meno che non si imposti `permissionMode` sulla sua [`AgentDefinition`](/docs/it/agent-sdk/typescript#agentdefinition) e la sessione padre sia in modalità `default`, `dontAsk` o `plan`. Anche in questo caso, Claude Code non applica mai un valore `"bypassPermissions"`. Un subagent viene eseguito in modalità `bypassPermissions` solo quando la sessione padre stessa lo fa. L'eccezione `bypassPermissions` richiede Claude Code v2.1.267 o successivo.149 **Ereditarietà dei subagent:** Un subagent viene eseguito nella modalità di permesso della sessione padre a meno che tu non imposti `permissionMode` sulla sua [`AgentDefinition`](/docs/it/agent-sdk/typescript#agentdefinition) e la sessione padre sia in modalità `default`, `dontAsk` o `plan`. Anche in questo caso, Claude Code non applica mai un valore `"bypassPermissions"` e applica un valore `"auto"` solo quando la [modalità auto è disponibile](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per quel subagent. Un subagent viene eseguito in modalità `bypassPermissions` solo quando lo è la sessione padre stessa. L'eccezione `bypassPermissions` richiede Claude Code v2.1.267 o successivo.

150 150 

151 I subagent possono avere prompt di sistema diversi e comportamenti meno vincolati rispetto all'agente principale, quindi ereditare `bypassPermissions` concede loro accesso completo e autonomo al sistema. Le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) si applicano comunque.151 I subagent possono avere prompt di sistema diversi e comportamenti meno vincolati rispetto all'agente principale, quindi ereditare `bypassPermissions` concede loro accesso completo e autonomo al sistema. Le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) si applicano comunque.

152</Warning>152</Warning>

Details

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 degli strumenti) |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. La stima può superare questo valore, quindi [lascia un margine](/docs/it/agent-sdk/agent-loop#budget-headroom). 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 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) |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) |


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 subagent.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 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.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`.

991 

992 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 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`.993* `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 994 

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.995 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.


3327{3329{

3328 "url": str, # L'URL da cui recuperare il contenuto3330 "url": str, # L'URL da cui recuperare il contenuto

3329 "prompt": str, # Il prompt da eseguire sul contenuto recuperato3331 "prompt": str, # Il prompt da eseguire sul contenuto recuperato

3332 "offset": int | None, # Numero di caratteri da saltare dall'inizio della pagina. Richiede Python Agent SDK 0.2.164 o successivo

3330}3333}

3331```3334```

3332 3335 

Details

323 Rilevare l'invocazione di subagent323 Rilevare l'invocazione di subagent

324</h2>324</h2>

325 325 

326Claude invoca i subagent tramite lo strumento Agent. Per rilevare quando un subagent viene invocato, verificare i blocchi `tool_use` dove `name` è `"Agent"`. I messaggi provenienti dal contesto di un subagent includono un campo `parent_tool_use_id`.326Claude invoca i subagent tramite lo strumento Agent. Per rilevare quando un subagent viene invocato, verifica i blocchi `tool_use` dove `name` è `"Agent"`.

327 

328I messaggi provenienti dal contesto di un subagent includono un campo `parent_tool_use_id`. In TypeScript, ogni messaggio assistant e user prodotto da un subagent contiene anche [`agent_id`](/docs/it/agent-sdk/typescript#sdkassistantmessage): il `task_id` degli [eventi task](/docs/it/agent-sdk/typescript#sdktaskstartedmessage) di quel subagent. `agent_id` richiede TypeScript Agent SDK v0.3.292 o versioni successive.

327 329 

328<Note>330<Note>

329 Lo strumento appare come `"Agent"` nei blocchi `tool_use` ma come `"Task"` nell'elenco degli strumenti `system:init`. Prima di Claude Code v2.1.63, i blocchi `tool_use` lo denominano anche `"Task"`. Per mantenere il rilevamento funzionante tra le versioni dell'SDK, abbinare entrambi i valori in `block.name`.331 Lo strumento appare come `"Agent"` nei blocchi `tool_use` ma come `"Task"` nell'elenco degli strumenti `system:init`. Prima di Claude Code v2.1.63, i blocchi `tool_use` lo denominano anche `"Task"`. Per mantenere il rilevamento funzionante tra le versioni dell'SDK, abbinare entrambi i valori in `block.name`.


331 333 

332La struttura del messaggio differisce tra gli SDK. In Python, si accede ai blocchi di contenuto direttamente tramite `message.content`. In TypeScript, `SDKAssistantMessage` racchiude il messaggio dell'API Claude, quindi si accede al contenuto tramite `message.message.content`.334La struttura del messaggio differisce tra gli SDK. In Python, si accede ai blocchi di contenuto direttamente tramite `message.content`. In TypeScript, `SDKAssistantMessage` racchiude il messaggio dell'API Claude, quindi si accede al contenuto tramite `message.message.content`.

333 335 

334Questo esempio itera attraverso i messaggi in streaming, registrando quando un subagent viene invocato e quando i messaggi successivi provengono dal contesto di esecuzione di quel subagent.336Questo esempio itera attraverso i messaggi in streaming, registrando quando un subagent viene invocato e quando i messaggi successivi provengono dal contesto di esecuzione di quel subagent. La versione TypeScript registra anche l'`agent_id` di ogni messaggio del subagent che ne contiene uno.

335 337 

336<CodeGroup>338<CodeGroup>

337 ```python Python theme={null}339 ```python Python theme={null}


403 // Check if this message is from within a subagent's context405 // Check if this message is from within a subagent's context

404 if (msg.parent_tool_use_id) {406 if (msg.parent_tool_use_id) {

405 console.log(" (running inside subagent)");407 console.log(" (running inside subagent)");

408 // On assistant and user messages, agent_id matches the task_id

409 // on that subagent's task_started and other task events

410 if (msg.agent_id) {

411 console.log(` agent_id: ${msg.agent_id}`);

412 }

406 }413 }

407 414 

408 if ("result" in message) {415 if ("result" in message) {

Details

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

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 |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 |

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 |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 |

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) |572| `maxBudgetUsd` | `number` | `undefined` | Interrompe la query quando la stima dei costi lato client raggiunge questo valore in USD. La stima può superare questo valore, quindi [lascia un margine](/docs/it/agent-sdk/agent-loop#budget-headroom). Conta solo la spesa della chiamata stessa; i totali ripristinati da una sessione ripresa non vengono conteggiati. Per le avvertenze sull'accuratezza e il comportamento di reimpostazione, consulta [Monitorare costi e utilizzo](/docs/it/agent-sdk/cost-tracking) |

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

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

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


631```631```

632 632 

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.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.

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.634* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di nuovi tentativi API. Valore predefinito `10`, con un limite di `15`. Ogni nuovo tentativo ha la propria finestra `API_TIMEOUT_MS`.

635 

636 Per le esecuzioni non presidiate che devono attendere durante 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 successive, alza il valore predefinito per gli altri errori transitori a `300` e rimuove il limite su questa variabile.

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`.637* `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`.

636 638 

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.639 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.


1557 type: "assistant";1559 type: "assistant";

1558 uuid: UUID;1560 uuid: UUID;

1559 session_id: string;1561 session_id: string;

1560 message: BetaMessage; // Dall'SDK Anthropic1562 message: BetaMessage; // From Anthropic SDK

1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;

1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;

1563 aborted?: true;1565 aborted?: true;

1566 agent_id?: string;

1564 timestamp?: string;1567 timestamp?: string;

1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;

1569 usage_report?: SDKUsageReport;

1566 user_message_uuid?: string;1570 user_message_uuid?: string;

1567 user_message_uuids?: string[];1571 user_message_uuids?: string[];

1568 resume_reason?: string;1572 resume_reason?: string;


1580 1584 

1581`aborted` è `true` quando un'interruzione o un annullamento ha troncato il messaggio dell'assistente prima del completamento del flusso: il messaggio non ha `stop_reason` e il contenuto può terminare a metà parola. Il campo è assente sui messaggi completati normalmente. Richiede Agent SDK v0.3.214 o successivo.1585`aborted` è `true` quando un'interruzione o un annullamento ha troncato il messaggio dell'assistente prima del completamento del flusso: il messaggio non ha `stop_reason` e il contenuto può terminare a metà parola. Il campo è assente sui messaggi completati normalmente. Richiede Agent SDK v0.3.214 o successivo.

1582 1586 

1587`agent_id` identifica il subagent che ha prodotto il messaggio ed è assente nei messaggi del thread principale. Il valore è uguale al `task_id` nel [`task_started`](#sdktaskstartedmessage) di quel subagent e negli altri eventi di attività, e non cambia quando il subagent viene [ripreso](/docs/it/agent-sdk/subagents#resume-subagents). Il campo richiede Agent SDK v0.3.292 o successiva.

1588 

1589Associa i messaggi di un subagent ai suoi eventi di attività tramite `agent_id`, anziché abbinare il `parent_tool_use_id` di un messaggio con il `tool_use_id` di un evento di attività. Quando una chiamata a uno strumento riprende il subagent, gli eventi di attività riportano il `tool_use_id` di quella chiamata, mentre i messaggi mantengono il `parent_tool_use_id` della chiamata allo strumento che ha avviato per primo il subagent, quindi i due non corrispondono più.

1590 

1583Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo messaggio dell'assistente del turno, secondo le condizioni descritte in [`user_message_uuid`](#user_message_uuid). Quando Claude Code riesegue un turno che un riavvio ha interrotto, i messaggi dell'assistente della riesecuzione che contengono questi campi contengono anche [`resume_reason`](#resume_reason).1591Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo messaggio dell'assistente del turno, secondo le condizioni descritte in [`user_message_uuid`](#user_message_uuid). Quando Claude Code riesegue un turno che un riavvio ha interrotto, i messaggi dell'assistente della riesecuzione che contengono questi campi contengono anche [`resume_reason`](#resume_reason).

1584 1592 

1585`timestamp` è l'ora ISO 8601 in cui il contenuto del messaggio ha finito di essere generato sul processo che lo ha prodotto. Il valore proviene dall'orologio di quella macchina, quindi usalo solo per la visualizzazione e non ordinare i messaggi in base a esso. Un turno API può produrre diversi messaggi dell'assistente che condividono un `message.id`, ciascuno con il proprio `timestamp`. Quando il campo è assente, usa come ripiego il momento in cui hai ricevuto il messaggio.1593`timestamp` è l'ora ISO 8601 in cui il contenuto del messaggio ha finito di essere generato sul processo che lo ha prodotto. Il valore proviene dall'orologio di quella macchina, quindi usalo solo per la visualizzazione e non ordinare i messaggi in base a esso. Un turno API può produrre diversi messaggi dell'assistente che condividono un `message.id`, ciascuno con il proprio `timestamp`. Quando il campo è assente, usa come ripiego il momento in cui hai ricevuto il messaggio.

1586 1594 

1587`context_usage` è una copia strutturata del rapporto `/context`, tipizzata come [`SDKContextUsage`](#sdkcontextusage), e richiede Agent SDK v0.3.232 o successivo. Quando invii `/context` come prompt, Claude Code consegna il rapporto come messaggio dell'assistente il cui `message.content` contiene la tabella markdown, e allega `context_usage` a quello stesso messaggio. Claude Code non imposta il campo su nessun altro messaggio dell'assistente, e le versioni precedenti consegnano la tabella `/context` senza di esso, quindi leggi la suddivisione dal campo quando è presente e usa come ripiego il testo markdown quando non lo è.1595`context_usage` è una copia strutturata del rapporto `/context`, tipizzata come [`SDKContextUsage`](#sdkcontextusage), e richiede Agent SDK v0.3.232 o successivo. Quando invii `/context` come prompt, Claude Code consegna il rapporto come messaggio dell'assistente il cui `message.content` contiene la tabella markdown, e allega `context_usage` a quello stesso messaggio. Claude Code non imposta il campo su nessun altro messaggio dell'assistente, e le versioni precedenti consegnano la tabella `/context` senza di esso, quindi leggi la suddivisione dal campo quando è presente e usa come ripiego il testo markdown quando non lo è.

1588 1596 

1597`usage_report` è una copia strutturata del report di `/usage`, con tipo [`SDKUsageReport`](#sdkusagereport), e richiede l'Agent SDK v0.3.273 o successiva. Quando invii `/usage` come prompt, Claude Code consegna il report come messaggio dell'assistente il cui `message.content` contiene il testo. Allega `usage_report` a quello stesso messaggio solo quando la sessione soddisfa tutte queste condizioni:

1598 

1599* La sessione si autentica con una credenziale claude.ai

1600* La credenziale mostra un tipo di piano noto o include lo scope `user:profile`

1601* L'account non usa la fatturazione basata sull'utilizzo

1602 

1603Un token di `claude setup-token` passato come `CLAUDE_CODE_OAUTH_TOKEN` non è idoneo per impostazione predefinita, perché include solo lo scope `user:inference`. Le altre sessioni, come quelle con chiave API, consegnano il testo senza il campo, così come le versioni precedenti. Leggi il report dal campo quando è presente e ricorri al testo quando non lo è.

1604 

1589<h3 id="sdkusermessage">1605<h3 id="sdkusermessage">

1590 `SDKUserMessage`1606 `SDKUserMessage`

1591</h3>1607</h3>


1597 type: "user";1613 type: "user";

1598 uuid?: UUID;1614 uuid?: UUID;

1599 session_id?: string;1615 session_id?: string;

1616 agent_id?: string;

1600 message: MessageParam; // From Anthropic SDK1617 message: MessageParam; // From Anthropic SDK

1601 pasted_content?: MessageParam["content"][];1618 pasted_content?: MessageParam["content"][];

1602 parent_tool_use_id: string | null;1619 parent_tool_use_id: string | null;


1636};1653};

1637```1654```

1638 1655 

1656Un messaggio dell'utente prodotto da un subagent, come il `tool_result` di una delle sue chiamate a strumenti, riporta `agent_id`. Consulta [`SDKAssistantMessage`](#sdkassistantmessage), che definisce il campo e il relativo requisito di versione.

1657 

1639In un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento anziché il testo inviato al modello. La sua forma dipende dallo strumento indicato dal blocco `tool_use` corrispondente, quindi il campo è di tipo `unknown`; le forme integrate sono elencate in [Tool Output Types](#tool-output-types). Questi risultati richiedono una gestione che va oltre la forma elencata:1658In un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento anziché il testo inviato al modello. La sua forma dipende dallo strumento indicato dal blocco `tool_use` corrispondente, quindi il campo è di tipo `unknown`; le forme integrate sono elencate in [Tool Output Types](#tool-output-types). Questi risultati richiedono una gestione che va oltre la forma elencata:

1640 1659 

1641* Lo strumento `Agent`: `tool_use_result` è [`AgentOutput`](#agent-2). Esegui il rendering a partire da esso anziché analizzare il testo di `tool_result`. Il `content` di un risultato `completed` contiene il report del subagent oppure, per un subagent il cui report passa attraverso una chiamata allo strumento `SubagentHandback`, una breve nota su quella restituzione al posto del report. In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su Claude Code v2.1.271 o successiva, ogni subagent che produce un risultato `completed` riporta in quel modo a meno che non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation), e Claude riceve il report come messaggio separato dal subagent.1660* Lo strumento `Agent`: `tool_use_result` è [`AgentOutput`](#agent-2). Esegui il rendering a partire da esso anziché analizzare il testo di `tool_result`. Il `content` di un risultato `completed` contiene il report del subagent oppure, per un subagent il cui report passa attraverso una chiamata allo strumento `SubagentHandback`, una breve nota su quella restituzione al posto del report. In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su Claude Code v2.1.271 o successiva, ogni subagent che produce un risultato `completed` riporta in quel modo a meno che non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation), e Claude riceve il report come messaggio separato dal subagent.


1992 `SDKPartialAssistantMessage`2011 `SDKPartialAssistantMessage`

1993</h3>2012</h3>

1994 2013 

1995Messaggio parziale in streaming (solo quando `includePartialMessages` è true). Il campo `parent_tool_use_id` è sempre `null`: gli eventi di flusso vengono emessi solo per la sessione principale. Per attribuire i messaggi ai subagent, usa i messaggi completi, che contengono `parent_tool_use_id`, oppure abilita [`forwardSubagentText`](#options) per ricevere il testo e il ragionamento dei subagent come messaggi completi.2014Messaggio parziale in streaming (solo quando `includePartialMessages` è true).

2015 

2016Il campo `parent_tool_use_id` è sempre `null`: gli eventi di stream vengono emessi solo per la sessione principale. Per l'attribuzione ai subagent, usa i messaggi completi, che riportano [`agent_id`](#sdkassistantmessage) e `parent_tool_use_id`, oppure abilita [`forwardSubagentText`](#options) per ricevere il testo e il ragionamento dei subagent come messaggi completi.

1996 2017 

1997```typescript theme={null}2018```typescript theme={null}

1998type SDKPartialAssistantMessage = {2019type SDKPartialAssistantMessage = {


2229* `buffer`: la riserva per la compattazione2250* `buffer`: la riserva per la compattazione

2230* `deferred`: schemi degli strumenti che Claude Code tiene fuori dalla finestra ed esclude dal calcolo dell'utilizzo, elencati a titolo informativo2251* `deferred`: schemi degli strumenti che Claude Code tiene fuori dalla finestra ed esclude dal calcolo dell'utilizzo, elencati a titolo informativo

2231 2252 

2253<h3 id="sdkusagereport">

2254 `SDKUsageReport`

2255</h3>

2256 

2257Forma strutturata del report di `/usage`, riportata come `usage_report` nell'[`SDKAssistantMessage`](#sdkassistantmessage) che consegna un risultato di `/usage`. L'Agent SDK v0.3.273 e successive esportano il tipo. Il tipo è sperimentale: la sua forma potrebbe cambiare.

2258 

2259```typescript theme={null}

2260type SDKUsageReport = {

2261 session: {

2262 total_cost_usd: number;

2263 total_api_duration_ms: number;

2264 total_duration_ms: number;

2265 total_lines_added: number;

2266 total_lines_removed: number;

2267 model_usage: { [modelName: string]: ModelUsage };

2268 };

2269 rate_limits: {

2270 limits:

2271 | {

2272 kind: string;

2273 group: string;

2274 percent: number;

2275 resets_at: string | null;

2276 scope?: {

2277 model?: { display_name: string } | null;

2278 surface?: { display_name: string } | null;

2279 } | null;

2280 severity: string;

2281 is_active: boolean;

2282 }[]

2283 | null;

2284 extra_usage?: {

2285 is_enabled: boolean;

2286 monthly_limit: number | null;

2287 used_credits: number | null;

2288 utilization: number | null;

2289 currency?: string | null;

2290 } | null;

2291 } | null;

2292};

2293```

2294 

2295I campi di primo livello sono `session` e `rate_limits`:

2296 

2297* `session`: i totali correnti di costo e utilizzo di Claude Code, letti dallo stesso registro di `total_cost_usd` e `modelUsage` in [`SDKResultMessage`](#sdkresultmessage). Ogni voce di `model_usage` è un [`ModelUsage`](#modelusage).

2298* `rate_limits`: le righe di utilizzo del piano in `limits` e la spesa in crediti di utilizzo in `extra_usage`. È `null` quando Claude Code non è riuscito a ottenere l'utilizzo del piano, ad esempio quando al token OAuth della sessione manca lo scope `user:profile`.

2299 

2300Claude Code calcola `session.total_cost_usd` localmente dai conteggi dei token, quindi è una stima e non ciò che il tuo piano fattura. La spesa in crediti di utilizzo riportata dal server è il blocco separato `extra_usage`. Consulta [Tracciare costi e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze sull'accuratezza.

2301 

2302`limits` contiene le righe di utilizzo del server così come il server le ha inviate: quali contatori si applicano, il loro ambito, le etichette, la gravità e l'ordine sono quelli del server, quindi esegui il rendering delle righe così come sono.

2303 

2304* Un array vuoto significa che il server non ha riportato alcun contatore.

2305* `null` significa che Claude Code non ha righe da riportare.

2306 

2307Ogni riga di `limits` descrive un contatore di utilizzo:

2308 

2309| Campo | Tipo | Descrizione |

2310| - | - | - |

2311| `kind` | `string` | Il tipo di contatore del server, come `session`, `weekly_all` o `weekly_scoped`. Classifica una riga in base a questo, mai in base a un'etichetta |

2312| `group` | `string` | Il gruppo di righe del server, come `session` o `weekly`. Le righe vengono visualizzate raggruppate sotto di esso, nell'ordine del server |

2313| `percent` | `number` | Quota della finestra utilizzata, 0-100 |

2314| `resets_at` | `string \| null` | Timestamp ISO 8601 in cui la finestra viene azzerata |

2315| `scope` | `object \| null` | Facoltativo. A cosa si riferisce una riga con ambito, un modello o una superficie, con l'etichetta di visualizzazione del server |

2316| `severity` | `string` | La valutazione della riga da parte del server per il colore di un contatore, come `normal`, `warning` o `critical` |

2317| `is_active` | `boolean` | `true` sulla riga che il server sceglie da mostrare in un indicatore a valore singolo |

2318 

2319Prima dell'Agent SDK v0.3.277, il tipo dichiarava `severity` e `is_active` come facoltativi e nullable, e una riga poteva arrivare senza di essi.

2320 

2321`extra_usage` è la spesa e il tetto dei [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) per il periodo di fatturazione così come li riporta il server, presente quando il piano dispone di crediti di utilizzo. Gli importi sono in unità minori di `currency`, centesimi per USD.

2322 

2323* `monthly_limit` è `null` quando questo account non ha un proprio tetto di spesa. Sui piani Team ed Enterprise, non visualizzare `null` come illimitato.

2324* `is_enabled` è `false` finché i crediti di utilizzo non possono pagare le richieste.

2325 

2232<h3 id="sdkmessageorigin">2326<h3 id="sdkmessageorigin">

2233 `SDKMessageOrigin`2327 `SDKMessageOrigin`

2234</h3>2328</h3>


3418type WebFetchInput = {3512type WebFetchInput = {

3419 url: string;3513 url: string;

3420 prompt: string;3514 prompt: string;

3515 offset?: number;

3421};3516};

3422```3517```

3423 3518 

3424Recupera il contenuto da un URL e lo elabora con un modello AI.3519Recupera il contenuto da un URL e lo elabora con un modello AI.

3425 3520 

3521`offset` è il numero di caratteri da saltare dall'inizio della pagina. Claude lo imposta per continuare a leggere una pagina lunga. Il campo richiede Agent SDK v0.3.290 o successivo.

3522 

3426<h3 id="websearch">3523<h3 id="websearch">

3427 WebSearch3524 WebSearch

3428</h3>3525</h3>


5605 task_id: string;5702 task_id: string;

5606 tool_use_id?: string;5703 tool_use_id?: string;

5607 status: "completed" | "failed" | "stopped";5704 status: "completed" | "failed" | "stopped";

5705 reason?: "worker_restart";

5608 output_file: string;5706 output_file: string;

5609 summary: string;5707 summary: string;

5610 ambient?: boolean;5708 ambient?: boolean;


5619};5717};

5620```5718```

5621 5719 

5720`reason` è impostato quando un'attività termina per una causa diversa dal proprio completamento, fallimento o arresto, e richiede Agent SDK v0.3.273 o versioni successive. Claude Code lo imposta solo nelle sessioni che si connettono tramite claude.ai: le sessioni cloud, incluse quelle su runner self-hosted, e le sessioni Remote Control. Una chiamata `query()` locale non lo imposta mai. Il suo unico valore, `worker_restart`, significa che il processo Claude Code che eseguiva l'attività si è riavviato. La notifica riporta lo stato `"stopped"`, quindi tratta l'attività come né completata né fallita.

5721 

5622Quando 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.5722Quando 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.

5623 5723 

5624Claude 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.5724Claude 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.


5777 task_type?: string;5877 task_type?: string;

5778 is_backgrounded?: boolean;5878 is_backgrounded?: boolean;

5779 spawn_depth?: number;5879 spawn_depth?: number;

5880 parent_task_id?: string;

5780 ambient?: boolean;5881 ambient?: boolean;

5781 uuid: UUID;5882 uuid: UUID;

5782 session_id: string;5883 session_id: string;


5794 5895 

5795Un [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`.5896Un [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`.

5796 5897 

5898`parent_task_id` contiene il `task_id` del subagent che ha avviato questa attività. Usalo per raggruppare ogni attività sotto il subagent che l'ha avviata. Claude Code lo imposta sulle attività di subagent, Bash e [Monitor](#monitor). Il campo richiede Agent SDK v0.3.292 o versioni successive. È assente quando:

5899 

5900* L'attività è stata avviata dal thread principale

5901* Claude Code non tiene più traccia dell'attività padre

5902* L'attività è stata avviata da un [membro di un team di agenti](/docs/it/agent-teams) o da un agente all'interno di un workflow

5903 

5904L'attività padre può essere un'attività in primo piano o un'attività già terminata, quindi tratta un ID che non riconosci come assenza di attività padre.

5905 

5797<h3 id="sdktaskprogressmessage">5906<h3 id="sdktaskprogressmessage">

5798 `SDKTaskProgressMessage`5907 `SDKTaskProgressMessage`

5799</h3>5908</h3>


5850 `SDKBackgroundTasksChangedMessage`5959 `SDKBackgroundTasksChangedMessage`

5851</h3>5960</h3>

5852 5961 

5853Emesso 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à.5962Emesso ogni volta che l'insieme delle attività in background attive cambia: un'attività inizia, viene completata o viene terminata; un agente in primo piano passa in background; oppure cambia il campo `description`, `ambient` o `parent_task_id` di un'attività. Per il campo `parent_task_id` di ciascuna voce, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), che lo definisce insieme al relativo requisito di versione.

5854 5963 

5855L'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.5964L'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.

5856 5965 

5857L'ordinamento rispetto a quegli eventi per singola attività non è specificato, quindi non correlare i due flussi.5966Quando un'attività termina, i suoi [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) arrivano prima del `background_tasks_changed` che la rimuove dall'elenco. Per il resto, l'ordinamento rispetto agli eventi per singola attività non è specificato.

5858 5967 

5859All'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.5968All'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.

5860 5969 


5871 task_type: string;5980 task_type: string;

5872 subagent_type?: string;5981 subagent_type?: string;

5873 description: string;5982 description: string;

5983 parent_task_id?: string;

5874 ambient?: boolean;5984 ambient?: boolean;

5875 }[];5985 }[];

5876 uuid: UUID;5986 uuid: UUID;

Details

36 ```36 ```

37 37 

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

39 async function handleToolRequest(toolName, input, options) {39 import type { CanUseTool } from "@anthropic-ai/claude-agent-sdk";

40 

41 const handleToolRequest: CanUseTool = async (toolName, input, options) => {

40 // options includes { signal: AbortSignal, suggestions?: PermissionUpdate[] }42 // options includes { signal: AbortSignal, suggestions?: PermissionUpdate[] }

41 // Chiedi all'utente e restituisci allow o deny43 // Chiedi all'utente qui, poi restituisci allow o deny

42 }44 return { behavior: "deny", message: "User declined" };

45 };

43 46 

44 const options = { canUseTool: handleToolRequest };47 const options = { canUseTool: handleToolRequest };

45 ```48 ```


440 // Includi AskUserQuestion nella tua lista di strumenti443 // Includi AskUserQuestion nella tua lista di strumenti

441 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],444 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

442 canUseTool: async (toolName, input) => {445 canUseTool: async (toolName, input) => {

443 // Gestisci le domande di chiarimento qui446 // Segnaposto che approva ogni chiamata. Il passaggio Rileva AskUserQuestion lo sostituisce.

447 return { behavior: "allow", updatedInput: input };

444 }448 }

445 }449 }

446 })) {450 })) {


763 767 

764 ```typescript TypeScript theme={null}768 ```typescript TypeScript theme={null}

765 import { query } from "@anthropic-ai/claude-agent-sdk";769 import { query } from "@anthropic-ai/claude-agent-sdk";

770 import type { PermissionResult } from "@anthropic-ai/claude-agent-sdk";

766 import * as readline from "readline/promises";771 import * as readline from "readline/promises";

767 772 

768 // Helper per chiedere all'utente l'input nel terminale773 // Helper per chiedere all'utente l'input nel terminale


783 }788 }

784 789 

785 // Visualizza le domande di Claude e raccogli le risposte dell'utente790 // Visualizza le domande di Claude e raccogli le risposte dell'utente

786 async function handleAskUserQuestion(input: any) {791 async function handleAskUserQuestion(input: any): Promise<PermissionResult> {

787 const answers: Record<string, string> = {};792 const answers: Record<string, string> = {};

788 793 

789 for (const q of input.questions) {794 for (const q of input.questions) {

agent-view.md +21 −12

Details

391 391 

392Puoi inviare nuove sessioni in background dalla vista agente, inviare o copiare una sessione interattiva esistente in background, oppure avviarne una direttamente dalla shell.392Puoi inviare nuove sessioni in background dalla vista agente, inviare o copiare una sessione interattiva esistente in background, oppure avviarne una direttamente dalla shell.

393 393 

394<h3 id="from-agent-view">394<span id="from-agent-view" />

395 Dalla vista agente395 

396<h3 id="dispatch-an-agent-from-agent-view">

397 Inviare un agente dalla vista agente

396</h3>398</h3>

397 399 

398Digita un prompt nell'input in fondo alla vista agente e premi `Enter` per avviare una nuova sessione in background. La sessione viene denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.400Digita un prompt nell'input in fondo alla vista agente e premi `Enter` per avviare una nuova sessione in background. La sessione viene denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.


446 448 

447Quando la vista agente è raggruppata per directory, l'invio invia il prompt alla directory della riga selezionata, in modo da poter selezionare un gruppo e inviare in esso senza riscrivere il percorso.449Quando la vista agente è raggruppata per directory, l'invio invia il prompt alla directory della riga selezionata, in modo da poter selezionare un gruppo e inviare in esso senza riscrivere il percorso.

448 450 

449<h3 id="from-inside-a-session">451<span id="from-inside-a-session" />

450 Da dentro una sessione452 

453<h3 id="send-or-copy-a-session-to-the-background">

454 Inviare o copiare una sessione in background

451</h3>455</h3>

452 456 

453Due comandi spostano il lavoro dalla sessione in cui sei in background: `/background` invia la conversazione corrente lì e libera il tuo terminale, e `/fork` invia una copia mentre continui a lavorare dove sei.457Due comandi spostano il lavoro dalla sessione in cui sei in background: `/background` invia la conversazione corrente lì e libera il tuo terminale, e `/fork` invia una copia mentre continui a lavorare dove sei.


511 515 

512Vengono trasportate anche le directory che hai aggiunto durante la sessione con [`/add-dir`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration). Trasportare `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione in background, ma non concede nulla di nuovo: la modalità richiede comunque l'accettazione interattiva una tantum descritta in [Modalità di permesso, modello e sforzo](#permission-mode-model-and-effort).516Vengono trasportate anche le directory che hai aggiunto durante la sessione con [`/add-dir`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration). Trasportare `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione in background, ma non concede nulla di nuovo: la modalità richiede comunque l'accettazione interattiva una tantum descritta in [Modalità di permesso, modello e sforzo](#permission-mode-model-and-effort).

513 517 

514<h3 id="from-your-shell">518<span id="from-your-shell" />

515 Dalla tua shell519 

520<h3 id="dispatch-an-agent-from-your-shell">

521 Inviare un agente dalla tua shell

516</h3>522</h3>

517 523 

518Passa `--bg` o la sua forma lunga `--background` per avviare una sessione che va direttamente in background:524Passa `--bg` o la sua forma lunga `--background` per avviare una sessione che va direttamente in background:


603 609 

604Al di fuori di un repository git, le sessioni scrivono direttamente nella directory di lavoro e non sono isolate l'una dall'altra, quindi evita di inviare sessioni parallele che modificano gli stessi file. Se usi un sistema di controllo della versione diverso, configura un [hook `WorktreeCreate`](/docs/it/worktrees#non-git-version-control) e Claude isola le modifiche nello stesso modo in cui lo fa per git.610Al di fuori di un repository git, le sessioni scrivono direttamente nella directory di lavoro e non sono isolate l'una dall'altra, quindi evita di inviare sessioni parallele che modificano gli stessi file. Se usi un sistema di controllo della versione diverso, configura un [hook `WorktreeCreate`](/docs/it/worktrees#non-git-version-control) e Claude isola le modifiche nello stesso modo in cui lo fa per git.

605 611 

606Quando l'hook fallisce in una directory che non è un repository git, Claude salta l'isolamento per quella directory e modifica la directory di lavoro in posizione. All'interno di un repository git, una sessione che Claude sposta in un worktree prima di modificare non può modificare i file nel checkout condiviso finché quello spostamento non avviene.612Quando l'hook fallisce in una directory che non è un repository git, Claude salta l'isolamento per quella directory e modifica la directory di lavoro in posizione. All'interno di un repository git, una sessione che Claude sposta in un worktree prima di modificare non può usare gli strumenti `Edit`, `Write` o `NotebookEdit` sul checkout condiviso finché quello spostamento non avviene.

607 613 

608Per trovare il percorso del worktree di una sessione, collegati e controlla la sua directory di lavoro.614Per trovare il percorso del worktree di una sessione, collegati e controlla la sua directory di lavoro.

609 615 


825| `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` |831| `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` |

826| `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 |832| `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 |

827 833 

828`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.834`claude attach` e `claude logs` possono accettare parte del nome di una sessione al posto dell'ID, come in `claude logs "auth refactor"`. Passare un nome richiede Claude Code v2.1.290 o successivo.

829 835 

830<h3 id="list-sessions-as-json">836<h3 id="list-sessions-as-json">

831 Elencare le sessioni come JSON837 Elencare le sessioni come JSON


979 L'apertura di una sessione dice che non ha trascrizione salvata985 L'apertura di una sessione dice che non ha trascrizione salvata

980</h3>986</h3>

981 987 

982Una sessione interrotta che è stata [messa in background da un'altra conversazione](#from-inside-a-session) e interrotta prima che la sua prima risposta finisse non ha nulla da riprendere: fino a quando quella prima risposta non finisce, la conversazione vive ancora solo nella sessione da cui è stata messa in background. `claude attach` rifiuta di aprirla con `This session has no saved transcript`.988Quando apri una sessione che hai [messo in background da un'altra conversazione](#from-inside-a-session) e che si è interrotta prima di eseguire un turno proprio, Claude Code riprende quella conversazione. Se Claude Code non riesce a trovare la conversazione, rifiuta di aprire la sessione:

989 

990* `claude attach` stampa `This session has no saved transcript`.

991* Agent view mostra `Press enter again to restart this session fresh` sotto l'elenco.

983 992 

984In agent view, aprire quella riga mostra `Press enter again to restart this session fresh` sotto l'elenco. Premi `Enter` sulla stessa riga di nuovo per riavviare la sessione con una conversazione vuota, o esegui `claude respawn <id>` dalla shell.993Premi `Enter` sulla stessa riga di nuovo per riavviare la sessione con una conversazione vuota, o esegui `claude respawn <id>` dalla shell.

985 994 

986La conversazione originale è intatta; riprendila con `claude --resume` o continua a lavorarci. Vedi il [riferimento degli errori](/docs/it/errors#this-session-has-no-saved-transcript) per i dettagli.995Vedi il [riferimento degli errori](/docs/it/errors#this-session-has-no-saved-transcript) per i dettagli.

987 996 

988<h3 id="the-terminal-host-died-or-the-session-stopped-responding">997<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

989 L'host del terminale è morto o la sessione ha smesso di rispondere998 L'host del terminale è morto o la sessione ha smesso di rispondere


1095 1104 

1096| Versione | Cambiamento |1105| Versione | Cambiamento |

1097| - | - |1106| - | - |

1098| v2.1.290 | [`claude attach` e `claude logs`](#manage-sessions-from-the-shell) possono accettare parte del nome di una sessione in esecuzione al posto dell'ID. |1107| v2.1.290 | [`claude attach` e `claude logs`](#manage-sessions-from-the-shell) possono accettare parte del nome di una sessione al posto dell'ID. |

1099| v2.1.290 | `/model`, `/effort`, `/rename` e `/usage` inviati come [risposta dal pannello peek](#peek-and-reply) a una sessione al lavoro vengono eseguiti subito. |1108| v2.1.290 | `/model`, `/effort`, `/rename` e `/usage` inviati come [risposta dal pannello peek](#peek-and-reply) a una sessione al lavoro vengono eseguiti subito. |

1100| v2.1.290 | Una [risposta dal pannello peek](#peek-and-reply) che non può essere consegnata non viene più salvata per il riavvio successivo quando inizia con `/`, o quando risponde a una domanda con scelte predefinite mentre il processo della sessione è in esecuzione. |1109| v2.1.290 | Una [risposta dal pannello peek](#peek-and-reply) che non può essere consegnata non viene più salvata per il riavvio successivo quando inizia con `/`, o quando risponde a una domanda con scelte predefinite mentre il processo della sessione è in esecuzione. |

1101| v2.1.288 | `Ctrl+F` trova le sessioni per nome, e `Alt+↑` / `Alt+↓` saltano tra le intestazioni dei gruppi. Entrambe, e `Ctrl+R`, possono essere [riassegnate](/docs/it/keybindings#agents-actions). |1110| v2.1.288 | `Ctrl+F` trova le sessioni per nome, e `Alt+↑` / `Alt+↓` saltano tra le intestazioni dei gruppi. Entrambe, e `Ctrl+R`, possono essere [riassegnate](/docs/it/keybindings#agents-actions). |

chrome.md +39 −2

Details

202and attach logs/session.log to it202and attach logs/session.log to it

203```203```

204 204 

205Tre restrizioni si applicano ai caricamenti:205Se Claude si rifiuta di allegare un file o un caricamento non riesce, verifica queste possibili cause:

206 206 

207* **Autorizzazioni**: Claude può caricare un file solo quando la sessione è autorizzata a leggerlo, quindi le [regole di autorizzazione](/docs/it/settings-reference#permission-settings) che negano l'accesso `Read` a un file bloccano anche il caricamento.207* **Autorizzazioni**: Claude può caricare un file solo quando la sessione è autorizzata a leggerlo, quindi le [regole di autorizzazione](/docs/it/settings-reference#permission-settings) che negano l'accesso `Read` a un file bloccano anche il caricamento.

208* **Dimensione**: un singolo caricamento può includere fino a 10 MB di file in totale.208* **Dimensione**: un singolo caricamento può includere fino a 10 MB di file in totale.

209* **Hard link**: Claude rifiuta i file che hanno più hard link, il che è comune all'interno di archivi di gestori di pacchetti come `node_modules`. Copia il file e carica la copia.209* **Hard link**: Claude rifiuta i file che hanno più hard link, il che è comune all'interno di archivi di gestori di pacchetti come `node_modules`. Copia il file e carica la copia.

210* **Nomi associati alle credenziali**: Claude rifiuta un file il cui nome o la cui cartella è uno di quelli in cui vengono conservate le credenziali, come `.env`, un file `.pem` o `.key`, o qualsiasi cosa sotto `.ssh`. Richiede Claude Code v2.1.293 o successivo.

210 211 

211<h3 id="draft-content-in-google-docs">212<h3 id="draft-content-in-google-docs">

212 Bozza di contenuto in Google Docs213 Bozza di contenuto in Google Docs


309 310 

310Gli altri browser basati su Chromium leggono lo stesso file dalla loro directory di configurazione, denominata in base al browser. Ad esempio, Brave su macOS utilizza `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, e su Windows ogni browser ha la propria chiave di registro, come `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.311Gli altri browser basati su Chromium leggono lo stesso file dalla loro directory di configurazione, denominata in base al browser. Ad esempio, Brave su macOS utilizza `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, e su Windows ogni browser ha la propria chiave di registro, come `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.

311 312 

313<h3 id="project-settings-can’t-turn-on-chrome">

314 Le impostazioni del progetto non possono attivare Chrome

315</h3>

316 

317Questo avviso nel terminale significa che il progetto su cui stai lavorando ha tentato di attivare l'integrazione con Chrome e Claude Code non lo ha consentito:

318 

319```text wrap theme={null}

320Claude Code ignored CLAUDE_CODE_ENABLE_CFC in this project's settings: a project can't turn on Claude in Chrome. To turn it on yourself, run /chrome or start with --chrome.

321```

322 

323Il file `.claude/settings.json` o `.claude/settings.local.json` del progetto imposta [`CLAUDE_CODE_ENABLE_CFC`](/docs/it/env-vars#variables) su `1` nel suo blocco `env` per attivare l'integrazione con Chrome. Claude Code non ha applicato questa impostazione, quindi l'integrazione con Chrome è disattivata in questa sessione e Claude non dispone degli strumenti del browser.

324 

325Claude Code ignora l'impostazione perché quei file sono archiviati nella directory del progetto, e un repository che scarichi non deve poter connettere Claude al tuo browser.

326 

327Puoi continuare a lavorare così come sei. Se vuoi gli strumenti del browser, o vuoi far sparire l'avviso, esegui una di queste operazioni:

328 

329* **Per ottenere subito gli strumenti del browser**: esci e riavvia con `claude --chrome` nella shell.

330* **Per ottenere gli strumenti del browser nelle sessioni successive**: esegui `/chrome` nel prompt di Claude Code e seleziona [**Enabled by default**](#enable-chrome-by-default). Questo si applica alle sessioni che avvii in seguito, non a quella in esecuzione.

331* **Per eliminare l'avviso senza gli strumenti del browser**: rimuovi la riga `CLAUDE_CODE_ENABLE_CFC` dal file delle impostazioni del progetto.

332 

312<h3 id="browser-not-responding">333<h3 id="browser-not-responding">

313 Browser non risponde334 Browser non risponde

314</h3>335</h3>


325 346 

326Il service worker dell'estensione Chrome può diventare inattivo durante le sessioni estese, il che interrompe la connessione. Se gli strumenti del browser smettono di funzionare dopo un periodo di inattività, esegui `/chrome` e seleziona "Reconnect extension".347Il service worker dell'estensione Chrome può diventare inattivo durante le sessioni estese, il che interrompe la connessione. Se gli strumenti del browser smettono di funzionare dopo un periodo di inattività, esegui `/chrome` e seleziona "Reconnect extension".

327 348 

349Quando esegui `/chrome`, controlla la sua riga `Status`. Se indica "Not connected", la connessione a Chrome della sessione in esecuzione non è riuscita. Seleziona "Reconnect extension" per riavviare quella connessione. Dopo che la connessione è riuscita, la pagina di riconnessione dell'estensione si apre in Chrome. Prima della v2.1.290, "Reconnect extension" apriva soltanto quella pagina e non riavviava una connessione non riuscita, quindi se gli strumenti del browser non tornano disponibili su una versione precedente, aggiorna Claude Code.

350 

351<h3 id="extension-signed-in-to-a-different-organization">

352 Estensione con accesso a un'organizzazione diversa

353</h3>

354 

355Se appartieni a più di un'organizzazione claude.ai, nell'estensione deve essere stato effettuato l'accesso alla stessa organizzazione di Claude Code. Se le due sono diverse, gli strumenti del browser di Claude restituiscono "Browser extension is not connected", anche quando entrambi usano lo stesso account claude.ai.

356 

357Per vedere a quale organizzazione ha effettuato l'accesso Claude Code, esegui [`/status`](/docs/it/commands) nel prompt di Claude Code e leggi la riga `Organization`.

358 

359<Warning>

360 Se esci dall'estensione, perdi le scorciatoie e le attività pianificate salvate al suo interno. Prova prima le altre soluzioni descritte in [Messaggi di errore comuni](#common-error-messages).

361</Warning>

362 

363Per cambiare l'organizzazione dell'estensione, esci dalle impostazioni dell'estensione, quindi accedi di nuovo e seleziona l'organizzazione mostrata da `/status`.

364 

328<h3 id="windows-specific-issues">365<h3 id="windows-specific-issues">

329 Problemi specifici di Windows366 Problemi specifici di Windows

330</h3>367</h3>


343 380 

344| Errore | Causa | Soluzione |381| Errore | Causa | Soluzione |

345| - | - | - |382| - | - | - |

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) |383| "Browser extension is not connected" | L'estensione non è installata e in esecuzione in Chrome, nell'estensione è stato effettuato l'accesso a un account o a un'organizzazione claude.ai diversi da quelli di Claude Code, 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 e alla stessa [organizzazione](#extension-signed-in-to-a-different-organization) 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` |384| 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 |385| "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" |386| "Receiving end does not exist" | Il service worker dell'estensione è diventato inattivo | Esegui `/chrome` e seleziona "Reconnect extension" |

Details

1237 1237 

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

1239 1239 

1240Nelle sessioni con accesso effettuato tramite `/login`, la CLI contrassegna ogni esportazione con l'identità dell'utente autenticato, letta dal JWT emesso dal gateway: gli attributi `user.id`, `user.email` e `user.groups`. L'attribuzione di costi e utilizzo per sviluppatore funziona quindi senza alcuna configurazione lato sviluppatore.1240Nelle sessioni che hanno effettuato l'accesso tramite `/login`, la CLI contrassegna ogni esportazione con l'identità dell'utente autenticato, letta dal JWT emesso dal gateway: gli attributi `user.id`, `user.email` e `user.groups`. L'attribuzione di costi e utilizzo per sviluppatore funziona quindi senza alcuna configurazione lato sviluppatore. Gli eventi che Claude Code registra prima che lo sviluppatore effettui l'accesso [non portano questa identità](/docs/it/monitoring-usage#standard-attributes). Per sapere quale attributo segue una modifica ai gruppi di uno sviluppatore, consulta [Modifiche ai gruppi durante una sessione aperta](#group-changes-during-an-open-session).

1241 1241 

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

1243 1243 


1347 1347 

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

1349 1349 

1350<h4 id="group-changes-during-an-open-session">

1351 Modifiche ai gruppi durante una sessione aperta

1352</h4>

1353 

1354Le sessioni del terminale inseriscono `user.groups` nella risorsa OTLP e di nuovo su ogni data point delle metriche e su ogni evento. Se i gruppi di uno sviluppatore cambiano mentre una sessione è aperta, i data point e gli eventi relativi all'utilizzo successivo al prossimo [refresh silenzioso](#session) riportano i nuovi gruppi. La risorsa mantiene i vecchi gruppi finché lo sviluppatore non riavvia Claude Code, quindi raggruppa in base all'attributo sul data point o sull'evento.

1355 

1356Se attivi `resource_to_telemetry_conversion` nell'exporter Prometheus remote write dell'OpenTelemetry Collector, l'exporter sostituisce lo `user.groups` di ogni data point con quello della risorsa, quindi ogni data point mostra i vecchi gruppi. Per mantenere il valore del data point, elimina `user.groups` dalla risorsa prima di quell'exporter.

1357 

1358Questo processor `resource` dell'OpenTelemetry Collector elimina l'attributo nelle pipeline che lo elencano:

1359 

1360```yaml theme={null}

1361processors:

1362 resource/drop-user-groups:

1363 attributes:

1364 - key: user.groups

1365 action: delete

1366```

1367 

1368Dopo aver aggiunto `resource/drop-user-groups` ai `processors` della pipeline delle metriche, ogni serie riporta l'etichetta `user_groups` dal proprio data point.

1369 

1350<h4 id="export-directly-to-your-collector">1370<h4 id="export-directly-to-your-collector">

1351 Esporta direttamente al tuo collettore1371 Esporta direttamente al tuo collettore

1352</h4>1372</h4>

Details

516 Telemetry516 Telemetry

517</h2>517</h2>

518 518 

519Il gateway fornisce metriche di utilizzo per sviluppatore senza alcuna configurazione OTEL per macchina. Claude Code emette metriche, log e tracce OpenTelemetry (OTLP) opzionali; [Monitoring usage](/docs/it/monitoring-usage) copre tutto ciò che il CLI segnala. Nelle sessioni accedute tramite `/login`, il CLI contrassegna ogni esportazione con gli attributi di identità IdP autenticati `user.id`, `user.email` e `user.groups`, in modo che l'utilizzo si accumuli per sviluppatore.519Il gateway ti fornisce metriche di utilizzo per sviluppatore senza alcuna configurazione OTEL per macchina. Claude Code emette metriche, log e tracce opzionali OpenTelemetry (OTLP); [Monitorare l'utilizzo](/docs/it/monitoring-usage) copre tutto ciò che il CLI segnala. Nelle sessioni in cui l'accesso è stato effettuato tramite `/login`, il CLI [contrassegna ogni esportazione](/docs/it/monitoring-usage#standard-attributes) con gli attributi di identità IdP autenticati `user.id`, `user.email` e `user.groups`, in modo che l'utilizzo venga aggregato per sviluppatore.

520 520 

521Il gateway stesso è un relay OTLP autenticato. Impostare [`telemetry.forward_to`](/docs/it/claude-apps-gateway-config#telemetry) insieme a `listen.public_url`, e spingerà le impostazioni dell'esportatore OTEL a ogni client connesso e inoltrerà il loro traffico OTLP verbatim a ogni destinazione che elencate. Ogni destinazione acconsente a metriche, log e tracce indipendentemente, e l'impostazione predefinita è solo metriche; vedere il [riferimento `telemetry`](/docs/it/claude-apps-gateway-config#telemetry) per i campi per segnale e i loro compromessi di sensibilità. Il gateway non memorizza nel buffer, non aggrega e non archivia telemetria, quindi il luogo in cui i dati arrivano dipende interamente dalla configurazione dell'esportatore del collector.521Il gateway stesso è un relay OTLP autenticato. Impostare [`telemetry.forward_to`](/docs/it/claude-apps-gateway-config#telemetry) insieme a `listen.public_url`, e spingerà le impostazioni dell'esportatore OTEL a ogni client connesso e inoltrerà il loro traffico OTLP verbatim a ogni destinazione che elencate. Ogni destinazione acconsente a metriche, log e tracce indipendentemente, e l'impostazione predefinita è solo metriche; vedere il [riferimento `telemetry`](/docs/it/claude-apps-gateway-config#telemetry) per i campi per segnale e i loro compromessi di sensibilità. Il gateway non memorizza nel buffer, non aggrega e non archivia telemetria, quindi il luogo in cui i dati arrivano dipende interamente dalla configurazione dell'esportatore del collector.

522 522 

Details

91 Dalla CLI, l'handoff della sessione è unidirezionale: puoi estrarre sessioni cloud nel tuo terminale con `--teleport`, ma non puoi inviare una sessione terminale esistente al cloud. Il flag `--cloud` con una descrizione di compito crea una nuova sessione cloud per il tuo repository attuale; con `-p` e un ID di sessione o URL claude.ai/code invece [accoda un messaggio in quella sessione esistente](/docs/it/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[app Desktop](/docs/it/desktop#continue-in-another-surface) può inviare al cloud una sessione locale della sua scheda Code dal menu **Open in**.91 Dalla CLI, l'handoff della sessione è unidirezionale: puoi estrarre sessioni cloud nel tuo terminale con `--teleport`, ma non puoi inviare una sessione terminale esistente al cloud. Il flag `--cloud` con una descrizione di compito crea una nuova sessione cloud per il tuo repository attuale; con `-p` e un ID di sessione o URL claude.ai/code invece [accoda un messaggio in quella sessione esistente](/docs/it/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[app Desktop](/docs/it/desktop#continue-in-another-surface) può inviare al cloud una sessione locale della sua scheda Code dal menu **Open in**.

92</Note>92</Note>

93 93 

94<h3 id="from-terminal-to-cloud">94<span id="from-terminal-to-cloud" />

95 Dal terminale al cloud95 

96<h3 id="start-a-cloud-session-from-your-terminal">

97 Avvia una sessione cloud dal tuo terminale

96</h3>98</h3>

97 99 

98Avvia una sessione cloud dalla riga di comando con il flag `--cloud`:100Avvia una sessione cloud dalla riga di comando con il flag `--cloud`:


215 217 

216Se l'invio fallisce, consulta [Errori durante l'invio a una sessione cloud](#errors-when-sending-to-a-cloud-session).218Se l'invio fallisce, consulta [Errori durante l'invio a una sessione cloud](#errors-when-sending-to-a-cloud-session).

217 219 

218<h3 id="from-cloud-to-terminal">220<span id="from-cloud-to-terminal" />

219 Dal cloud al terminale221 

222<h3 id="continue-a-cloud-session-in-your-terminal">

223 Continua una sessione cloud nel tuo terminale

220</h3>224</h3>

221 225 

222Estrai una sessione cloud nel tuo terminale usando uno di questi:226Estrai una sessione cloud nel tuo terminale usando uno di questi:


483Riapri la sessione da [claude.ai/code](https://claude.ai/code) per fornire una VM nuova:487Riapri la sessione da [claude.ai/code](https://claude.ai/code) per fornire una VM nuova:

484 488 

485* **Ripristinata**: la cronologia della conversazione489* **Ripristinata**: la cronologia della conversazione

486* **Non ripristinato**: il lavoro in background che era ancora in esecuzione quando la VM è stata recuperata, come subagent e comandi shell490* **Non ripristinato**: il lavoro in background che era ancora in esecuzione quando la VM è stata recuperata, come subagent e comandi shell, e il risveglio in sospeso di un [`/loop` a ritmo autonomo](/docs/it/scheduled-tasks#let-claude-choose-the-interval). Per riavviare il ciclo, esegui di nuovo `/loop`.

487 491 

488<h2 id="limitations">492<h2 id="limitations">

489 Limitazioni493 Limitazioni

Details

489* **Routine**: quando chiedi il lavoro programmato in un project, Claude crea una [routine](/docs/it/routines) che viene eseguita come thread in quel project e appare sulla sua scheda **Routines**. Le routine che crei al di fuori di un project continuano a funzionare da sole.489* **Routine**: quando chiedi il lavoro programmato in un project, Claude crea una [routine](/docs/it/routines) che viene eseguita come thread in quel project e appare sulla sua scheda **Routines**. Le routine che crei al di fuori di un project continuano a funzionare da sole.

490* **Remote Control**: [Remote Control](/docs/it/remote-control) connette claude.ai a una sessione Claude Code in esecuzione sulla tua macchina. Quando chiedi a Claude in un project di eseguire un thread sul tuo computer, il project [usa Remote Control per farlo](#run-a-thread-on-your-own-computer).490* **Remote Control**: [Remote Control](/docs/it/remote-control) connette claude.ai a una sessione Claude Code in esecuzione sulla tua macchina. Quando chiedi a Claude in un project di eseguire un thread sul tuo computer, il project [usa Remote Control per farlo](#run-a-thread-on-your-own-computer).

491* **Sessioni locali e agent view**: una sessione che avvii da solo nel tuo terminale, IDE o nell'ambiente locale dell'app desktop non può essere aggiunta a un project. [Agent view](/docs/it/agent-view) è una schermata per tracciare diverse sessioni locali fianco a fianco, e tu avvii ancora ognuna e le dai il suo compito da solo.491* **Sessioni locali e agent view**: una sessione che avvii da solo nel tuo terminale, IDE o nell'ambiente locale dell'app desktop non può essere aggiunta a un project. [Agent view](/docs/it/agent-view) è una schermata per tracciare diverse sessioni locali fianco a fianco, e tu avvii ancora ognuna e le dai il suo compito da solo.

492* **Worktrees**: un [worktree](/docs/it/worktrees) dà a ogni sessione locale la sua copia di lavoro di un repository in modo che le sessioni parallele sulla tua macchina non si sovrascrivano a vicenda. I thread cloud non ne hanno bisogno: ognuno clona i suoi repository nella sua sandbox cloud e lavora sul suo branch.492* **Worktree**: un [worktree](/docs/it/worktrees) dà a ogni sessione locale la sua copia di lavoro di un repository. I thread cloud non ne hanno bisogno: ognuno clona i suoi repository nella sua sandbox cloud e lavora sul suo branch.

493* **Agent teams**: un [agent team](/docs/it/agent-teams) è una sessione che avvia sessioni di compagno per un singolo compito, sulla tua macchina o dentro una sessione cloud, e finisce con quel compito.493* **Agent teams**: un [agent team](/docs/it/agent-teams) è una sessione che avvia sessioni di compagno per un singolo compito, sulla tua macchina o dentro una sessione cloud, e finisce con quel compito.

494* **Subagents**: un [subagent](/docs/it/sub-agents) viene eseguito dentro una sessione, esegue un compito secondario nella sua finestra di contesto propria, e restituisce un riepilogo a quella sessione. I thread di un project sono sessioni intere che Claude avvia e che riferiscono di nuovo alla conversazione del project, e un thread può comunque usare subagent per i suoi propri compiti secondari.494* **Subagents**: un [subagent](/docs/it/sub-agents) viene eseguito dentro una sessione, esegue un compito secondario nella sua finestra di contesto propria, e restituisce un riepilogo a quella sessione. I thread di un project sono sessioni intere che Claude avvia e che riferiscono di nuovo alla conversazione del project, e un thread può comunque usare subagent per i suoi propri compiti secondari.

495* **Projects in claude.ai chat e Cowork**: l'[esperienza Projects precedente](https://support.claude.com/en/articles/9517075-what-are-projects), che raggruppa conversazioni e file di riferimento senza thread o un coordinatore. Questi project continuano a funzionare come fanno oggi fino a quando l'esperienza riprogettata li raggiunge.495* **Projects in claude.ai chat e Cowork**: l'[esperienza Projects precedente](https://support.claude.com/en/articles/9517075-what-are-projects), che raggruppa conversazioni e file di riferimento senza thread o un coordinatore. Questi project continuano a funzionare come fanno oggi fino a quando l'esperienza riprogettata li raggiunge.

Details

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

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

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

31| `claude attach <id\|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 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` |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` |


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` |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` |

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` |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` |

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

40| `claude logs <id\|name>` | Stampa l'output recente da una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell). Passare parte del nome di una sessione in esecuzione al posto dell'ID richiede Claude Code v2.1.290 o successivo | `claude logs 7c5dcf5d` |40| `claude logs <id\|name>` | Stampa l'output recente da una [sessione in background](/docs/it/agent-view#manage-sessions-from-the-shell). Passare parte del nome di una sessione al posto dell'ID richiede Claude Code v2.1.290 o successivo | `claude logs 7c5dcf5d` |

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

42| `claude mcp login <name>` | Esegui il flusso OAuth di un server MCP configurato senza aprire il pannello interattivo `/mcp`. Funziona per server HTTP, SSE e connettori claude.ai. Aggiungi `--no-browser` su SSH per stampare l'URL di autorizzazione invece di aprire un browser, quindi incolla l'URL di reindirizzamento al prompt. Vedi [Autentica dalla riga di comando](/docs/it/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |42| `claude mcp login <name>` | Esegui il flusso OAuth di un server MCP configurato senza aprire il pannello interattivo `/mcp`. Funziona per server HTTP, SSE e connettori claude.ai. Aggiungi `--no-browser` su SSH per stampare l'URL di autorizzazione invece di aprire un browser. Per un server HTTP o SSE, incolla l'URL di reindirizzamento al prompt. Per un connettore claude.ai, vedi [Autorizza di nuovo un connettore dalla tua shell](/docs/it/remote-control#authorize-a-connector-again-from-your-shell). Vedi [Autentica dalla riga di comando](/docs/it/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

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

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

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


106| `--input-format` | Specifica il formato di input per la modalità print (opzioni: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |106| `--input-format` | Specifica il formato di input per la modalità print (opzioni: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

107| `--json-schema` | Ottieni output JSON convalidato corrispondente a uno JSON Schema dopo che l'agente completa il suo flusso di lavoro (solo modalità print). Vedi [output strutturati](/docs/it/agent-sdk/structured-outputs). Claude Code esce con un errore su uno schema non valido e accetta la parola chiave `format` come annotazione senza convalida lato client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |107| `--json-schema` | Ottieni output JSON convalidato corrispondente a uno JSON Schema dopo che l'agente completa il suo flusso di lavoro (solo modalità print). Vedi [output strutturati](/docs/it/agent-sdk/structured-outputs). Claude Code esce con un errore su uno schema non valido e accetta la parola chiave `format` come annotazione senza convalida lato client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

108| `--maintenance` | Esegui gli [hook di Setup](/docs/it/hooks#setup) con il matcher `maintenance` prima della sessione (solo modalità print) | `claude -p --maintenance "query"` |108| `--maintenance` | Esegui gli [hook di Setup](/docs/it/hooks#setup) con il matcher `maintenance` prima della sessione (solo modalità print) | `claude -p --maintenance "query"` |

109| `--max-budget-usd` | Importo massimo in dollari da spendere nelle chiamate API prima di fermarsi (solo modalità print). Claude Code confronta il limite con la sua [stima dei costi lato client](/docs/it/agent-sdk/cost-tracking#estimates-not-billing), che può differire dalla tua fattura. La spesa dei [subagent](/docs/it/sub-agents) conta verso il limite. Quando torni a una conversazione con `--continue` o `--resume`, i totali [ripristinati da esecuzioni precedenti](/docs/it/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) non contano verso di esso. Una volta che la spesa raggiunge il limite, generare un altro subagent fallisce con `Budget limit reached`, e Claude Code ferma i subagent in background ancora in esecuzione; i comportamenti di applicazione del limite richiedono Claude Code v2.1.217 o successivo | `claude -p --max-budget-usd 5.00 "query"` |109| `--max-budget-usd` | Ferma l'esecuzione quando la spesa stimata per le chiamate API raggiunge questo importo (solo modalità print). Claude Code confronta il limite con la sua [stima dei costi lato client](/docs/it/agent-sdk/cost-tracking#estimates-not-billing), che può differire dalla tua fattura. La spesa dei [subagent](/docs/it/sub-agents) conta verso il limite. La spesa può superare il limite, quindi [lascia un margine](/docs/it/agent-sdk/agent-loop#budget-headroom). Quando torni a una conversazione con `--continue` o `--resume`, i totali [ripristinati da esecuzioni precedenti](/docs/it/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) non contano verso di esso. Una volta che la spesa raggiunge il limite, l'avvio di un altro subagent fallisce con `Budget limit reached`, e Claude Code ferma i subagent in background ancora in esecuzione; i comportamenti di applicazione del limite richiedono Claude Code v2.1.217 o successivo | `claude -p --max-budget-usd 5.00 "query"` |

110| `--max-turns` | Limita il numero di turni agentici (solo modalità print). Esce con un errore quando il limite viene raggiunto. Nessun limite per impostazione predefinita. Con `--input-format stream-json`, un messaggio ancora in coda quando il limite termina un turno rimane in coda e inizia un nuovo turno con il suo proprio limite | `claude -p --max-turns 3 "query"` |110| `--max-turns` | Limita il numero di turni agentici (solo modalità print). Esce con un errore quando il limite viene raggiunto. Nessun limite per impostazione predefinita. Con `--input-format stream-json`, un messaggio ancora in coda quando il limite termina un turno rimane in coda e inizia un nuovo turno con il suo proprio limite | `claude -p --max-turns 3 "query"` |

111| `--mcp-config` | Carica i server MCP da file JSON o stringhe (separati da spazi). Quando passi questo flag con `-p`, Claude Code attende che i server ancora in sospeso si connettano prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita; un server con un [elenco di strumenti memorizzato nella cache](/docs/it/mcp#managing-your-servers) salta l'attesa e si connette al primo utilizzo. L'attesa richiede Claude Code v2.1.221 o successivo | `claude --mcp-config ./mcp.json` |111| `--mcp-config` | Carica i server MCP da file JSON o stringhe (separati da spazi). Quando passi questo flag con `-p`, Claude Code attende che i server ancora in sospeso si connettano prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita; un server con un [elenco di strumenti memorizzato nella cache](/docs/it/mcp#managing-your-servers) salta l'attesa e si connette al primo utilizzo. L'attesa richiede Claude Code v2.1.221 o successivo | `claude --mcp-config ./mcp.json` |

112| `--model` | Imposta il modello per la sessione corrente con un [alias di modello](/docs/it/model-config#model-aliases) come `sonnet`, `opus`, `haiku`, o `fable`, o il nome completo di un modello. Sostituisce l'impostazione [`model`](/docs/it/settings-reference#model) e [`ANTHROPIC_MODEL`](/docs/it/model-config#environment-variables) | `claude --model claude-sonnet-5` |112| `--model` | Imposta il modello per la sessione corrente con un [alias di modello](/docs/it/model-config#model-aliases) come `sonnet`, `opus`, `haiku`, o `fable`, o il nome completo di un modello. Sostituisce l'impostazione [`model`](/docs/it/settings-reference#model) e [`ANTHROPIC_MODEL`](/docs/it/model-config#environment-variables) | `claude --model claude-sonnet-5` |

Details

307| | Disponibile nelle sessioni cloud | Perché |307| | Disponibile nelle sessioni cloud | Perché |

308| :- | :- | :- |308| :- | :- | :- |

309| Il `CLAUDE.md` del tuo repository | Sì | Parte del clone |309| Il `CLAUDE.md` del tuo repository | Sì | Parte del clone |

310| 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 |310| 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. Per una sessione con più repository, consulta [quali impostazioni legge](/docs/it/settings#settings-in-cloud-sessions) |

311| 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 |311| 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. Per un ambiente self-hosted, consulta [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |

312| La directory `.claude/rules/` del tuo repository | Sì | Parte del clone |312| La directory `.claude/rules/` del tuo repository | Sì | Parte del clone |

313| Le directory `.claude/skills/`, `.claude/agents/`, `.claude/commands/` del tuo repository | Sì | Parte del clone |313| Le directory `.claude/skills/`, `.claude/agents/`, `.claude/commands/` del tuo repository | Sì | Parte del clone |

314| 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) |314| 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) |


575 575 

576Gli hook SessionStart si comportano allo stesso modo nel cloud che localmente, con questi avvertimenti:576Gli hook SessionStart si comportano allo stesso modo nel cloud che localmente, con questi avvertimenti:

577 577 

578* **Una repository per sessione**: una sessione con più repository non carica gli hook da nessuno dei `.claude/settings.json` della repository, quindi un hook SessionStart che si definisce lì non viene eseguito. Installare le dipendenze per quelle sessioni con uno [script di configurazione](#setup-scripts) invece.578* **Un repository per sessione**: in un ambiente ospitato da Anthropic, una sessione con più repository non carica gli hook dal `.claude/settings.json` di nessun repository, quindi un hook SessionStart che definisci lì non viene eseguito. Installa invece le dipendenze per quelle sessioni con uno [script di configurazione](#setup-scripts). Per un ambiente self-hosted, consulta [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

579* **Nessun ambito solo cloud**: gli hook vengono eseguiti sia nelle sessioni locali che in quelle cloud. Per saltare l'esecuzione locale, uscire anticipatamente a meno che la variabile di ambiente `CLAUDE_CODE_REMOTE` non sia `true`, come fa lo [script di installazione delle dipendenze](#install-dependencies-with-a-sessionstart-hook).579* **Nessun ambito solo cloud**: gli hook vengono eseguiti sia nelle sessioni locali che in quelle cloud. Per saltare l'esecuzione locale, uscire anticipatamente a meno che la variabile di ambiente `CLAUDE_CODE_REMOTE` non sia `true`, come fa lo [script di installazione delle dipendenze](#install-dependencies-with-a-sessionstart-hook).

580* **Richiede accesso di rete**: i comandi di installazione devono raggiungere i registri dei pacchetti. Se l'ambiente utilizza accesso di rete **None**, questi hook non riescono. L'[elenco consentiti predefinito](#default-allowed-domains) sotto **Trusted** copre npm, PyPI, RubyGems e crates.io.580* **Richiede accesso di rete**: i comandi di installazione devono raggiungere i registri dei pacchetti. Se l'ambiente utilizza accesso di rete **None**, questi hook non riescono. L'[elenco consentiti predefinito](#default-allowed-domains) sotto **Trusted** copre npm, PyPI, RubyGems e crates.io.

581* **Compatibilità proxy**: negli ambienti ospitati da Anthropic, tutto il traffico in uscita passa attraverso un [proxy di sicurezza](#security-proxy), e alcuni gestori di pacchetti non funzionano correttamente con esso; Bun è un esempio noto. In un [ambiente self-hosted](/docs/it/self-hosted-environments-deploy#default-deny-egress), il traffico in uscita passa attraverso il proprio confine di rete.581* **Compatibilità proxy**: negli ambienti ospitati da Anthropic, tutto il traffico in uscita passa attraverso un [proxy di sicurezza](#security-proxy), e alcuni gestori di pacchetti non funzionano correttamente con esso; Bun è un esempio noto. In un [ambiente self-hosted](/docs/it/self-hosted-environments-deploy#default-deny-egress), il traffico in uscita passa attraverso il proprio confine di rete.

commands.md +1 −1

Details

111| `/login` | Accede al tuo account Anthropic |111| `/login` | Accede al tuo account Anthropic |

112| `/logout` | Esce dal tuo account Anthropic |112| `/logout` | Esce dal tuo account Anthropic |

113| `/loop [interval] [prompt]` | **[Skill](/docs/it/skills#bundled-skills).** Esegue ripetutamente un prompt finché la sessione rimane aperta. Ometti l'intervallo e Claude [regola autonomamente il ritmo tra le iterazioni](/docs/it/scheduled-tasks#let-claude-choose-the-interval). Ometti il prompt e Claude esegue il [prompt di manutenzione integrato](/docs/it/scheduled-tasks#run-the-built-in-maintenance-prompt) o il tuo [`loop.md`](/docs/it/scheduled-tasks#customize-the-default-prompt-with-loop-md). Esempio: `/loop 5m check if the deploy finished`. Consulta [Eseguire prompt in base a una pianificazione](/docs/it/scheduled-tasks). Alias: `/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/it/skills#bundled-skills).** Esegue ripetutamente un prompt finché la sessione rimane aperta. Ometti l'intervallo e Claude [regola autonomamente il ritmo tra le iterazioni](/docs/it/scheduled-tasks#let-claude-choose-the-interval). Ometti il prompt e Claude esegue il [prompt di manutenzione integrato](/docs/it/scheduled-tasks#run-the-built-in-maintenance-prompt) o il tuo [`loop.md`](/docs/it/scheduled-tasks#customize-the-default-prompt-with-loop-md). Esempio: `/loop 5m check if the deploy finished`. Consulta [Eseguire prompt in base a una pianificazione](/docs/it/scheduled-tasks). Alias: `/proactive` |

114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gestisce le connessioni ai server MCP e l'autenticazione OAuth. Eseguilo senza argomento per aprire l'elenco interattivo, oppure passa `reconnect`, `enable` o `disable` con il nome di un server o `all` per modificare lo stato della connessione senza aprirlo. `reconnect all` [riprova ogni server che ha avuto errori o che richiede l'autenticazione](/docs/it/mcp#retry-failed-servers-yourself). Disponibile anche in modalità non interattiva (`-p`), dove eseguirlo senza argomento stampa un riepilogo testuale dello stato dei server invece di aprire l'elenco; richiede Claude Code v2.1.205 o successiva |114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gestisce le connessioni ai server MCP e l'autenticazione OAuth. Eseguilo senza argomento per aprire l'elenco interattivo, oppure passa `reconnect`, `enable` o `disable` con il nome di un server o `all` per modificare lo stato della connessione senza aprirlo. `reconnect all` [riprova ogni server che ha avuto errori o che richiede l'autenticazione](/docs/it/mcp#retry-failed-servers-yourself). In modalità non interattiva (`-p`), eseguirlo senza argomento stampa un riepilogo testuale dello stato dei server invece di aprire l'elenco; richiede Claude Code v2.1.205 o successiva |

115| `/memory` | Modifica i file `CLAUDE.md`, abilita o disabilita la [memoria automatica](/docs/it/memory#auto-memory) e visualizza le voci della memoria automatica |115| `/memory` | Modifica i file `CLAUDE.md`, abilita o disabilita la [memoria automatica](/docs/it/memory#auto-memory) e visualizza le voci della memoria automatica |

116| `/mobile` | Mostra il codice QR per scaricare l'app mobile Claude. Alias: `/ios`, `/android` |116| `/mobile` | Mostra il codice QR per scaricare l'app mobile Claude. Alias: `/ios`, `/android` |

117| `/model [model]` | Cambia il modello di AI e lo salva come predefinito per le nuove sessioni. Per i modelli che lo supportano, usa le frecce sinistra/destra per [regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level). Senza argomento, apre un selettore; premi `s` su una riga per cambiare solo per la sessione corrente. Consulta [quando Claude Code ti chiede di confermare il cambio](/docs/it/prompt-caching#switching-models). Una volta confermato il cambio, se Claude Code lo chiede, Claude Code applica la modifica senza attendere che la risposta corrente termini. Prima della v2.1.242, Claude Code decideva in base a un feature flag recuperato da Anthropic se eseguire il comando a metà turno o metterlo in coda fino al termine del turno, e lo metteva sempre in coda in una sessione che non [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), come su un [provider di terze parti](/docs/it/third-party-integrations). Disponibile anche in modalità non interattiva (`-p`) con un argomento modello invece del selettore, dove si applica solo alla sessione corrente e non viene salvato come predefinito; richiede Claude Code v2.1.205 o successiva |117| `/model [model]` | Cambia il modello di AI e lo salva come predefinito per le nuove sessioni. Per i modelli che lo supportano, usa le frecce sinistra/destra per [regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level). Senza argomento, apre un selettore; premi `s` su una riga per cambiare solo per la sessione corrente. Consulta [quando Claude Code ti chiede di confermare il cambio](/docs/it/prompt-caching#switching-models). Una volta confermato il cambio, se Claude Code lo chiede, Claude Code applica la modifica senza attendere che la risposta corrente termini. Prima della v2.1.242, Claude Code decideva in base a un feature flag recuperato da Anthropic se eseguire il comando a metà turno o metterlo in coda fino al termine del turno, e lo metteva sempre in coda in una sessione che non [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), come su un [provider di terze parti](/docs/it/third-party-integrations). Disponibile anche in modalità non interattiva (`-p`) con un argomento modello invece del selettore, dove si applica solo alla sessione corrente e non viene salvato come predefinito; richiede Claude Code v2.1.205 o successiva |

desktop.md +1 −1

Details

396 Lavora in parallelo con le sessioni396 Lavora in parallelo con le sessioni

397</h3>397</h3>

398 398 

399Fai clic su **+ New session** nella barra laterale, o premi **Cmd+N** su macOS o **Ctrl+N** su Windows, per lavorare su più compiti in parallelo. Premi **Ctrl+Tab** e **Ctrl+Shift+Tab** per scorrere le sessioni nella barra laterale. Per i repository Git, seleziona l'opzione **worktree** accanto al nome del branch per dare alla sessione la sua copia isolata del tuo progetto usando [Git worktrees](/docs/it/worktrees), in modo che le modifiche in una sessione non influiscano su altre sessioni fino a quando non ne esegui il commit.399Fai clic su **+ New session** nella barra laterale, o premi **Cmd+N** su macOS o **Ctrl+N** su Windows, per lavorare su più compiti in parallelo. Premi **Ctrl+Tab** e **Ctrl+Shift+Tab** per scorrere le sessioni nella barra laterale. Per i repository Git, seleziona l'opzione **worktree** accanto al nome del branch per dare alla sessione la sua copia isolata del tuo progetto usando [Git worktrees](/docs/it/worktrees).

400 400 

401Per visualizzare due sessioni contemporaneamente, tieni premuto **Cmd** su macOS o **Ctrl** su Windows e fai clic su una sessione nella barra laterale. La sessione si apre in un secondo riquadro accanto a quello che hai già aperto. Mentre la divisione è attiva, facendo clic su un'altra sessione della barra laterale si sostituisce il riquadro che ha il focus. Premi **Cmd+\\** su macOS o **Ctrl+\\** su Windows per chiudere il riquadro con focus e tornare a una singola sessione.401Per visualizzare due sessioni contemporaneamente, tieni premuto **Cmd** su macOS o **Ctrl** su Windows e fai clic su una sessione nella barra laterale. La sessione si apre in un secondo riquadro accanto a quello che hai già aperto. Mentre la divisione è attiva, facendo clic su un'altra sessione della barra laterale si sostituisce il riquadro che ha il focus. Premi **Cmd+\\** su macOS o **Ctrl+\\** su Windows per chiudere il riquadro con focus e tornare a una singola sessione.

402 402 

env-vars.md +318 −313

Details

21 21 

22Una variabile che imposti nella tua shell dura per quella sessione di terminale, mentre una variabile in un file di impostazioni si applica ogni volta che `claude` viene eseguito.22Una variabile che imposti nella tua shell dura per quella sessione di terminale, mentre una variabile in un file di impostazioni si applica ogni volta che `claude` viene eseguito.

23 23 

24<h3 id="in-your-shell">24<span id="in-your-shell" />

25 Nella tua shell25 

26<h3 id="set-variables-in-your-shell">

27 Impostare variabili nella tua shell

26</h3>28</h3>

27 29 

28Imposta la variabile prima di avviare `claude`:30Imposta la variabile prima di avviare `claude`:


78 </Tab>80 </Tab>

79</Tabs>81</Tabs>

80 82 

81<h3 id="in-settings-files">83<span id="in-settings-files" />

82 Nei file di impostazioni84 

85<h3 id="set-variables-in-settings-files">

86 Impostare variabili nei file di impostazioni

83</h3>87</h3>

84 88 

85Aggiungi variabili sotto la chiave `env` in un file `settings.json`, creando il file se non esiste. Claude Code le legge direttamente dal file, quindi hanno effetto indipendentemente da come `claude` è stato avviato. Una sessione in esecuzione applica i valori nuovi e modificati al suo ambiente quando salvi il file, ma una funzionalità che legge le sue variabili una sola volta all'avvio, come il [monitoraggio OpenTelemetry](/docs/it/monitoring-usage), mantiene i suoi valori di avvio fino a quando non riavvii. Rimuovere una variabile dal file non la annulla in una sessione in esecuzione; la rimozione ha effetto la prossima volta che avvii `claude`.89Aggiungi variabili sotto la chiave `env` in un file `settings.json`, creando il file se non esiste. Claude Code le legge direttamente dal file, quindi hanno effetto indipendentemente da come `claude` è stato avviato. Una sessione in esecuzione applica i valori nuovi e modificati al suo ambiente quando salvi il file, ma una funzionalità che legge le sue variabili una sola volta all'avvio, come il [monitoraggio OpenTelemetry](/docs/it/monitoring-usage), mantiene i suoi valori di avvio fino a quando non riavvii. Rimuovere una variabile dal file non la annulla in una sessione in esecuzione; la rimozione ha effetto la prossima volta che avvii `claude`.


120 124 

121Il modo in cui una variabile d'ambiente interagisce con i flag CLI e i comandi in-session varia per funzionalità: `--model` e `/model` sovrascrivono `ANTHROPIC_MODEL`, mentre `CLAUDE_CODE_EFFORT_LEVEL` sovrascrive `--effort` e `/effort`. Quando una variabile interagisce con un'altra fonte di configurazione, la sua riga nell'elenco [Variabili](#variables) dichiara la precedenza o rimanda alla pagina che la documenta.125Il modo in cui una variabile d'ambiente interagisce con i flag CLI e i comandi in-session varia per funzionalità: `--model` e `/model` sovrascrivono `ANTHROPIC_MODEL`, mentre `CLAUDE_CODE_EFFORT_LEVEL` sovrascrive `--effort` e `/effort`. Quando una variabile interagisce con un'altra fonte di configurazione, la sua riga nell'elenco [Variabili](#variables) dichiara la precedenza o rimanda alla pagina che la documenta.

122 126 

123Claude Code legge le variabili d'ambiente della shell all'avvio, quindi le modifiche ad esse hanno effetto la prossima volta che avvii `claude`. Le variabili impostate sotto la chiave `env` nei file di impostazioni vengono riapplicate a una sessione in esecuzione quando il file cambia, con l'eccezione di avvio-solo descritta in [Nei file di impostazioni](#in-settings-files).127Claude Code legge le variabili d'ambiente della shell all'avvio, quindi le modifiche ad esse hanno effetto la prossima volta che avvii `claude`. Le variabili impostate sotto la chiave `env` nei file di impostazioni vengono riapplicate a una sessione in esecuzione quando il file cambia, con l'eccezione valida solo all'avvio descritta in [Impostare le variabili nei file di impostazioni](#in-settings-files).

124 128 

125<h2 id="variables">129<h2 id="variables">

126 Variabili130 Variabili

127</h2>131</h2>

128 132 

129Le variabili numeriche come timeout, budget di token e numero di tentativi accettano, oltre alle cifre semplici, la notazione scientifica e le grafie con separatori di cifre, tranne dove la riga di una variabile indica che accetta solo cifre semplici. Ad esempio, Claude Code legge `2e3` come 2000 e `64_000` come 64000. Prima della v2.1.211, queste grafie potevano impostare silenziosamente un valore molto più piccolo, ad esempio `1e6` impostava un timeout a 1.133Le 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.

130 134 

131<Note>135<Note>

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.136 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.

133 137 

134 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 così:138 Alcune variabili verificano solo se le hai impostate o meno, 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:

135 139 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`140 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`141 * `DISABLE_TELEMETRY`


140 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`144 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

141 * `IS_DEMO`145 * `IS_DEMO`

142 146 

143 Un'altra variabile ha una regola propria: `FORCE_HYPERLINK` legge un numero, quindi solo `0` la disattiva. Anche la riga di ciascuna variabile indica la sua regola.147 Un'altra variabile ha una regola propria: `FORCE_HYPERLINK` legge un numero, quindi solo `0` la disattiva. Anche la riga di ciascuna variabile indica la propria regola.

144</Note>148</Note>

145 149 

146| Variabile | Scopo |150| Variabile | Scopo |

147| :- | :- |151| :- | :- |

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 sostituisca il tuo abbonamento. Per usare invece il tuo abbonamento, esegui `unset ANTHROPIC_API_KEY` |152| `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` |

149| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'header `Authorization` (al valore impostato qui verrà aggiunto il prefisso `Bearer `) |153| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'header `Authorization` (al valore impostato qui verrà anteposto `Bearer `) |

150| `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 |154| `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 |

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 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) |155| `ANTHROPIC_AWS_BASE_URL` | Sovrascrive l'URL dell'endpoint di [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Usala per regioni personalizzate o quando instradi le richieste 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) |

152| `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` |156| `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` |

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) è disattivato per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il tuo proxy inoltra i blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disattivato quando questa variabile punta a un host diverso da `api.anthropic.com`, come avviene su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |157| `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) è disattivato per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il tuo proxy inoltra i blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disattivato quando questa variabile punta a un host diverso da `api.anthropic.com`, in linea con il suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |

154| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint di Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi tramite un [gateway LLM](/docs/it/llm-gateway). Consulta [Amazon Bedrock](/docs/it/amazon-bedrock) |158| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint di Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi le richieste attraverso un [gateway LLM](/docs/it/llm-gateway). Consulta [Amazon Bedrock](/docs/it/amazon-bedrock) |

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) |159| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |

156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`us`, `eu`, `apac`, `jp`, `au` o `global`) che Claude Code prova per primo al posto di quello derivato dalla regione AWS. Ignorata nelle regioni AWS GovCloud. Richiede Claude Code v2.1.224 o successiva. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |160| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`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 versioni successive. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |

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`). Inviato come header `X-Amzn-Bedrock-Service-Tier`. Consulta [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |161| `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) |

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 con chiave API, questa variabile funziona con tutti i metodi di autenticazione, incluso l'abbonamento Claude.ai |162| `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 con chiave API, questa variabile funziona con tutti i metodi di autenticazione, incluso l'abbonamento Claude.ai |

159| `ANTHROPIC_CUSTOM_HEADERS` | Header personalizzati da aggiungere alle richieste (formato `Name: Value`, separati da 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) |163| `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 l'esatto set 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, tale valore segue le [regole su quando si applicano i valori `env`](/docs/it/settings-reference#when-claude-code-applies-env-values) |

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) |164| `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) |

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 |165| `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>)` |

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 |166| `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 |

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) |167| `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) |

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) |168| `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) |

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) |169| `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) |

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) |170| `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) |

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) |171| `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) |

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) |172| `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) |

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) |173| `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) |

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) |174| `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) |

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) |175| `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) |

172| `ANTHROPIC_DEFAULT_MODEL` | Modello con cui si avviano per impostazione predefinita le nuove sessioni. 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) |176| `ANTHROPIC_DEFAULT_MODEL` | Modello con cui le nuove sessioni iniziano per impostazione predefinita. 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) |

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) |177| `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) |

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) |178| `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) |

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) |179| `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) |

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) |180| `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) |

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) |181| `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) |

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) |182| `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) |

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) |183| `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) |

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) |184| `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) |

181| `ANTHROPIC_FEDERATION_RULE_ID` | ID della regola di federazione per la [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 alla credenziale di `/login`. Consulta [precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) |185| `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à sulla credenziale di `/login`. Consulta [precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) |

182| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione con Microsoft Foundry (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |186| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (consulta [Microsoft Foundry](/docs/it/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer per l'autenticazione con 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 |187| `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 |

184| `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)) |188| `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)) |

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)) |189| `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)) |

186| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da usare (consulta [Configurazione del modello](/docs/it/model-config#environment-variables)) |190| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da usare (consulta [Configurazione del modello](/docs/it/model-config#environment-variables)) |

187| `ANTHROPIC_ORGANIZATION_ID` | ID dell'organizzazione per la [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) |191| `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) |

188| `ANTHROPIC_PROFILE` | Nome del profilo Anthropic con cui autenticarti, 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) |192| `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) |

189| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATA] Nome del [modello di classe Haiku per le attività in background](/docs/it/costs) |193| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATA] Nome del [modello di classe Haiku per le attività in background](/docs/it/costs) |

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 |194| `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 |

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 tramite un [gateway LLM](/docs/it/llm-gateway). Consulta [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |195| `ANTHROPIC_VERTEX_BASE_URL` | Sovrascrive l'URL dell'endpoint di Google Cloud's Agent Platform. Usala per endpoint personalizzati di Google Cloud's Agent Platform o quando instradi le richieste attraverso un [gateway LLM](/docs/it/llm-gateway). Consulta [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

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) |196| `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) |

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 si applica a più di un workspace, in modo che lo scambio di token sappia quale workspace usare |197| `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 è limitata a più di un workspace, in modo che lo scambio di token sappia quale workspace usare |

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 di oltre 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 streaming](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando imposti `0` qui |198| `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 resta in pausa per più 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 stream](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando imposti `0` qui |

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 tramite un proxy. I valori superiori al massimo causano l'overflow del timer sottostante e fanno fallire immediatamente le richieste |199| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, ovvero 10 minuti; massimo: 2147483647). Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi le richieste attraverso un proxy. I valori superiori al massimo causano l'overflow del timer sottostante e fanno fallire immediatamente le richieste |

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/)) |200| `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/)) |

197| `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 superiore al [limite di tempo predefinito per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands) sostituisce tale valore predefinito nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o successiva |201| `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 superiore al [limite di tempo predefinito per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands) sostituisce tale valore predefinito nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o versioni successive |

198| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri dell'output di 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) |202| `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) |

199| `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 per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands) massimo nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o successiva |203| `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 per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands) massimo nelle sessioni non presidiate. Il limite di tempo in background richiede Claude Code v2.1.285 o versioni successive |

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 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) |204| `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) |

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 |205| `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 |

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 stdio dei [server MCP](/docs/it/mcp)). Anche le estensioni IDE la impostano nei loro terminali integrati. Usala per rilevare quando uno script è in esecuzione in 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` |206| `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 viene eseguito 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` |

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`. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.198 o successiva |207| `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`. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.198 o versioni successive |

204| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di inattività devono trascorrere prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui 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, ma chiude immediatamente la finestra di dialogo. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Prima della v2.1.200, la continuazione automatica era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o successiva |208| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di inattività prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui 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. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Prima della v2.1.200, la continuazione automatica era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o versioni successive |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disattivare tutti i tipi di [subagent](/docs/it/sub-agents) integrati, come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti dell'SDK che vogliono partire da zero. Questo rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata allo strumento Agent omette `subagent_type`. Una chiamata di questo tipo fallisce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |209| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disattivare tutti i tipi di [subagent](/docs/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti 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`. Tale chiamata non riesce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per omettere il prefisso `mcp__<server>__` dai nomi degli strumenti dei server MCP creati dall'SDK. Gli strumenti usano i loro nomi originali. Solo per l'uso dell'SDK |210| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per omettere il prefisso `mcp__<server>__` nei nomi degli strumenti dei server MCP creati con l'SDK. Gli strumenti usano i loro nomi originali. Solo per l'uso con l'SDK |

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 |211| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Copre anche gli [agenti dei workflow](/docs/it/workflows#when-an-agent-stalls-and-restarts) su Claude Code v2.1.286 o versioni successive. 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 le risposte API lente o bloccate](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |

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 |212| `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 |

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 |213| `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 |

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 |214| `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 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 |215| `CLAUDE_AX_SCREEN_READER` | Imposta su `1` per visualizzare 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 |

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 leggere la riga per intero prima che un nuovo output la interrompa. Predefinito `3000`. Imposta `0` per eseguire subito il rendering. 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 successiva |216| `CLAUDE_AX_STARTUP_QUIET_MS` | In [modalità screen reader](/docs/it/accessibility), per quanti millisecondi Claude Code trattiene il primo rendering dell'interfaccia dopo la riga di conferma dell'avvio, in modo che il tuo screen reader possa leggere la riga per intero prima che un nuovo output la interrompa. Predefinito `3000`. Imposta `0` per il rendering immediato. Claude Code limita l'attesa a `600000` (10 minuti). La tua prima pressione di un tasto termina l'attesa in anticipo. Richiede Claude Code v2.1.217 o versioni successive |

213| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Torna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |217| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Torna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |

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 eventi. Claude Code limita questa variabile a un valore compreso tra 10 secondi e 30 minuti. Richiede Claude Code v2.1.210 o successiva |218| `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 |

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 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 successiva |219| `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 invece di interrogarlo periodicamente. Richiede Claude Code v2.1.181 o versioni successive |

216| `CLAUDE_CODE_ACCESSIBILITY` | Imposta su `1` per mantenere visibile il cursore nativo del terminale e disattivare l'indicatore del cursore a testo invertito. Consente alle lenti di ingrandimento dello schermo come Zoom di macOS di seguire la posizione del cursore |220| `CLAUDE_CODE_ACCESSIBILITY` | Imposta su `1` per mantenere visibile il cursore nativo del terminale e disattivare l'indicatore del cursore a testo invertito. Consente agli ingranditori dello schermo come Zoom di macOS di seguire la posizione del cursore |

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 |221| `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 |

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 |222| `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 [visualizzazione agenti](/docs/it/agent-view) su Windows |

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 tramite un [gateway LLM](/docs/it/llm-gateway) o un provider di terze parti che serve i 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 |223| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Imposta su `1` per inviare il parametro [effort](/docs/it/model-config#adjust-effort-level) con ogni richiesta, anche quando Claude Code non riconosce l'ID del modello come compatibile con effort. Usala quando instradi le richieste attraverso un [gateway LLM](/docs/it/llm-gateway) o un provider di terze parti che serve i 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 affinché le richieste non falliscano |

220| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi con cui aggiornare le credenziali (quando usi [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |224| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi con cui aggiornare le credenziali (quando usi [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |

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) |225| `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) |

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 |226| `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 |

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 |227| `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 versioni successive |

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 è interessata in nessun caso. In alcune configurazioni con connessione diretta, Claude Code mantiene il blocco nelle richieste al classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) anche quando imposti `0`. In [Blocco di attribuzione del prompt di sistema](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), verifica quali connessioni e credenziali sono interessate. Prima della v2.1.181 il blocco includeva un token per richiesta sugli URL di base personalizzati e sulle connessioni Microsoft Foundry, quindi su quelle versioni impostala su `0` quando il tuo gateway LLM memorizza nella cache in base al corpo della richiesta o inoltra le richieste a un provider di terze parti, oppure quando ti connetti direttamente a Microsoft Foundry |228| `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 a connessione diretta, Claude Code mantiene il blocco nelle richieste al classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) anche quando imposti `0`. In [Blocco di attribuzione del prompt di sistema](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), verifica quali connessioni e credenziali sono interessate. Prima della v2.1.181 il blocco includeva un token per richiesta sugli URL di base personalizzati e sulle connessioni Microsoft Foundry, quindi in quelle versioni impostalo 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 |

225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

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 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 si misura sempre rispetto all'intera finestra di contesto del modello, quindi una volta impostata questa variabile, quella percentuale non indica più quando verrà eseguita la compattazione |230| `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 `used_percentage` della riga di stato si misura sempre rispetto all'intera finestra di contesto del modello, quindi una volta impostata questa variabile, quella percentuale non indica più quando verrà eseguita la compattazione |

227| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrive la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando viene avviato nel terminale integrato di un IDE supportato. Imposta su `false` per impedirlo. Imposta su `true` per forzare un tentativo di connessione quando il rilevamento automatico fallisce, ad esempio quando tmux nasconde il terminale padre. Ha la precedenza sull'impostazione di configurazione globale [`autoConnectIde`](/docs/it/settings-reference#autoconnectide) |231| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrive la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando viene avviato nel terminale integrato di un IDE supportato. Imposta su `false` per impedirlo. Imposta su `true` per forzare un tentativo di connessione quando il rilevamento automatico non riesce, ad esempio quando tmux nasconde il terminale padre. Ha la precedenza sull'impostazione di configurazione globale [`autoConnectIde`](/docs/it/settings-reference#autoconnectide) |

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 |232| `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 proprie di Claude Code. Su una connessione diretta all'API Anthropic, richiede la v2.1.281 o versioni successive. 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 versioni successive |

229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi in cui Claude Code attende che la catena predefinita dei provider di credenziali AWS produca le credenziali prima che la richiesta fallisca con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out) (predefinito: `60000`). Aumentalo quando un passaggio della tua catena richiede legittimamente più tempo, come un accesso SSO basato su browser con MFA tramite un wrapper come `aws-vault`. Si applica ad Amazon Bedrock, a [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e all'[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 |233| `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 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 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 |234| `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 versioni successive |

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Imposta su `0` affinché una sessione non interattiva segnali al proprio host uno stato inattivo alla fine di ogni turno, anche mentre è ancora in corso del lavoro in background. Per impostazione predefinita, la sessione continua a segnalare uno stato di esecuzione dopo la fine del turno finché è ancora attivo del lavoro in background, come un agente in background o un'esecuzione di un [workflow](/docs/it/workflows). Questo evita che un host che monitora lo stato, come un elenco di sessioni remote, annunci che Claude è in attesa del tuo input a lavoro in corso. 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 |235| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Imposta su `0` per fare in modo che una sessione non interattiva riporti 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 riportare uno stato di esecuzione oltre la fine del turno mentre è ancora attivo del lavoro in background, come un agente in background o un'esecuzione di un [workflow](/docs/it/workflows). Questo impedisce a un host che osserva lo stato, come un elenco di sessioni remote, di annunciare che Claude è in attesa del tuo input a metà 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 |

232| `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 quando la connessione termina. 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` |236| `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 quando la connessione termina. 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 versioni successive. Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), leggi invece `CLAUDE_CODE_REMOTE_SESSION_ID` |

233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Imposta su `0` affinché Claude Code legga il byte `0x08`, scritto anche `^H`, come un semplice Backspace, oppure su `1` per leggerlo come Ctrl+Backspace. Entrambi i valori sostituiscono il comportamento predefinito della piattaforma. Per impostazione predefinita, Claude Code lo legge come Ctrl+Backspace su Windows, tranne quando `TERM_PROGRAM` è `mintty` o `TERM` è `cygwin`, e come semplice Backspace su macOS e Linux. Imposta `0` in un terminale Windows in cui [Backspace elimina un'intera parola](/docs/it/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |237| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Imposta su `0` per fare in modo che Claude Code legga il byte `0x08`, scritto anche `^H`, come un semplice Backspace, oppure su `1` per leggerlo come Ctrl+Backspace. Entrambi i valori sostituiscono il comportamento predefinito della piattaforma. Per impostazione predefinita, Claude Code lo legge come Ctrl+Backspace su Windows, tranne quando `TERM_PROGRAM` è `mintty` o `TERM` è `cygwin`, e come semplice Backspace su macOS e Linux. Imposta `0` in un terminale Windows in cui [Backspace elimina un'intera parola](/docs/it/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

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 tramite npm. Consulta [Archivio dei certificati CA](/docs/it/network-config#ca-certificate-store). Il valore predefinito è `bundled,system` |238| `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 di attendibilità del sistema operativo, letto solo sui 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` |

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 stdio dei [server MCP](/docs/it/mcp), che hanno una 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 automaticamente esclusa 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 |239| `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 annullare questa esclusione. Richiede Claude Code v2.1.172 o versioni successive |

236| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |240| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |

237| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |241| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |

238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |242| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |

239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora non ha alcun effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e 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` |243| `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` |

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 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 insieme. Il valore predefinito è `~/.claude/debug/<session-id>.txt` |244| `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à 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 insieme. Il valore predefinito è `~/.claude/debug/<session-id>.txt` |

241| `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 diagnostica ad alto volume come l'output completo del comando della riga di stato, oppure alza a `error` per ridurre il rumore |245| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello minimo di log scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Imposta `verbose` per includere diagnostica ad alto volume come l'output completo del comando della riga di stato, oppure alza il livello a `error` per ridurre il rumore |

242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disattivare il supporto per la [finestra di contesto da 1M](/docs/it/model-config#extended-context). Claude Code rimuove le varianti di modello `[1m]` dal selettore dei modelli e limita a una finestra da 200K i modelli che usano la finestra da 1M per impostazione predefinita. Consulta [Disattivare il contesto da 1M](/docs/it/model-config#turn-off-1m-context). Utile per ambienti enterprise con requisiti di conformità. Per il suo ruolo nella correzione della finestra per un ID di modello `[1m]` non riconosciuto, consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |246| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disattivare il supporto della [finestra di contesto da 1M](/docs/it/model-config#extended-context). Claude Code rimuove le varianti di modello `[1m]` dal selettore dei modelli e limita a una finestra di 200K i modelli che per impostazione predefinita vengono eseguiti con la finestra da 1M. Consulta [Disattivare il contesto da 1M](/docs/it/model-config#turn-off-1m-context). Utile per ambienti aziendali con requisiti di conformità. Per il suo ruolo nella correzione della finestra per un ID di modello `[1m]` non riconosciuto, consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disattivare il [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e ripiegare sul budget di ragionamento fisso controllato da `MAX_THINKING_TOKENS`. Non ha effetto sui [modelli Fable](/docs/it/model-config#extended-thinking), su Sonnet 5 e successivi, su Haiku 5.5 o su Opus 4.7 e successivi, che usano sempre il ragionamento adattivo |247| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disattivare il [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e ripiegare sul budget di ragionamento fisso controllato da `MAX_THINKING_TOKENS`. Non ha effetto sui [modelli Fable](/docs/it/model-config#extended-thinking), su Sonnet 5 e successivi, su Haiku 5.5 o su Opus 4.7 e successivi, che usano sempre il ragionamento adattivo |

244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Imposta su `1` per impedire a Claude Code di unire per chiave i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) tra le diverse origini di amministrazione, così si applica 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 |248| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Imposta su `1` per impedire a Claude Code di unire per chiave i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) tra le origini di amministrazione, in modo che si applichi solo l'intero blocco `env` dell'origine con priorità più alta, come prima della v2.1.223. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.223 o versioni successive |

245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disattivare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` non è più 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 |249| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disattivare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |

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 supervisor su richiesta. Equivalente all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |250| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione agenti](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivale all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |

247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disattivare il [rendering a schermo intero](/docs/it/fullscreen) e usare il renderer classico sullo schermo principale. La conversazione resta nello scrollback nativo del terminale, così `Cmd+f` e la modalità copia di tmux funzionano come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/docs/it/settings-reference#tui). Puoi anche passare con `/tui default`. Non si applica alle sessioni in background aperte dalla [vista agenti](/docs/it/agent-view), che usano sempre il rendering a schermo intero |251| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disattivare il [rendering a schermo intero](/docs/it/fullscreen) e usare il classico renderer sullo schermo principale. La conversazione resta nello scrollback nativo del terminale, quindi `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 [visualizzazione agenti](/docs/it/agent-view), che usano sempre il rendering a schermo intero |

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 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 |252| `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 |

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disattivare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |253| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disattivare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Imposta su `1` affinché un processo Claude Code esegua autonomamente 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 |254| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Imposta su `1` per fare in modo che un processo Claude Code esegua direttamente 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 versioni successive |

251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disattivare la [memoria automatica](/docs/it/memory#auto-memory). Imposta su `0` per forzare l'attivazione della memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings-reference#automemoryenabled) la disattiverebbero. Quando è disattivata, Claude non crea né carica i file della memoria automatica |255| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disattivare la [memoria automatica](/docs/it/memory#auto-memory). Imposta su `0` per forzare l'attivazione della memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings-reference#automemoryenabled) la disattiverebbero. Quando è disattivata, Claude non crea né carica i file della memoria automatica |

252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disattivare tutte le funzionalità delle attività in background, incluso il parametro `run_in_background` negli strumenti Bash e subagent, lo spostamento automatico in background e la scorciatoia Ctrl+B |256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disattivare tutte le funzionalità delle attività in background, incluso il parametro `run_in_background` negli strumenti Bash e subagent, lo spostamento automatico in background e la scorciatoia Ctrl+B |

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; in tal caso Claude Code legge il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o successiva |257| `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 event stream 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 allora il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o versioni successive |

254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche, invece di impostare questa variabile. Richiede Claude Code v2.1.208 o successiva |258| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 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, a partire dalla v2.1.198, i subagent in background di una [sessione in background](/docs/it/agent-view) quando il [supervisor](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarli al processo successivo della sessione. Riguarda solo quel passaggio: mandare in background una sessione con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in corso, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successiva |259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per arrestare i comandi shell in background in esecuzione, i workflow dinamici e, a partire 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 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 è inattiva da 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 |260| `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 |

257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disattivare le [skill](/docs/it/skills) e i workflow inclusi in Claude Code: le skill e i workflow inclusi vengono rimossi completamente, mentre i comandi integrati come `/init` restano digitabili ma vengono nascosti al modello. `/doctor` resta digitabile come i comandi integrati; per nasconderlo usa invece `DISABLE_DOCTOR_COMMAND`. Le skill dei plugin, di `.claude/skills/` e di `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disattivare le [skill](/docs/it/skills) e i workflow inclusi in Claude Code: le skill e i workflow inclusi vengono rimossi completamente, mentre i comandi integrati come `/init` restano digitabili ma sono nascosti al modello. `/doctor` resta digitabile come i comandi integrati; nascondilo invece con `DISABLE_DOCTOR_COMMAND`. Le skill provenienti dai plugin, da `.claude/skills/` e da `.claude/commands/` non sono interessate. Equivale all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |

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 su 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 successiva |262| `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 versioni successive |

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 della memoria automatica |263| `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 |

260| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disattivare le [attività pianificate](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron non sono più disponibili e qualsiasi attività già pianificata smette di essere eseguita, incluse le attività già in esecuzione a metà sessione |264| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disattivare le [attività pianificate](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse quelle già in esecuzione a metà sessione |

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 di conferma 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 |265| `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 |

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`. [Disattivare 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 |266| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere dalle richieste API gli header `anthropic-beta` di 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`. [Disattivare le funzionalità di 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 |

263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disattivare i [subagent Explore e Plan](/docs/it/sub-agents#built-in-subagents) integrati. Claude esplora invece con i suoi strumenti di ricerca o con il subagent general-purpose, e il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente 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 successiva |267| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disattivare i [subagent Explore e Plan](/docs/it/sub-agents#built-in-subagents) integrati. Claude esplora invece con i suoi strumenti di ricerca o con il subagent general-purpose, e il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente 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 |

264| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disattivare la [modalità veloce](/docs/it/fast-mode) |268| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disattivare la [modalità veloce](/docs/it/fast-mode) |

265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disattivare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi vengono disattivati anche quando è impostata `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non li riattivi. Per impostare una frequenza di campionamento invece di disattivarli del tutto, usa l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Consulta [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disattivare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi sono disattivati anche quando è impostata `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non li riattivi. Per impostare una frequenza di campionamento invece di disattivarli del tutto, usa l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Consulta [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |

266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disattivare il [checkpointing](/docs/it/checkpointing) dei file. Il comando `/rewind` non potrà ripristinare le modifiche al codice. Sovrascrive l'impostazione [`fileCheckpointingEnabled`](/docs/it/settings-reference#filecheckpointingenabled) |270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disattivare il [checkpointing](/docs/it/checkpointing) dei file. Il comando `/rewind` non potrà ripristinare le modifiche al codice. Sovrascrive l'impostazione [`fileCheckpointingEnabled`](/docs/it/settings-reference#filecheckpointingenabled) |

267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere dal contesto di Claude le istruzioni integrate per i workflow di commit e PR e lo snapshot dello stato di git. Utile quando usi le tue skill per i workflow git. Quando è impostata, ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings-reference#includegitinstructions) |271| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere dal contesto di Claude le istruzioni integrate per i workflow di commit e PR e lo snapshot dello stato git. Utile quando usi le tue skill per i workflow git. Quando è impostata, ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings-reference#includegitinstructions) |

268| `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 successiva |272| `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 |

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 precedente. La rimappatura non viene eseguita su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry |273| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire la rimappatura automatica di Opus 4.0 e 4.1 alla versione corrente di Opus sull'API Anthropic. Usala quando vuoi intenzionalmente fissare un modello precedente. La rimappatura non viene eseguita su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry |

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 precedente quando il tuo account perde l'accesso al modello di una sessione a metà sessione; la richiesta rifiutata fallisce invece immediatamente. Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configuri passa comunque a un altro modello in caso di quel rifiuto, e i [controlli dei modelli all'avvio](/docs/it/amazon-bedrock#startup-model-checks) continuano a ripiegare su un altro modello al momento dell'avvio. Richiede Claude Code v2.1.285 o successiva |274| `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 precedente 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 passa comunque a un altro modello in caso di quel rifiuto, e i [controlli del modello all'avvio](/docs/it/amazon-bedrock#startup-model-checks) ripiegano comunque su un fallback al momento dell'avvio. Richiede Claude Code v2.1.285 o versioni successive |

271| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disattivare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona comunque. Usala per mantenere il comportamento nativo del terminale di copia alla selezione |275| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disattivare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona comunque. Usala per mantenere il comportamento nativo di copia alla selezione del tuo terminale |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disattivare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento con la rotellina 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 |276| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disattivare la gestione di clic, trascinamento e passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento con la rotellina 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 |

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 di handshake TLS. Con il ricaricamento disattivato, Claude Code carica i file ruotati solo quando applica di nuovo le impostazioni o al successivo avvio. Richiede Claude Code v2.1.232 o successiva |277| `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 il ricaricamento disattivato, 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 |

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Imposta su qualsiasi valore non vuoto, come `1`, per disattivare il traffico di rete non essenziale: aggiornamenti automatici, telemetria, segnalazione degli errori, il comando `/feedback`, il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), le note di rilascio, i controlli del [badge di stato di PR e MR](/docs/it/interactive-mode#pr-review-status) e i controlli di disponibilità come quello della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Interrompe anche le [esecuzioni in background delle origini `command` dei plugin](/docs/it/plugins/loading#when-a-command-source-re-runs), che sono comandi locali e non traffico di rete, perché possono attivare installazioni di dipendenze. **Impostarla su `0` o `false` disattiva comunque questo traffico**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per consentirlo di nuovo. Disattiva anche il recupero dei feature flag, il che rende non disponibili [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che richiedono il recupero dei feature flag](#features-that-need-feature-flag-fetching). L'installazione automatica del marketplace ufficiale dei plugin non è inclusa; disattivala con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sulla [rilevazione dei modelli del gateway](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha una propria attivazione esplicita |278| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Imposta un qualsiasi valore non vuoto, come `1`, per disattivare il traffico di rete non essenziale: aggiornamenti automatici, telemetria, segnalazione degli errori, il comando `/feedback`, il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), le note di rilascio, i controlli del [badge di stato di PR e MR](/docs/it/interactive-mode#pr-review-status) e i controlli di disponibilità come quello della [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Interrompe anche le [esecuzioni in background delle origini `command` dei plugin](/docs/it/plugins/loading#when-a-command-source-re-runs), che sono comandi locali e non traffico di rete, perché possono attivare installazioni di dipendenze. **Impostarla su `0` o `false` disattiva comunque questo traffico**, a differenza della maggior parte delle variabili di attivazione/disattivazione; rimuovi la variabile per consentirlo di nuovo. Disattiva anche il recupero dei feature flag, il che rende non disponibili [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che richiedono il recupero dei feature flag](#features-that-need-feature-flag-fetching). L'installazione automatica del marketplace ufficiale dei plugin non è inclusa; disattivala con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sull'[individuazione dei modelli del gateway](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha un proprio meccanismo di attivazione esplicita |

275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disattivare il fallback non in streaming quando una richiesta in streaming fallisce a metà stream. Gli errori di streaming vengono invece propagati al livello dei nuovi tentativi. Utile quando un proxy o un gateway fa sì che il fallback produca un'esecuzione duplicata degli strumenti |279| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disattivare il fallback non in streaming quando una richiesta in streaming non riesce 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 |

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 il terminale ha il focus. Per impostazione predefinita lo strumento salta sia la notifica desktop sia la [notifica push mobile](/docs/it/remote-control#mobile-push-notifications) quando rileva attività recente della tastiera o il focus sul terminale. Questa variabile disattiva solo quel controllo locale, quindi il server può comunque sopprimere la notifica push mobile quando rileva che sei attivo. Richiede Claude Code v2.1.193 o successiva |280| `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 del terminale. Questa variabile disattiva solo quel controllo locale, quindi il server può comunque sopprimere la notifica push mobile quando rileva che sei attivo. Richiede Claude Code v2.1.193 o versioni successive |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per disattivare la registrazione automatica del marketplace ufficiale dei plugin. Claude Code legge la variabile quando sta per registrare il marketplace, di solito durante il primo avvio interattivo su una macchina. Se 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 |281| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per disattivare la registrazione automatica del marketplace ufficiale dei plugin. Claude Code legge la variabile quando sta per registrare il marketplace, di solito durante il primo avvio interattivo su una macchina. Se in quel momento la variabile è impostata, Claude Code salta la registrazione in modo permanente. Rimuovere la variabile in seguito non annulla il salto. Esegui `claude plugin marketplace add anthropics/claude-plugins-official` per registrare il marketplace in qualsiasi momento |

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 del terminale. Richiede Claude Code v2.1.233 o successiva |282| `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 del terminale. Richiede Claude Code v2.1.233 o versioni successive |

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 |283| `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 |

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 |284| `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 |

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) |285| `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) |

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 |286| `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à di 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 |

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 |287| `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 |

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disattivare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Questo salta anche la richiesta in background al modello small/fast che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disattivare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione. Questo salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |

285| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. Si tratta di un'opzione di compatibilità per proxy e gateway che rifiutano il parametro. Sui modelli che ragionano per impostazione predefinita, omettere il parametro significa che il modello può comunque ragionare. Per disattivare esplicitamente il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, usa invece `MAX_THINKING_TOKENS=0`. Nessuna delle due variabili disattiva il ragionamento su Opus 5.5, Sonnet 5.5, 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 |289| `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 disattivare esplicitamente il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, usa invece `MAX_THINKING_TOKENS=0`. Nessuna delle due variabili disattiva il ragionamento su Opus 5.5, Sonnet 5.5, 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 |

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 l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può invece correggere la finestra presunta; consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) per sapere quando si applica ciascuna variabile. Richiede Claude Code v2.1.223 o successiva |290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Imposta su `1` per saltare la [compattazione automatica](/docs/it/costs#reduce-token-usage) proattiva quando Claude Code non riconosce l'ID del modello, come un alias di un [gateway LLM](/docs/it/llm-gateway). Senza questa variabile, Claude Code compatta in base alla finestra di contesto che presume per l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può invece correggere la finestra presunta; consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) per sapere quando si applica ciascuna variabile. Richiede Claude Code v2.1.223 o versioni successive |

287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disattivare 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 |291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disattivare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) e visualizzare ogni messaggio nella trascrizione. Usala se lo scorrimento in modalità a schermo intero mostra aree vuote dove dovrebbero comparire i messaggi |

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 |292| `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 |

289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Imposta su `1` per avviare direttamente i comandi dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) su Windows 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 [mandi 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 |293| `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 versioni successive |

290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disattivare i [workflow](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |294| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disattivare i [workflow](/docs/it/workflows#turn-workflows-off). Equivale all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |

291| `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) |295| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` oppure `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort` e sulle impostazioni `modelSettings` ed `effortLevel`. Un limite [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) si applica comunque. Consulta [Regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Imposta a `1` per aggiungere al flusso dei messaggi i messaggi [`session_state_changed`](/docs/it/agent-sdk/typescript#sdksessionstatechangedmessage), che riportano lo stato della sessione. Richiede l'[Agent SDK](/docs/it/agent-sdk/overview) oppure `--print`, `--output-format stream-json` e `--verbose` |296| `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 riportano lo stato della sessione. Richiede l'[Agent SDK](/docs/it/agent-sdk/overview) oppure `--print`, `--output-format stream-json` e `--verbose` |

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, Agent Platform di Google Cloud, Microsoft Foundry e le sessioni con accesso effettuato tramite [Claude apps gateway](/docs/it/claude-apps-gateway). Dalla v2.1.158 alla v2.1.206, era necessario impostarla a `1` per rendere disponibile la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su quei provider |297| `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, impostarla su `1` era necessario per rendere disponibile la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su quei provider |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrive la disponibilità del [riepilogo della sessione](/docs/it/interactive-mode#session-recap). Imposta a `0` per forzare la disattivazione dei riepiloghi indipendentemente dall'opzione in `/config`. Imposta a `1` per forzarne l'attivazione quando [`awaySummaryEnabled`](/docs/it/settings-reference#awaysummaryenabled) è `false`. Ha la precedenza sull'impostazione e sull'opzione in `/config` |298| `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` |

295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta a `1` per aggiornare lo stato dei plugin al termine di ogni turno 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, invalidando il [prompt caching](/docs/it/prompt-caching) per quel turno |299| `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, invalidando il [prompt caching](/docs/it/prompt-caching) per quel turno |

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta a `1` per inviare il sondaggio sulla qualità della sessione "How is Claude doing?" al tuo [collector OpenTelemetry](/docs/it/monitoring-usage) quando il traffico non essenziale diretto ad Anthropic è bloccato. Le valutazioni del sondaggio vengono emesse solo come eventi OTEL verso il collector 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 la policy dell'organizzazione sul feedback del prodotto hanno la precedenza |300| `CLAUDE_CODE_ENABLE_CFC` | Imposta su `1` per avviare una sessione CLI con l'[integrazione con Chrome](/docs/it/chrome) attiva, oppure su `0` per avviarla con l'integrazione disattivata. Ha la precedenza sull'impostazione [`claudeInChromeDefaultEnabled`](/docs/it/settings-reference#claudeinchromedefaultenabled). I flag `--chrome` e `--no-chrome` hanno la precedenza su entrambe. Claude Code [ignora `1` nelle impostazioni di progetto e locali](/docs/it/chrome#project-settings-can’t-turn-on-chrome) |

297| `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, come la scrittura di un file lungo, arriva solo dopo che Claude ha finito di generarlo, e può sembrare che tutto si sia bloccato. Abilitata per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Agent Platform di Google Cloud, abilitata per singolo modello dove il container distribuito la supporta. Imposta a `0` per disattivarla. Imposta a `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) |301| `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 in caso contrario non ha effetto. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e il criterio dell'organizzazione sul feedback sul prodotto hanno la precedenza |

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta a `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del tuo gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivata per impostazione predefinita perché 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) |302| `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 per uno strumento, come la scrittura di un file lungo, arriva solo dopo che Claude ha finito di generarlo, il che può far sembrare che il processo sia bloccato. Abilitata per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, abilitata per ciascun modello dove il container distribuito la supporta. Imposta su `0` per disattivarla. Imposta su `1` per forzarne l'attivazione quando instradi il traffico tramite un proxy con `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) |

303| `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 individuati vengono comunque filtrati da un'allowlist [`availableModels`](/docs/it/settings-reference#availablemodels) ricevuta dalla sessione; distribuisci l'elenco tramite [MDM o un file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms), poiché [la distribuzione gestita dal server non è disponibile nelle configurazioni con gateway](/docs/it/server-managed-settings#platform-availability) |

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 |304| `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 |

300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta a `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che compaiono nel campo di 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 a `true` per mantenerli attivi finché non raggiungi il limite. Richiede Claude Code v2.1.238 o successiva. Consulta [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |305| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che compaiono nel campo di 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 finché non raggiungi il limite. Richiede Claude Code v2.1.238 o successiva. Consulta [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |

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 a `0` per ottenere invece lo strumento legacy `TodoWrite`. Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |306| `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) |

302| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta a `1` per abilitare la raccolta dei dati OpenTelemetry per metriche e logging. Necessaria prima di configurare gli exporter OTel. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Consulta [Monitoraggio](/docs/it/monitoring-usage) |307| `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) |

303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Imposta a `1` per ottenere gli strumenti di tracciamento delle attività su ogni modello. Senza di essa, Claude Code li fornisce per impostazione predefinita solo sui modelli elencati in [Disponibilità dello strumento Task](/docs/it/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` continua a selezionare gli strumenti Task o `TodoWrite`. Richiede Claude Code v2.1.233 o successiva |308| `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` seleziona comunque gli strumenti Task o `TodoWrite`. Richiede Claude Code v2.1.233 o successiva |

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 |309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da attendere, dopo che il ciclo di query diventa inattivo, prima di uscire automaticamente. Utile per workflow automatizzati e script che usano la modalità SDK |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta a `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |310| `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 |

306| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON di cui fare il merge al livello principale 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 |311| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON di cui fare il merge 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 la copia ereditata dal processo supervisore in background |

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 |312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrive il limite di token predefinito per le letture di file. Utile quando devi leggere file più grandi per intero |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta a `1` per forzare la persistenza delle trascrizioni, 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 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 effetto nella v2.1.170 e nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza delle trascrizioni, 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 per la prima volta 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 nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |

309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta a `1` per forzare la visualizzazione barrata di `~~text~~` nelle risposte di Claude quando il tuo terminale la supporta ma non viene rilevato automaticamente, ad esempio tramite SSH senza l'inoltro di `TERM_PROGRAM`. Senza questa variabile, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |314| `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 tramite SSH senza inoltrare `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 |

310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta a `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 capacità. 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 |315| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'abilitazione 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 capacità. 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 |

311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Imposta a `1` per disegnare gli [elementi `Image` dei mod](/docs/it/plugins/mods/reference#elements) come immagini quando il tuo terminale disegna immagini del protocollo grafico kitty con segnaposto Unicode ma non viene rilevato automaticamente. Consulta [quali terminali rileva Claude Code](/docs/it/plugins/mods/gallery#image-and-client) e perché non è d'aiuto all'interno di tmux o screen |316| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Imposta su `1` per disegnare gli [elementi `Image` dei mod](/docs/it/plugins/mods/reference#elements) come immagini quando il tuo terminale disegna immagini del protocollo grafico kitty con segnaposto Unicode ma non viene rilevato automaticamente. Consulta [quali terminali rileva Claude Code](/docs/it/plugins/mods/gallery#image-and-client) e perché non aiuta all'interno di tmux o screen |

312| `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 forkati](/docs/it/sub-agents#fork-the-current-conversation) ed è attiva per impostazione predefinita solo nelle sessioni interattive. Imposta a `1` per attivarla anche in `claude -p` e nell'Agent SDK, oppure a `0` per disattivarla in ogni tipo di sessione. Puoi eseguire `/subtask` indipendentemente dal fatto che la modalità fork sia attiva. Il comportamento predefinito nelle sessioni interattive richiede Claude Code v2.1.232 o successiva; nelle versioni precedenti, imposta la variabile a `1` per attivare la modalità fork |317| `CLAUDE_CODE_FORK_SUBAGENT` | Controlla la [modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off), che consente a Claude di generare autonomamente [subagent fork](/docs/it/sub-agents#fork-the-current-conversation) ed è attiva per impostazione predefinita solo nelle sessioni interattive. Imposta 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 interattivo richiede Claude Code v2.1.232 o successiva; nelle versioni precedenti, imposta la variabile su `1` per attivare la modalità fork |

313| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Imposta a `1` per emettere i blocchi di testo e 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, in quel caso la variabile viene ignorata, così le invocazioni annidate continuano a funzionare quando è impostata per l'intero processo. Richiede Claude Code v2.1.211 o successiva |318| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Imposta su `1` per emettere i blocchi di testo e 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 direttamente il flag. 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 |

314| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Imposta a `1` per inviare gli [header di suggerimento per il gateway](/docs/it/llm-gateway-protocol#gateway-hint-headers), come `x-claude-code-request-class` e `x-claude-code-compaction`, su un proxy personalizzato o su un provider di terze parti come Amazon Bedrock o Claude Platform on AWS. Imposta a `0` per smettere di inviarli su ogni connessione, inclusa una connessione diretta all'API Anthropic, dove Claude Code li invia per impostazione predefinita. Richiede Claude Code v2.1.273 o successiva |319| `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 |

315| `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 scritture mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |320| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in millisecondi per la richiesta di [individuazione dei modelli del gateway](/docs/it/llm-gateway-protocol#model-discovery) attivata da `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (predefinito: `3000`). Aumentalo quando il tuo gateway impiega più di tre secondi per rispondere a `/v1/models` all'avvio. Accetta solo cifre semplici; `0`, i valori negativi e altre scritture mantengono il valore predefinito. Richiede Claude Code v2.1.269 o successiva |

316| `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) |321| `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) |

317| `CLAUDE_CODE_GLOB_HIDDEN` | Imposta a `false` per escludere i dotfile dai risultati quando Claude invoca lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior). Inclusi per impostazione predefinita. Non influisce sul completamento automatico dei file con `@`, su `ls`, Grep o Read |322| `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 |

318| `CLAUDE_CODE_GLOB_NO_IGNORE` | Imposta a `false` per fare in modo che lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior) rispetti i pattern di `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti, inclusi quelli ignorati da git. Non influisce sul completamento automatico dei file con `@`, che ha una propria [impostazione `respectGitignore`](/docs/it/settings-reference#respectgitignore) |323| `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, compresi quelli ignorati da git. Non influisce sul completamento automatico dei file con `@`, che ha la propria [impostazione `respectGitignore`](/docs/it/settings-reference#respectgitignore) |

319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per il rilevamento dei file dello strumento Glob. Il valore predefinito è 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |324| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per l'individuazione dei file da parte dello strumento Glob. Il valore predefinito è 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |

320| `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`, 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 |325| `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 |

321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Imposta a `0` per disattivare la compressione gzip dei corpi delle richieste per la Claude API, la telemetria e la pubblicazione degli [artefatti](/docs/it/artifacts) inviati 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 in modo errato le richieste compresse |326| `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) inviati 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 |

322| `CLAUDE_CODE_HIDE_CWD` | Imposta a `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso rivela il tuo nome utente del sistema operativo |327| `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 |

323| `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 |328| `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 |

324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta a `1` per saltare l'installazione automatica delle estensioni IDE. Equivale a impostare [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) a `false` |329| `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` |

325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta a `1` per saltare la convalida delle voci del lockfile dell'IDE durante la connessione. Usala quando la connessione automatica non riesce a trovare il tuo IDE nonostante sia in esecuzione |330| `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 trova il tuo IDE nonostante sia in esecuzione |

326| `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 disattivarlo. Richiede Claude Code v2.1.217 o successiva |331| `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 |

327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrive la dimensione della finestra di contesto che Claude Code presume per il modello attivo. Dalla v2.1.193, il modo in cui si applica dipende da come Claude Code risolve l'ID del modello; consulta [Correggere la finestra per un gateway o un ID di modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Usala quando instradi verso un modello tramite `ANTHROPIC_BASE_URL` la cui finestra di contesto non corrisponde alla dimensione integrata prevista per il suo nome |332| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrive la dimensione della finestra di contesto che Claude Code presume 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 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 |

328| `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 |333| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri di ciascuna descrizione di 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 |

329| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. Valori predefiniti e 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 del modello un valore che lo supera. Per un ID di modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |334| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. Valori predefiniti e limiti variano in base al modello; consulta [numero massimo di token di output](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 modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |

330| `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` |335| `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 la fine di interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |

331| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimossa nella v2.1.224 e ora senza 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 |336| `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 non riusciva 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 |

332| `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 regolato ma non rimosso. Richiede Claude Code v2.1.217 o successiva |337| `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 aumentato 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 |

333| `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 |338| `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 |

334| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivale a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando sono impostati entrambi. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore invece di essere trattato come assenza di limite |339| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivale a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando sono impostati entrambi. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore anziché essere trattato come assenza di limite |

335| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite alle chiamate a [WebSearch](/docs/it/tools-reference#session-search-limit) (predefinito: 200). Quando Claude raggiunge il limite, le successive 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 |340| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite alle chiamate a [WebSearch](/docs/it/tools-reference#session-search-limit) (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 |

336| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta a `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 |341| `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 |

337| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo trascorso in millisecondi prima che una chiamata a uno strumento MCP ancora in esecuzione [passi a un'attività in background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) (predefinito: 120000, ovvero 2 minuti). Imposta a `0` per disattivare il passaggio automatico in background. Richiede Claude Code v2.1.212 o successiva |342| `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 |

338| `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 a `0` per saltare l'attesa. Un server [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) mantiene la propria attesa `MCP_TIMEOUT` indipendentemente dal valore. Richiede Claude Code v2.1.274 o successiva |343| `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 riguarda 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 |

339| `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é notifica di avanzamento per questo intervallo, la chiamata allo strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` complessivo. Sovrascrive i valori predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Imposta a `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono portati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 porta la finestra di inattività di quel server almeno al valore di `timeout`. Non si applica ai server 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à |344| `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à |

340| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della 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 dell'esecuzione di qualsiasi hook. Le altre sessioni sulla macchina recapitano i messaggi a questo percorso. Ogni sessione esporta il proprio socket invece di 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 |345| `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 hook e 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 un processo 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 |

341| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della 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](/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 |346| `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 hook e comandi Bash insieme a `CLAUDE_CODE_MESSAGING_SOCKET`. Uno script che scrive sul socket può inviare `{"type":"auth","token":"<token>"}` come prima riga per dimostrare di appartenere alla sessione. Su Windows nativo, Claude Code richiede questa riga e chiude qualsiasi connessione che non si apra con una riga valida. Le [regole sui processi figli propri](/docs/it/cross-session-messaging#the-sessions-inbox-socket) indicano quando Claude Code consulta il token. Ogni sessione esporta il proprio token, mai uno ereditato da una sessione padre. I blocchi `env` delle impostazioni non possono impostarla. Richiede Claude Code v2.1.228 o successiva |

342| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta a `1` per mostrare il cursore proprio del terminale nel punto di inserimento invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, 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 del terminale è già attivo |347| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore del terminale in corrispondenza del 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 del terminale è già attivo |

343| `CLAUDE_CODE_NEW_INIT` | Imposta a `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, tra cui CLAUDE.md, skill e hook, prima di esplorare il codebase e scriverli. Senza questa variabile, `/init` genera automaticamente un CLAUDE.md senza chiedere nulla |348| `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 automaticamente un CLAUDE.md senza chiedere nulla |

344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Imposta a `1` per scrivere l'output del terminale tramite un secondo descrittore di file non bloccante, così un terminale che smette di leggere, come un pannello tmux in control mode in pausa o una connessione SSH bloccata, non può 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 |349| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Imposta su `1` per scrivere l'output del terminale tramite un secondo descrittore di file non bloccante, così che un terminale che smette di leggere, come un riquadro tmux in control mode messo in pausa o una connessione SSH bloccata, non possa bloccare Claude Code a metà sessione. Si applica su macOS, Linux e WSL quando stdout è un terminale. Richiede Claude Code v2.1.261 o successiva |

345| `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. Consulta [Regolare il comportamento dei nuovi tentativi](/docs/it/errors#tune-retry-behavior) per il timeout. Richiede Claude Code v2.1.285 o successiva |350| `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 non riesce al primo timeout. Consulta [Regolare il comportamento dei nuovi tentativi](/docs/it/errors#tune-retry-behavior) per il timeout. Richiede Claude Code v2.1.285 o successiva |

346| `CLAUDE_CODE_NO_FLICKER` | Imposta a `1` per abilitare il [rendering a schermo intero](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene costante l'uso della memoria nelle conversazioni lunghe. Sovrascrive l'impostazione [`tui`](/docs/it/settings-reference#tui); puoi anche passarvi con `/tui fullscreen` |351| `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 l'uso della memoria nelle conversazioni lunghe. Sovrascrive l'impostazione [`tui`](/docs/it/settings-reference#tui); puoi anche passare a questa modalità con `/tui fullscreen` |

347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Refresh token 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 |352| `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 il provisioning dell'autenticazione in ambienti automatizzati |

348| `CLAUDE_CODE_OAUTH_SCOPES` | Scope OAuth separati da spazi con cui è stato emesso il refresh token, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatoria quando è impostata `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |353| `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` |

349| `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 |354| `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 |

350| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Rimossa nella v2.1.160 e ora senza 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 |355| `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 valore predefinito corrente. Opus 4.6 non supporta più la modalità veloce |

351| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Lunghezza massima degli attributi OpenTelemetry con contenuto (risposte del modello, contenuto degli strumenti, prompt di sistema, corpi API grezzi), marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Aumentala solo se il tuo backend di telemetria accetta valori di attributo più grandi di 64 KB, oppure riducila per diminuire il volume della telemetria. Richiede Claude Code v2.1.214 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |356| `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) |

352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Imposta a `1` per scrivere su stderr gli errori diagnostici dell'exporter OpenTelemetry. Per impostazione predefinita questi errori compaiono solo con `--debug`, quindi un exporter configurato in modo errato, ad esempio per una collisione sulla porta di Prometheus, altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |357| `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 male, ad esempio per una collisione di porta di Prometheus, altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successiva. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

353| `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) |358| `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) |

354| `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) |359| `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) |

355| `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) |360| `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) |

356| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Ritardo iniziale in millisecondi, al posto del valore predefinito di 500, del backoff esponenziale tra i [nuovi tentativi automatici](/docs/it/errors#tune-retry-behavior) di una richiesta che l'API rifiuta con un errore di sovraccarico `529`. Aumentalo per distribuire i nuovi tentativi su un intervallo più lungo quando l'API è al limite della capacità. Indica millisecondi interi da 500 a 32000 in cifre semplici; Claude Code tratta qualsiasi altro valore come non impostato. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostata a `1`, o quando la richiesta rifiutata è stata inviata in [modalità veloce](/docs/it/fast-mode#handle-rate-limits). Richiede Claude Code v2.1.292 o successiva |361| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Ritardo iniziale in millisecondi, al posto del valore predefinito 500, del backoff esponenziale tra i [nuovi tentativi automatici](/docs/it/errors#tune-retry-behavior) di una richiesta che l'API rifiuta con un errore `529` di sovraccarico. Aumentalo per distribuire i nuovi tentativi su un intervallo più lungo quando l'API è al limite della capacità. Indica millisecondi interi da 500 a 32000 in cifre semplici; Claude Code tratta qualsiasi altro valore come non impostato. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostata su `1`, o quando la richiesta rifiutata è stata inviata in [modalità veloce](/docs/it/fast-mode#handle-rate-limits). Richiede Claude Code v2.1.292 o successiva |

357| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Imposta a `1` per consentire a Claude Code di eseguire in background il comando di aggiornamento del tuo gestore di pacchetti quando è disponibile una nuova versione. Si applica alle installazioni tramite Homebrew e WinGet. Gli altri gestori di pacchetti continuano a mostrare il comando di aggiornamento senza eseguirlo. Consulta [Aggiornamenti automatici](/docs/it/setup#auto-updates) |362| `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 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) |

358| `CLAUDE_CODE_PERFORCE_MODE` | Imposta a `1` per abilitare la protezione in scrittura compatibile con Perforce. Quando è impostata, Edit, Write e NotebookEdit falliscono con il suggerimento `p4 edit <file>` se il file di destinazione non ha il bit di scrittura per il proprietario, che Perforce rimuove sui file sincronizzati finché `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento delle modifiche di Perforce |363| `CLAUDE_CODE_PERFORCE_MODE` | Imposta su `1` per abilitare la protezione da scrittura compatibile con Perforce. Quando è impostata, Edit, Write e NotebookEdit non riescono e mostrano 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 |

359| `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` |364| `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` |

360| `CLAUDE_CODE_PLUGIN_DIRS` | Directory dei plugin da caricare per la sessione, ognuna caricata come farebbe 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 inizialo 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) |365| `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 ciascun percorso come percorso assoluto o inizialo con `~`, perché Claude Code salta i percorsi relativi. Richiede Claude Code v2.1.280 o successiva. Consulta [Caricare un plugin per una sola sessione](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session) |

361| `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 a `1` per attivarlo anche nelle sessioni non interattive, oppure a `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) |366| `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 caricato 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) |

362| `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) |367| `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) |

363| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Imposta a `1` per saltare il tentativo di nuova clonazione e continuare a usare il checkout esistente del marketplace quando un aggiornamento del marketplace non riesce a raggiungere il remoto o ad autenticarsi presso di esso. Utile in ambienti offline o air-gapped in cui una nuova clonazione fallirebbe allo stesso modo. Consulta [Gli aggiornamenti del marketplace falliscono negli ambienti offline](/docs/it/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |368| `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) |

364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta a `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` |369| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta su `1` per clonare le sorgenti GitHub in forma abbreviata `owner/repo` tramite HTTPS anziché 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` |

365| `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 una directory dei plugin prepopolata in un'immagine container. Claude Code registra i marketplace da queste directory all'avvio e usa i plugin già in cache senza clonarli di nuovo. Consulta [Prepopolare i plugin per i container](/docs/it/plugins/org#seed-containers-and-ci) |370| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso di una o più directory seed di plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Usala per includere una directory dei plugin prepopolata in un'immagine container. Claude Code registra i marketplace da queste directory all'avvio e usa i plugin già presenti nella cache senza clonarli di nuovo. Consulta [Prepopolare i plugin per i container](/docs/it/plugins/org#seed-containers-and-ci) |

366| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta a `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando avvia PowerShell per le chiamate agli strumenti, gli hook e i comandi della riga di stato, rispettando invece la execution policy effettiva della macchina. Per impostazione predefinita Claude Code aggira la execution policy a livello di processo, così gli script `.ps1` e le importazioni di moduli funzionano nelle installazioni Windows con il valore predefinito Restricted. L'aggiramento a livello di processo non sovrascrive mai i Criteri di gruppo `MachinePolicy` o `UserPolicy`, indipendentemente da questa impostazione |371| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta su `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando avvia PowerShell per chiamate agli strumenti, hook e 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, in modo che gli script `.ps1` e le importazioni di moduli funzionino nelle installazioni di Windows con il valore predefinito Restricted. L'aggiramento a livello di processo non sovrascrive mai i criteri di gruppo `MachinePolicy` o `UserPolicy`, indipendentemente da questa impostazione |

367| `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 restanti attività in background. Un comando in background in esecuzione avviato dalla conversazione principale mantiene l'esecuzione aperta oltre il limite. Imposta a `0` per attendere indefinitamente. Richiede Claude Code v2.1.182 o successiva |372| `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. Un comando in background in esecuzione avviato dalla conversazione principale mantiene aperta l'esecuzione oltre tale limite. Imposta su `0` per attendere indefinitamente. Richiede Claude Code v2.1.182 o successiva |

368| `CLAUDE_CODE_PROCESS_WRAPPER` | Avvia i processi che Claude Code lancia dal proprio binario, come il servizio in background che ospita le sessioni della [vista agenti](/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, così il servizio in background scollegato la eredita; 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, cosa copre il launcher e il contratto che il launcher deve rispettare. Richiede Claude Code v2.1.208 o successiva |373| `CLAUDE_CODE_PROCESS_WRAPPER` | Avvia i processi che Claude Code lancia dal proprio binario, come il servizio in background che ospita le sessioni della [vista agenti](/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, così 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 |

369| `CLAUDE_CODE_PROJECT_DIR_NAME` | Da impostare insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory in `projects/` in cui Claude Code archivia le trascrizioni e la memoria automatica di quella sessione, al posto di un nome derivato dal percorso della directory di lavoro. Ad esempio, avviare Claude Code con `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` le archivia in `/srv/tenant-a/projects/work/`. Claude Code ignora questa variabile quando `CLAUDE_CONFIG_DIR` non è impostata e la legge solo dall'ambiente da cui avvii `claude`, mai 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 |374| `CLAUDE_CODE_PROJECT_DIR_NAME` | Impostala insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory in `projects/` in cui Claude Code archivia le trascrizioni e la memoria automatica di quella sessione, al posto di uno derivato dal percorso della directory di lavoro. Ad esempio, avviare Claude Code con `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` le archivia in `/srv/tenant-a/projects/work/`. Claude Code ignora questa variabile quando `CLAUDE_CONFIG_DIR` non è impostata, e la legge solo dall'ambiente da cui avvii `claude`, mai 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 |

370| `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 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 |375| `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 fattura le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |

371| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Imposta a `1` per propagare il trace context W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione riguarda l'header `traceparent` sulle richieste al modello e ai server MCP HTTP e la variabile d'ambiente `TRACEPARENT` per i sottoprocessi di Bash, PowerShell e degli hook. Per impostazione predefinita, la propagazione è abilitata solo con una connessione diretta all'API Anthropic. Aggiunta nella v2.1.152. Consulta [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |376| `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 copre 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 quando la connessione all'API Anthropic è diretta. Aggiunta nella v2.1.152. Consulta [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |

372| `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 in impostazioni gestite non aggiornate. 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, Agent Platform di Google Cloud e Microsoft Foundry, così la telemetria segue la disattivazione standard tramite `DISABLE_TELEMETRY`. Consulta [Comportamenti predefiniti per provider API](/docs/it/data-usage#default-behaviors-by-api-provider) |377| `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`, così 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 l'origine gestita che le fornisce, così che la configurazione dei modelli dell'host abbia la precedenza su un modello fissato nelle impostazioni gestite non aggiornato. Claude Code ignora inoltre 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 normale disattivazione tramite `DISABLE_TELEMETRY`. Consulta [Comportamenti predefiniti per provider API](/docs/it/data-usage#default-behaviors-by-api-provider) |

373| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Imposta a `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 |378| `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 il proxy deve gestire la risoluzione dei nomi host |

374| `CLAUDE_CODE_REMOTE` | Impostata automaticamente a `true` quando Claude Code è in esecuzione come [sessione cloud](/docs/it/claude-code-on-the-web). Leggila da un hook o da uno script di setup per rilevare se ti trovi in una sessione cloud |379| `CLAUDE_CODE_REMOTE` | Impostata automaticamente su `true` quando Claude Code viene eseguito 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 |

375| `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 che rimandi alla trascrizione della sessione. Consulta [Collegare l'output alla sessione](/docs/it/cloud-environments#link-output-back-to-the-session) |380| `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) |

376| `CLAUDE_CODE_RESTRICTED` | Imposta a `1` per avviare la sessione in modalità con restrizioni, come se passassi [`--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 |381| `CLAUDE_CODE_RESTRICTED` | Imposta su `1` per avviare la sessione in modalità con restrizioni, come passando [`--restricted`](/docs/it/cli-reference#cli-flags). Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.248 o successiva |

377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta a `1` per riprendere automaticamente se la sessione precedente è terminata a metà 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 a `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) |382| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta su `1` per riprendere automaticamente se la sessione precedente è terminata a metà turno. Usata in modalità SDK in modo che 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 chat di VS Code, consulta [Continuare le conversazioni dopo un ricaricamento](/docs/it/vs-code#continue-conversations-after-a-reload) |

378| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione affinché una sessione terminata 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ì prosegui in modo esplicito. 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, compresi quelli; un valore negativo o non numerico applica un limite di un'ora. Gli script di avvio per agenti a lunga esecuzione possono impostarla affinché un riavvio su una trascrizione vecchia non esegua di nuovo un prompt obsoleto. Claude Code imposta autonomamente un limite di un'ora quando riavvia una sessione della [vista agenti](/docs/it/agent-view) andata in crash che ha ereditato la conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successiva |383| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione affinché una sessione terminata 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 non è riuscita con un errore API riprende solo finché quell'errore risale a meno di sei ore prima. Un valore positivo limita ogni turno, compresi questi; un valore negativo o non numerico applica un limite di un'ora. Gli script di avvio per agenti a lunga esecuzione possono impostarla in modo che 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 della [vista agenti](/docs/it/agent-view) andata in crash che ha ereditato la conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successiva |

379| `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 differita](/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 |384| `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 inviare di nuovo il suo prompt, o quando riprendi una [chiamata a uno strumento differita](/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 |

380| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta a `1` per 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 subito 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, o 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 inoltre 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 |385| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per 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 subito 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 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 al reset del limite quando la risposta riporta un orario di reset del rate limit, così che una sessione che raggiunge un limite di utilizzo attenda 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 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 |

381| `CLAUDE_CODE_SAFE_MODE` | Imposta a `1` per avviare in modalità provvisoria: CLAUDE.md, skill, plugin, hook, server MCP, comandi e agenti personalizzati, stili di output, workflow, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della riga di stato e dei suggerimenti di file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione danneggiata. La policy delle impostazioni gestite continua ad applicarsi, inclusi gli hook, la riga di stato e i comandi dei suggerimenti di file configurati tramite policy; i plugin gestiti, le skill gestite, il CLAUDE.md gestito e i server MCP configurati tramite policy invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |386| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Tempo massimo in millisecondi che ogni richiesta API trascorre attendendo la fine degli errori `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostata. Una volta trascorso questo tempo, il successivo errore di questo tipo termina la richiesta. Indica un numero intero positivo in cifre semplici, come `1800000` per 30 minuti. Quando non è impostata, l'attesa non ha limiti. Richiede Claude Code v2.1.295 o successiva |

382| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando è impostata `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Le chiavi sono sottostringhe confrontate con il testo del comando; i valori sono limiti interi di chiamate. Ad esempio, `{"deploy.sh": 2}` consente di chiamare `deploy.sh` al massimo due volte. Il confronto si basa sulle sottostringhe, quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. Il fan-out a runtime tramite `xargs` o `find -exec` non viene rilevato; si tratta di un controllo di difesa in profondità |387| `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 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 dei suggerimenti dei file configurati dal criterio; plugin gestiti, skill gestite, CLAUDE.md gestito e server MCP configurati dal criterio invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |

383| `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 a `3` per allinearti a `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 |388| `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 trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. La moltiplicazione delle esecuzioni a runtime tramite `xargs` o `find -exec` non viene rilevata; si tratta di un controllo di difesa in profondità |

384| `CLAUDE_CODE_SEND_FEEDBACK` | Imposta a `0` per disattivare il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Imposta a `1` per attivarlo dove il tuo account ha già accesso; la variabile non può concedere l'accesso di per sé, 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 |389| `CLAUDE_CODE_SCROLL_SPEED` | Imposta il moltiplicatore di scorrimento della rotellina del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta qualsiasi valore positivo fino a 20, inclusi valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotellina nei terminali che già amplificano gli eventi della rotellina. Imposta su `3` per allinearti a `vim` se il tuo terminale invia un evento della rotellina per ogni scatto senza amplificazione. Ignorata nel terminale degli IDE JetBrains, dove Claude Code usa la propria gestione dello scorrimento |

390| `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), si applicano comunque |

385| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sovrascrive il budget di tempo in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Il valore è anche il timeout per ogni hook che non imposta un proprio `timeout`. Si applica all'uscita dalla sessione, a `/clear` e al cambio di sessione tramite `/resume` interattivo. Per impostazione predefinita il budget è 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 budget |391| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sovrascrive il budget di tempo in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Il valore è anche il timeout per ogni hook che non imposta un proprio `timeout`. Si applica all'uscita dalla sessione, a `/clear` e al cambio di sessione tramite `/resume` interattivo. Per impostazione predefinita il budget è 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 budget |

386| `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 degli hook e viene aggiornata con `/clear`. Un sottoprocesso di server MCP mantiene l'ID con cui è stato avviato. Con `--resume <session-id>` riceve l'ID ripreso, in modo coerente 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 |392| `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 degli hook e viene aggiornata con `/clear`. Un sottoprocesso di un server MCP mantiene l'ID con cui è stato avviato. Con `--resume <session-id>` riceve l'ID ripreso, in modo coerente con hook e Bash. Con `--continue` o `--resume` senza un ID esplicito potrebbe ricevere invece l'ID iniziale di avvio. Usala per correlare script e strumenti esterni con la sessione di Claude Code che li ha avviati |

387| `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 la tua `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` e poi `bash` funzionante trovato nel tuo `PATH` e nelle posizioni di installazione standard |393| `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 la tua `$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 |

388| `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 logging o auditing. 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 quotato per la shell in `$1`, quindi deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un semplice percorso di eseguibile compromette 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 |394| `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 logging o auditing. 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 un singolo argomento quotato per la shell in `$1`, quindi il wrapper deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un semplice percorso di eseguibile rompe i server MCP stdio che passano argomenti come `npx -y <package>`. Per le chiamate allo strumento Bash, `$1` contiene l'intera invocazione della shell assemblata da Claude Code, inclusa la configurazione dell'ambiente, non solo il comando eseguito da Claude |

389| `CLAUDE_CODE_SIMPLE` | Imposta a `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, di lettura file e di modifica file. Gli strumenti MCP da `--mcp-config` restano disponibili. Disabilita il rilevamento automatico di hook, skill, comandi personalizzati, subagent, plugin installati, server MCP, memoria automatica e CLAUDE.md. Le skill in una directory che passi con `--add-dir` vengono comunque caricate. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o da un `apiKeyHelper` in `--settings`. Equivale a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |395| `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` 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 che passi con `--add-dir` vengono comunque caricate. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o da un `apiKeyHelper` in `--settings`. Equivale a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |

390| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Scegli tra il prompt di sistema completo di Claude Code e uno più breve con descrizioni abbreviate degli strumenti. Quando non è impostata, Haiku 4.5, Sonnet 5, Opus 4.7 e i modelli precedenti di queste famiglie usano per impostazione predefinita il prompt completo, mentre i modelli più recenti usano quello più breve. Imposta a `1` per usare il prompt più breve su qualsiasi modello. Imposta a `0`, `false`, `no` o `off` per usare il prompt completo su qualsiasi modello, anche dove un esperimento o una configurazione del server selezionerebbe altrimenti quello più breve. Entrambi i prompt mantengono il set completo di strumenti, gli hook, i server MCP e il rilevamento di CLAUDE.md |396| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Scegli tra il prompt di sistema completo di Claude Code e uno più breve con descrizioni abbreviate degli strumenti. Quando non è impostata, Haiku 4.5, Sonnet 5, Opus 4.7 e i modelli precedenti di queste famiglie usano per impostazione predefinita il prompt completo, mentre i modelli più recenti usano quello più breve. Imposta su `1` per usare il prompt più breve su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per usare il prompt completo su qualsiasi modello, anche dove un esperimento o la configurazione del server selezionerebbe altrimenti quello più breve. Entrambi i prompt mantengono l'intero set di strumenti, gli hook, i server MCP e il rilevamento di CLAUDE.md |

391| `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 |397| `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 |

392| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Imposta a `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 [caching delle credenziali e timeout di risoluzione](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout). Richiede Claude Code v2.1.207 o successiva |398| `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ì 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 |

393| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando usi un gateway LLM) |399| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando usi un gateway LLM) |

394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Imposta a `1` per considerare disponibile la [modalità veloce](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) quando la verifica della disponibilità fallisce, per le reti che bloccano la richiesta diretta della verifica verso `api.anthropic.com`. Claude Code rispetta comunque una risposta "disabled by your organization" |400| `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à non riesce, per le reti che bloccano la richiesta diretta del controllo a `api.anthropic.com`. Claude Code rispetta comunque una risposta "disabled by your organization" |

395| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Imposta a `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 |401| `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 anziché rifiutarla. L'API rifiuta comunque le richieste in modalità veloce quando la tua organizzazione ha disabilitato la modalità veloce |

396| `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 credenziali 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 |402| `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 credenziali 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 |

397| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando usi un gateway LLM) |403| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando usi un gateway LLM) |

398| `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 [Agent Platform di Google Cloud](/docs/it/google-vertex-ai) memorizzano su questa macchina, per un massimo di un giorno, quali modelli il tuo account non può invocare secondo quanto hanno rilevato. Imposta a `1` per disattivare questa memorizzazione. Richiede Claude Code v2.1.285 o successiva |404| `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 memorizzazione. Richiede Claude Code v2.1.285 o successiva |

399| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta a `1` per non scrivere su disco la cronologia dei prompt e le trascrizioni delle sessioni. Le sessioni avviate con questa variabile impostata non compaiono in `--resume`, `--continue` né nella cronologia accessibile con la freccia su. Utile per sessioni scriptate temporanee |405| `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 temporanee basate su script |

400| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Agent Platform di Google Cloud (ad esempio, quando usi un gateway LLM) |406| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando usi un gateway LLM) |

401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Imposta a `1` affinché 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 |407| `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 |

402| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive in cui un hook [Stop](/docs/it/hooks#stop) o [SubagentStop](/docs/it/hooks#subagentstop) può impedire la conclusione del turno prima che Claude Code lo sovrascriva e concluda comunque il turno (predefinito: 8). Imposta a `0` per disabilitare il limite. Aumentalo se il tuo hook ha legittimamente bisogno di più iterazioni per risolversi |408| `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 arrivare a una soluzione |

403| `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 a `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 |409| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i compagni del [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 origini 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 |

404| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Imposta a `1` per forzare un unico modello su 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 |410| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Imposta su `1` per forzare un unico modello su subagent, compagni di 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 |

405| `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 fattura le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |411| `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 fattura le scritture nella cache da 1 ora a una tariffa più alta. Richiede Claude Code v2.1.242 o successiva |

406| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta a `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 o dal valore della variabile, 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` |412| `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` |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta a `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione dei plugin prima della prima query. Senza di essa, i plugin vengono installati in background e potrebbero non essere disponibili al primo turno. Combinala con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |413| `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 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 |

408| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona dei plugin. Se viene superato, Claude Code prosegue senza plugin e registra un errore nel log. Nessun valore predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |414| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona dei plugin. Se viene superato, Claude Code procede senza plugin e registra un errore. Nessun valore predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |

409| `CLAUDE_CODE_SYNC_SKILLS` | Imposta a `1` in modalità non interattiva con il flag `-p` per fare in modo che Claude Code scarichi in quell'esecuzione le skill abilitate per il tuo account claude.ai e ne attenda l'elenco, fino a `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, prima di eseguire la prima query. 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 |415| `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 |

410| `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). Se viene superato, il ricaricamento prosegue con le skill già arrivate e i download rimanenti terminano in background |416| `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). Se viene superato, il ricaricamento prosegue con le skill già arrivate e i download rimanenti terminano in background |

411| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi durante il quale la prima query attende l'elenco iniziale delle skill quando è impostata `CLAUDE_CODE_SYNC_SKILLS` (predefinito: 5000). Se 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 |417| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per cui la prima query attende l'elenco iniziale delle skill quando è impostata `CLAUDE_CODE_SYNC_SKILLS` (predefinito: 5000). Se 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 invoca quella skill |

412| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Imposta a `false` per disabilitare l'evidenziazione della sintassi nell'output dei diff. Utile quando i colori interferiscono con la configurazione del tuo terminale. Per disabilitare l'evidenziazione anche nei blocchi di codice e nelle anteprime dei file, usa l'impostazione [`syntaxHighlightingDisabled`](/docs/it/settings-reference#syntaxhighlightingdisabled) |418| `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) |

413| `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) |419| `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 hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability). Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |

414| `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) completi la chiusura. 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 |420| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sovrascrive, in millisecondi, quanto a lungo una sessione non interattiva attende all'uscita che il suo [team di agenti](/docs/it/agent-teams) completi lo smantellamento. Accetta valori da 1000 a 60000; un valore fuori intervallo viene ignorato e si applica il valore predefinito di 10000. Richiede Claude Code v2.1.206 o successiva |

415| `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 all'interno della directory predefinita di sistema quando il tuo override è 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 il tuo override, o `%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) |421| `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 valore predefinito di sistema quando il tuo override è un percorso lungo, poiché alcuni strumenti non funzionano quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non in sandbox ereditano il `$TMPDIR` della tua shell quando è impostato. Su Windows nativo, quando la tua shell non imposta `$TMPDIR`, un comando Bash che fa riferimento a `$TMPDIR` riceve il tuo override, oppure `%TEMP%` 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) |

416| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta un qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla a `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per ripristinare la limitazione a 256 colori. Per impostazione predefinita, Claude Code si limita a 256 colori quando `$TMUX` è impostata, perché tmux non inoltra 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 |422| `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 inoltra 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 |

417| `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, o `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualunque cosa tu elenchi. Richiede Claude Code v2.1.246 o successiva |423| `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 |

418| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, imposta una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono usare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor nella v2.1.246 o successiva. Scrivi la dimensione in cifre semplici, da sola per indicare un numero di byte o 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 |424| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, imposta una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono usare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor nella v2.1.246 o successiva. Scrivi la dimensione in cifre semplici, da sola per un numero di byte o 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 |

419| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta a `1` per limitare la crescita del [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored) di una lunga sessione `-p` o dell'Agent SDK. Dopo ogni compattazione, quando il file supera i 5 MB, Claude Code rimuove la cronologia precedente a quella compattazione. Riprendendo la sessione si ripristina la stessa conversazione, che il file sia stato ridotto o meno. 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 |425| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta su `1` per limitare la crescita del [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 |

420| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo inoltrata a un client remoto come un host [Remote Control](/docs/it/remote-control) o SDK, oppure la finestra di approvazione per un [messaggio tra sessioni trattenuto](/docs/it/cross-session-messaging#control-inbound-messages); le richieste di permesso e le domande di `AskUserQuestion` usano flussi propri e non sono regolate da questa variabile. In Claude Code v2.1.236 o successiva, limita anche la [richiesta di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in ingresso](/docs/it/cross-session-messaging#control-inbound-messages) e [sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) descrivono 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. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |426| `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 dialogo 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 successive, limita anche la [richiesta di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) mostrata a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in entrata](/docs/it/cross-session-messaging#control-inbound-messages) e [Sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) 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 disattiva la scadenza. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usa [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |427| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usa [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |

422| `CLAUDE_CODE_USE_BEDROCK` | Usa [Amazon Bedrock](/docs/it/amazon-bedrock) |428| `CLAUDE_CODE_USE_BEDROCK` | Usa [Amazon Bedrock](/docs/it/amazon-bedrock) |

423| `CLAUDE_CODE_USE_FOUNDRY` | Usa [Microsoft Foundry](/docs/it/microsoft-foundry) |429| `CLAUDE_CODE_USE_FOUNDRY` | Usa [Microsoft Foundry](/docs/it/microsoft-foundry) |

424| `CLAUDE_CODE_USE_MANTLE` | Usa l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |430| `CLAUDE_CODE_USE_MANTLE` | Usa l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |

425| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta su `1` per individuare comandi personalizzati, subagent e stili di output usando le API dei file di Node.js invece di ripgrep. Impostala se il binario ripgrep incluso non è disponibile o è bloccato nel tuo ambiente. Non influisce sugli strumenti Grep o di ricerca dei file |431| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta a `1` per individuare comandi personalizzati, subagent e stili di output usando le API per i file di Node.js invece di ripgrep. Impostala se il binario ripgrep incluso non è disponibile o è bloccato nel tuo ambiente. Non influisce sugli strumenti Grep o di ricerca dei file |

426| `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 comandi PowerShell in modo nativo invece di passare attraverso Git Bash. Consulta [Strumento PowerShell](/docs/it/tools-reference#powershell-tool) |432| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; imposta a `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; imposta a `1` per abilitarlo nelle sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, oppure a `0` per disattivarlo. Su Linux, macOS e WSL, imposta a `1` per abilitarlo, il che richiede `pwsh` nel tuo `PATH`. Quando è abilitato su Windows, Claude può eseguire i comandi PowerShell in modo nativo invece di passare attraverso Git Bash. Consulta [Strumento PowerShell](/docs/it/tools-reference#powershell-tool) |

427| `CLAUDE_CODE_USE_VERTEX` | Usa [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |433| `CLAUDE_CODE_USE_VERTEX` | Usa [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

428| `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 |434| `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 ogni 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 successive |

429| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite massimo in millisecondi del tempo per cui [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) attende il download di una pagina, inclusi gli eventuali reindirizzamenti che segue. Un download non completato entro quel tempo fallisce con un errore di scadenza. Il valore predefinito è `300000`, ovvero cinque minuti. Imposta su `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 |435| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite massimo in millisecondi per il tempo in cui [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) attende il download di una pagina, inclusi gli eventuali reindirizzamenti che segue. Un download non completato entro quel tempo fallisce con un errore di scadenza. Il valore predefinito è `300000`, ovvero cinque minuti. Imposta a `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra scrittura mantiene il valore predefinito. Richiede Claude Code v2.1.268 o successive |

430| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Velocità con cui si ricarica il [limite di WebSearch](/docs/it/tools-reference#session-search-limit) di una sessione, in chiamate all'ora. Il valore predefinito è `100` in una sessione interattiva del terminale. In una sessione [non interattiva](/docs/it/headless) il valore predefinito è `0`, che disattiva la ricarica. Accetta solo cifre semplici; qualsiasi altra scrittura viene considerata come non impostata. Richiede Claude Code v2.1.290 o successivo |436| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Velocità con cui si ricarica il [limite di WebSearch](/docs/it/tools-reference#session-search-limit) di una sessione, in chiamate all'ora. Il valore predefinito è `100` in una sessione interattiva del terminale. In una sessione [non interattiva](/docs/it/headless) il valore predefinito è `0`, che disattiva la ricarica. Accetta solo cifre semplici; qualsiasi altra scrittura viene interpretata come non impostata. Richiede Claude Code v2.1.290 o successive |

431| `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. Se non è impostata, non ci sono promemoria. Richiede Claude Code v2.1.283 o successivo |437| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è impostata a `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 interpretato come non impostato. Quando non è impostata, non ci sono promemoria. Richiede Claude Code v2.1.283 o successive |

432| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quanti agenti esegue contemporaneamente una singola esecuzione di [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 |438| `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 successive |

433| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite massimo in millisecondi del tempo per cui un agente di [workflow](/docs/it/workflows) attende che inizi la prima risposta di un agente fratello con lo stesso prefisso prima di inviare la propria prima richiesta. Quando un fan-out avvia diversi agenti che condividono un [prefisso della cache dei prompt](/docs/it/workflows#prompt-caching-in-a-fan-out), Claude Code trattiene tutti gli agenti tranne il primo fino a questo tempo, così gli altri leggono il prefisso dalla cache invece di elaborarlo ciascuno senza cache. Predefinito `5000`. Imposta su `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostata, gli agenti non attendono mai. Richiede Claude Code v2.1.229 o successivo |439| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite massimo in millisecondi per il tempo in cui 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 più 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 dalla cache invece di elaborarlo ciascuno senza cache. Valore predefinito `5000`. Imposta a `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostata, gli agenti non attendono mai. Richiede Claude Code v2.1.229 o successive |

434| `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. 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) |440| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin vengono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. 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) |

435| `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 conferma prima di portarla in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successivo |441| `CLAUDE_DISABLE_ADOPT` | Imposta a `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 conferma prima di portarla in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successive |

436| `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 |442| `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 |

437| `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. Se 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 con `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 interagiscono i timer, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |443| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta a `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, oppure a `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 eventi poteva segnalare uno stallo anche mentre arrivavano i ping keep-alive. Per i timeout e per come interagiscono i timer, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

438| `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 di Bedrock. Disattivato per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |444| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta a `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. Disattivato per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

439| `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. Se 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) |445| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta a `0` per forzare la disabilitazione del watchdog di inattività dello streaming a livello di eventi, oppure a `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) |

440| `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ì le esportazioni nel file sono visibili al comando. Usala per mantenere l'attivazione di virtualenv o conda tra i comandi. Popolata anche 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) |446| `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 un comando e l'altro. 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) |

441| `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 |447| `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 chiedono il permesso, e la directory viene rimossa quando la sessione viene eliminata |

442| `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 segnali deliberatamente al processo padre di Claude Code. Richiede Claude Code v2.1.214 o successivo |448| `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 con la shell dello strumento Bash la usa per rifiutare un pattern `pkill` che corrisponderebbe al processo stesso di Claude Code; consulta [il riferimento agli errori](/docs/it/errors#pkill-pattern-matches-the-claude-code-process). Leggila dai tuoi script per identificare o inviare segnali deliberatamente al processo padre di Claude Code. Richiede Claude Code v2.1.214 o successive |

443| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni di [Remote Control](/docs/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Il valore predefinito è l'hostname della tua macchina, che produce nomi come `myhost-graceful-unicorn`. Il flag della CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |449| `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 |

444| `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, quanto tempo aggiuntivo 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 |450| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte della risposta di una richiesta in streaming, sulle connessioni in cui è attiva la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per come Claude Code la limita, il tempo extra 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 successive |

445| `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 questa variabile esplicitamente, 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) |451| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che i watchdog di inattività dello streaming a livello di eventi 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 di 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) |

446| `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) |452| `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) |

447| `DEBUG` | Imposta su `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`, o nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori veri `1`, `true`, `yes` e `on` abilitano la modalità di debug, quindi pattern di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |453| `DEBUG` | Imposta a `1` per abilitare la modalità di debug, equivalente all'avvio con [`--debug`](/docs/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, oppure nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori veri `1`, `true`, `yes` e `on` abilitano la modalità di debug, quindi pattern di namespace come `DEBUG=express:*` impostati per altri strumenti non la attivano |

448| `DISABLE_AUTOUPDATER` | Imposta su `1` per disabilitare gli aggiornamenti automatici in background. Il comando manuale `claude update` continua a funzionare. Usa `DISABLE_UPDATES` per bloccarli entrambi |454| `DISABLE_AUTOUPDATER` | Imposta a `1` per disabilitare gli aggiornamenti automatici in background. Il comando manuale `claude update` funziona ancora. Usa `DISABLE_UPDATES` per bloccare entrambi |

449| `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) |455| `DISABLE_AUTO_COMPACT` | Imposta a `1` per disabilitare la compattazione automatica quando ci si avvicina al limite del 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) |

450| `DISABLE_COMPACT` | Imposta su `1` per disabilitare tutta la compattazione: sia la compattazione automatica sia il comando manuale `/compact` |456| `DISABLE_COMPACT` | Imposta a `1` per disabilitare tutta la compattazione: sia la compattazione automatica sia il comando manuale `/compact` |

451| `DISABLE_COST_WARNINGS` | Imposta su `1` per disabilitare i messaggi di avviso sui costi |457| `DISABLE_COST_WARNINGS` | Imposta a `1` per disabilitare i messaggi di avviso sui costi |

452| `DISABLE_DOCTOR_COMMAND` | Imposta su `1` per nascondere la skill di verifica 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 del terminale `claude doctor`. Prima della v2.1.205, questa variabile nascondeva il comando della schermata di diagnostica `/doctor` |458| `DISABLE_DOCTOR_COMMAND` | Imposta a `1` per nascondere la skill di controllo della configurazione [`/doctor`](/docs/it/commands#all-commands) e il suo alias `/checkup`. Utile per distribuzioni gestite in cui gli utenti non dovrebbero eseguire la diagnostica della configurazione da una sessione. Non influisce sul comando del terminale `claude doctor`. Prima della v2.1.205, questa variabile nascondeva il comando della schermata di diagnostica `/doctor` |

453| `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 |459| `DISABLE_ERROR_REPORTING` | Imposta a qualsiasi valore non vuoto, come `1`, per disattivare la segnalazione degli errori. **Impostarla a `0` o `false` la disattiva comunque**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per riattivare la segnalazione degli errori |

454| `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 |460| `DISABLE_EXTRA_USAGE_COMMAND` | Imposta a `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i rate limit |

455| `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 tramite lo stesso percorso; prima della v2.1.212 erano alias di `/feedback`, quindi il comando era disabilitato con ogni nome. È accettato anche il nome precedente `DISABLE_BUG_COMMAND` |461| `DISABLE_FEEDBACK_COMMAND` | Imposta a `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 era disabilitato con ogni nome. È accettato anche il nome precedente `DISABLE_BUG_COMMAND` |

456| `DISABLE_GROWTHBOOK` | Imposta su `1` o `true` per disabilitare il recupero dei feature flag di GrowthBook e usare i valori predefiniti nel 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. Il logging degli eventi di telemetria resta attivo a meno che non sia impostata anche `DISABLE_TELEMETRY` |462| `DISABLE_GROWTHBOOK` | Imposta a `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 a `0` o `false` lascia attivo il recupero. La registrazione degli eventi di telemetria resta attiva a meno che non sia impostata anche `DISABLE_TELEMETRY` |

457| `DISABLE_INSTALLATION_CHECKS` | Imposta su `1` per disabilitare gli avvisi di installazione. Usala solo quando gestisci manualmente il percorso di installazione, poiché può nascondere problemi con le installazioni standard |463| `DISABLE_INSTALLATION_CHECKS` | Imposta a `1` per disabilitare gli avvisi di installazione. Usala solo quando gestisci manualmente il percorso di installazione, perché può mascherare problemi con le installazioni standard |

458| `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, Google Cloud's Agent Platform o Microsoft Foundry) |464| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Imposta a `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) |

459| `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 intercalato](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |465| `DISABLE_INTERLEAVED_THINKING` | Imposta a `1` per evitare 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) |

460| `DISABLE_LOGIN_COMMAND` | Imposta su `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |466| `DISABLE_LOGIN_COMMAND` | Imposta a `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |

461| `DISABLE_LOGOUT_COMMAND` | Imposta su `1` per nascondere il comando `/logout` |467| `DISABLE_LOGOUT_COMMAND` | Imposta a `1` per nascondere il comando `/logout` |

462| `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 singolo modello) |468| `DISABLE_PROMPT_CACHING` | Imposta a `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) |

463| `DISABLE_PROMPT_CACHING_FABLE` | Imposta su `1` per disabilitare il prompt caching per i modelli Fable |469| `DISABLE_PROMPT_CACHING_FABLE` | Imposta a `1` per disabilitare il prompt caching per i modelli Fable |

464| `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 |470| `DISABLE_PROMPT_CACHING_HAIKU` | Imposta a `1` per disabilitare il prompt caching per il [modello Haiku predefinito](/docs/it/prompt-caching#disable-prompt-caching), ovunque venga eseguito |

465| `DISABLE_PROMPT_CACHING_OPUS` | Imposta su `1` per disabilitare il prompt caching per il [modello Opus predefinito](/docs/it/prompt-caching#disable-prompt-caching) |471| `DISABLE_PROMPT_CACHING_OPUS` | Imposta a `1` per disabilitare il prompt caching per il [modello Opus predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

466| `DISABLE_PROMPT_CACHING_SONNET` | Imposta su `1` per disabilitare il prompt caching per il [modello Sonnet predefinito](/docs/it/prompt-caching#disable-prompt-caching) |472| `DISABLE_PROMPT_CACHING_SONNET` | Imposta a `1` per disabilitare il prompt caching per il [modello Sonnet predefinito](/docs/it/prompt-caching#disable-prompt-caching) |

467| `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) |473| `DISABLE_TELEMETRY` | Imposta a qualsiasi valore non vuoto, come `1`, per disattivare la telemetria. **Impostarla a `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) |

468| `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 tramite i tuoi canali e gli utenti non dovrebbero aggiornarlo autonomamente |474| `DISABLE_UPDATES` | Imposta a `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 |

469| `DISABLE_UPGRADE_COMMAND` | Imposta su `1` per nascondere il comando `/upgrade` |475| `DISABLE_UPGRADE_COMMAND` | Imposta a `1` per nascondere il comando `/upgrade` |

470| `DO_NOT_TRACK` | Imposta su `1` per disattivare la telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, incluso quello 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 |476| `DO_NOT_TRACK` | Imposta a `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 comune riconosciuta da molte CLI per sviluppatori |

471| `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 contenuti e lo span `claude_code.hook`. Le sessioni CLI interattive richiedono inoltre che la tua organizzazione sia inclusa nella lista consentita per la beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |477| `ENABLE_BETA_TRACING_DETAILED` | Imposta a `1`, e imposta `BETA_TRACING_ENDPOINT` sull'endpoint del tuo collector OTLP/HTTP, per attivare il [tracciamento beta dettagliato](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi di span con contenuti e lo span `claude_code.hook`. Le sessioni interattive della CLI richiedono inoltre che la tua organizzazione sia nella lista di autorizzazione della beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

472| `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 |478| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta a `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 disabilitarli per progetto o per organizzazione, imposta invece [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |

473| `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), [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 |479| `ENABLE_PROMPT_CACHING_1H` | Imposta a `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 |

474| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |480| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |

475| `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 di prima parte. `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 questa variabile non fosse impostata su `true` |481| `ENABLE_TOOL_SEARCH` | Controlla [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search). Se non è impostata, Claude Code rinvia per impostazione predefinita il caricamento di tutti gli strumenti MCP. 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 di prima parte. `true` rinvia sempre il caricamento 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 in anticipo tutti gli strumenti. 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 a `true` |

476| `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 tua [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 |482| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta a 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 a `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 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 successive, 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 |

477| `FORCE_AUTOUPDATE_PLUGINS` | Imposta su `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'aggiornamento automatico principale è disabilitato tramite `DISABLE_AUTOUPDATER` |483| `FORCE_AUTOUPDATE_PLUGINS` | Imposta a `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'aggiornamento automatico principale è disabilitato tramite `DISABLE_AUTOUPDATER` |

478| `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. Se 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 |484| `FORCE_HYPERLINK` | Imposta a `1` per abilitare i collegamenti ipertestuali OSC 8 cliccabili quando il tuo terminale li supporta ma non viene rilevato automaticamente, oppure a `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 invece di 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 |

479| `FORCE_PROMPT_CACHING_5M` | Imposta su `1` per forzare il TTL di 5 minuti della cache dei prompt 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` |485| `FORCE_PROMPT_CACHING_5M` | Imposta a `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` |

480| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |486| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |

481| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |487| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |

482| `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 |488| `IS_DEMO` | Imposta a 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 a `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 |

483| `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 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 quell'annotazione viene [salvato in un file](/docs/it/mcp#mcp-output-limits-and-warnings) indipendentemente da questa variabile |489| `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 proveniente da uno strumento senza quell'annotazione viene [salvato in un file](/docs/it/mcp#mcp-output-limits-and-warnings) indipendentemente da questa variabile |

484| `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, ovvero un primo tentativo più quattro nuovi tentativi |490| `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 |

485| `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 del numero massimo di token di output della richiesta e mai sotto 1.024. Consulta `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per sapere come viene impostato quel limite. Se 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 su `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 effort `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 |491| `MAX_THINKING_TOKENS` | Budget fisso di token per il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code lo limita a un token in meno rispetto ai token di output massimi della richiesta e mai al di sotto di 1.024. Consulta `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per sapere come viene impostato quel limite. Quando non è impostata e il ragionamento è abilitato, i modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) scelgono autonomamente la profondità del ragionamento, mentre gli altri modelli usano il limite. Imposta a `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 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. 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 |

486| `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 si aggiunge un server con `--client-secret` |492| `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 si aggiunge un server con `--client-secret` |

487| `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 su `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 [`--mcp-config`](/docs/it/cli-reference#cli-flags) esplicitamente, l'attesa ha una scadenza più lunga; consulta la voce di quel flag per l'eccezione relativa ai server nella cache |493| `MCP_CONNECTION_NONBLOCKING` | Controlla se l'avvio attende che i server MCP si connettano 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 a `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 individuazione](/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 |

488| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo, in millisecondi, l'avvio MCP bloccante attende il batch di connessioni prima di acquisire lo snapshot dell'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 |494| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo attende l'avvio MCP bloccante, 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 |

489| `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 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 su `1` per attivarla, o su `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 |495| `MCP_DISCOVERY_CACHE` | Attiva o disattiva la [cache di individuazione 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 a `1` per attivarla, oppure a `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 successive |

490| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di rilevamento](/docs/it/mcp#server-status-detail) (predefinito: 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 |496| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di individuazione](/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 |

491| `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 cade occasionalmente, in modo che un singolo aggiornamento fallito non scarti la voce. Richiede Claude Code v2.1.238 o successivo |497| `MCP_DISCOVERY_CACHE_STRIKES` | A un avvio in cui una voce della [cache di individuazione](/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 successive |

492| `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 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 |498| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per cui Claude Code usa una voce della [cache di individuazione](/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. Quando 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 per impostazione predefinita è 4 ore. Prima della v2.1.238, Claude Code non limitava il valore |

493| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, come alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |499| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, in alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |

494| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes), indica 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, o `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 |500| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes), indica se Claude Code verifica il supporto dei server alla revisione del protocollo MCP 2026-07-28. Imposta `auto` per verificare i server HTTP, i connettori claude.ai e i server stdio, oppure `legacy` per non verificarne nessuno. Con la variabile non impostata, Claude Code verifica 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 successive |

495| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |501| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP remoti (HTTP/SSE) da connettere in parallelo durante l'avvio (predefinito: 20) |

496| `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, o `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, quando non corrisponde, fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response`. Il runtime v1 non esegue questo controllo. Se imposti un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successivo |502| `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 successive, il runtime v2 verifica l'issuer che un server OAuth MCP restituisce nella sua risposta di autorizzazione e, quando non corrisponde, fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response`. Il runtime v1 non esegue questo controllo. Se imposti un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successive |

497| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |503| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Numero massimo di server MCP locali (stdio) da connettere in parallelo durante l'avvio (predefinito: 3) |

498| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, ovvero 30 secondi) |504| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio dei server MCP (predefinito: 30000, ovvero 30 secondi) |

499| `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, sopra 60000 per aumentare quel limite per richiesta. Un valore inferiore accorcia comunque il timeout complessivo di esecuzione dello strumento, ma lascia il limite per richiesta a 60 secondi. I server stdio e WebSocket non hanno un timer per richiesta. Un campo `timeout` per 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, così `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompe 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 |505| `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, oppure il `timeout` per singolo server, a un valore superiore a 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 singolo server in `.mcp.json` sovrascrive questo valore per quel server. Un `timeout` per singolo server di almeno 1000 imposta anche la finestra minima di inattività per le chiamate agli strumenti di quel server, in modo che `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompa mai prima; questa soglia minima richiede Claude Code v2.1.203 o successive. Per la variabile d'ambiente, i valori inferiori a 1000 vengono portati a un secondo; per il campo per singolo server, i valori inferiori a 1000 vengono ignorati |

500| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno inviate direttamente, bypassando il proxy |506| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno inviate direttamente, aggirando il proxy |

501| `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 minore tra questo valore e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, così l'indicatore di troncamento resta 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) |507| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard dell'SDK OpenTelemetry sulla lunghezza dei valori degli attributi. Claude Code limita gli attributi di telemetria con contenuti al valore minore tra questo e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, in modo 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 successive. Consulta [Monitoraggio](/docs/it/monitoring-usage#common-configuration-variables) |

502| `OTEL_LOG_ASSISTANT_RESPONSES` | Imposta su `1` per includere il testo della risposta del modello negli eventi di log OpenTelemetry `assistant_response`. Se non è impostata, Claude Code usa invece il valore di `OTEL_LOG_USER_PROMPTS`. Imposta su `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) |508| `OTEL_LOG_ASSISTANT_RESPONSES` | Imposta a `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 a `0` per mantenere oscurate le risposte 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 successive. Consulta [Monitoraggio](/docs/it/monitoring-usage#assistant-response-event) |

503| `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) |509| `OTEL_LOG_MANAGED_SETTINGS` | Imposta a `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 successive. Consulta [Monitoraggio](/docs/it/monitoring-usage#managed-settings-resolved-event) |

504| `OTEL_LOG_RAW_API_BODIES` | Emette il JSON di richiesta e risposta dell'API Messages di Anthropic come eventi di log `api_request_body` / `api_response_body`. Imposta su `1` per corpi inline troncati al limite di contenuto, o su `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) |510| `OTEL_LOG_RAW_API_BODIES` | Emette il JSON delle richieste e delle risposte dell'API Messages di Anthropic come eventi di log `api_request_body` / `api_response_body`. Imposta a `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) |

505| `OTEL_LOG_TOOL_CONTENT` | Imposta su `1` per includere il contenuto degli strumenti nell'evento di span OpenTelemetry `tool.output`. Gli attributi di span riportano il contenuto degli strumenti secondo i [propri criteri di abilitazione](/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) |511| `OTEL_LOG_TOOL_CONTENT` | Imposta a `1` per includere il contenuto degli strumenti nell'evento di span OpenTelemetry `tool.output`. Gli attributi di span contengono il contenuto degli strumenti in base a [condizioni proprie](/docs/it/monitoring-usage#new-context-gates). Richiede il [tracciamento](/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) |

506| `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 in metriche, tracce e 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) |512| `OTEL_LOG_TOOL_DETAILS` | Imposta a `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 errore 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 in metriche, tracce e 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) |

507| `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) |513| `OTEL_LOG_USER_PROMPTS` | Imposta a `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) |

508| `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) |514| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Imposta a `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

509| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Imposta su `true` per includere l'entrypoint della sessione negli attributi delle metriche (predefinito: escluso). Aggiunta nella v2.1.152. Consulta [Monitoraggio](/docs/it/monitoring-usage) |515| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Imposta a `true` per includere l'entrypoint della sessione negli attributi delle metriche (predefinito: escluso). Aggiunta nella v2.1.152. Consulta [Monitoraggio](/docs/it/monitoring-usage) |

510| `OTEL_METRICS_INCLUDE_REPOSITORY` | Imposta su `true` per contrassegnare metriche ed 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) |516| `OTEL_METRICS_INCLUDE_REPOSITORY` | Imposta a `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 successive. Consulta [Attributi del repository](/docs/it/monitoring-usage#repository-attributes) |

511| `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) |517| `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 a `false` per escluderle (predefinito: incluse). Consulta [Monitoraggio](/docs/it/monitoring-usage#multi-team-organization-support) |

512| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta su `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |518| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta a `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

513| `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) |519| `OTEL_METRICS_INCLUDE_VERSION` | Imposta a `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: esclusa). Consulta [Monitoraggio](/docs/it/monitoring-usage) |

514| `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à |520| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sovrascrive il budget di caratteri per i metadati delle skill mostrati allo [strumento Skill](/docs/it/skills#control-who-invokes-a-skill). Il budget si adatta dinamicamente all'1% della finestra di contesto, con un fallback di 8.000 caratteri. Nome legacy mantenuto per compatibilità con le versioni precedenti |

515| `TASK_MAX_OUTPUT_LENGTH` | Rimossa nella v2.1.277 e ora non ha alcun 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 legge invece il file di output di un'attività in background con `Read` |521| `TASK_MAX_OUTPUT_LENGTH` | Rimossa nella v2.1.277 e ora senza effetto, insieme allo strumento `TaskOutput` di cui determinava 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` |

516| `USE_BUILTIN_RIPGREP` | Imposta su `0` per usare `rg` installato nel sistema invece di `rg` incluso in Claude Code |522| `USE_BUILTIN_RIPGREP` | Imposta a `0` per usare `rg` installato nel sistema invece di `rg` incluso con Claude Code |

517| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrive la regione per Claude 3.5 Haiku quando si usa Google Cloud's Agent Platform |523| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrive la regione per Claude 3.5 Haiku quando si usa Google Cloud's Agent Platform |

518| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrive la regione per Claude 3.5 Sonnet quando si usa Google Cloud's Agent Platform |524| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrive la regione per Claude 3.5 Sonnet quando si usa Google Cloud's Agent Platform |

519| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrive la regione per Claude 3.7 Sonnet quando si usa Google Cloud's Agent Platform |525| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrive la regione per Claude 3.7 Sonnet quando si usa Google Cloud's Agent Platform |


537 543 

538Sono 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.544Sono 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.

539 545 

540Imposta `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, timeout e compressione dell'esportazione, come `OTEL_METRIC_EXPORT_INTERVAL`, si applicano comunque anche dalle impostazioni di progetto e locali.546Imposta `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 per intervallo di esportazione, timeout e compressione, come `OTEL_METRIC_EXPORT_INTERVAL`, si applicano comunque dalle impostazioni di progetto e locali.

541 547 

542<h2 id="what-the-subprocess-environment-scrub-removes">548<h2 id="what-the-subprocess-environment-scrub-removes">

543 Cosa rimuove la pulizia dell'ambiente dei sottoprocessi549 Cosa rimuove la pulizia dell'ambiente dei sottoprocessi


590* Usare [lo strumento advisor](/docs/it/advisor#requirements)596* Usare [lo strumento advisor](/docs/it/advisor#requirements)

591* Leggere o rispondere ai [commenti su un artefatto](/docs/it/artifacts#collect-comments-on-an-artifact)597* Leggere o rispondere ai [commenti su un artefatto](/docs/it/artifacts#collect-comments-on-an-artifact)

592* Far leggere a Claude [l'artefatto pubblico di un'altra organizzazione](/docs/it/artifacts#read-an-artifact-shared-with-you)598* Far leggere a Claude [l'artefatto pubblico di un'altra organizzazione](/docs/it/artifacts#read-an-artifact-shared-with-you)

593* Far sondare a Claude Code i server dei connettori claude.ai per la [revisione del protocollo MCP 2026-07-28](/docs/it/mcp#mcp-client-runtimes), a meno che tu non imposti `MCP_PROTOCOL_NEGOTIATION=auto`

594* Ottenere lo [strumento PowerShell](/docs/it/tools-reference#powershell-tool) per impostazione predefinita per gli account claude.ai e Console su Windows con Git Bash installato; Claude Code instrada i comandi della shell tramite Git Bash a meno che tu non imposti `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Su Windows senza Git Bash, lo strumento resta attivo599* Ottenere lo [strumento PowerShell](/docs/it/tools-reference#powershell-tool) per impostazione predefinita per gli account claude.ai e Console su Windows con Git Bash installato; Claude Code instrada i comandi della shell tramite Git Bash a meno che tu non imposti `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Su Windows senza Git Bash, lo strumento resta attivo

595* Ottenere il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), che Claude Code attiva tramite un flag recuperato600* Ottenere il [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), che Claude Code attiva tramite un flag recuperato

596* Fare in modo che Claude [tratti i contenuti incollati di grandi dimensioni come testo incollato anziché digitato](/docs/it/terminal-config#how-claude-treats-pasted-text); il contenuto dietro un segnaposto `[Pasted text #N]` raggiunge Claude senza contrassegni601* Fare in modo che Claude [tratti i contenuti incollati di grandi dimensioni come testo incollato anziché digitato](/docs/it/terminal-config#how-claude-treats-pasted-text); il contenuto dietro un segnaposto `[Pasted text #N]` raggiunge Claude senza contrassegni

errors.md +10 −55

Details

189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Errori di richiesta](#safety-measures-flagged-a-cybersecurity-topic) |189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Errori di richiesta](#safety-measures-flagged-a-cybersecurity-topic) |

190| `` Details: `[reasoning_extraction]` `` | [Errori di richiesta](#safeguards-flagged-a-request-for-claudes-reasoning) |190| `` Details: `[reasoning_extraction]` `` | [Errori di richiesta](#safeguards-flagged-a-request-for-claudes-reasoning) |

191| `API Error: Output blocked by content filtering policy` | [Errori di richiesta](#output-blocked-by-content-filtering-policy) |191| `API Error: Output blocked by content filtering policy` | [Errori di richiesta](#output-blocked-by-content-filtering-policy) |

192| `Installation was killed before it could finish (exit code 137)` | [Errori di installazione](#installation-was-killed-before-it-could-finish) |192| `Installation was killed before it could finish (exit code 137)` | [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install#installation-was-killed-before-it-could-finish) |

193| `The connection dropped while downloading the update` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |193| `The connection dropped while downloading the update` | [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

194| `Download timed out: exceeded the total deadline` | [Errori di installazione](#the-connection-dropped-while-downloading-the-update) |194| `Download timed out: exceeded the total deadline` | [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

195| `--bg and --print conflict` | [Errori della riga di comando](#conflict-between-bg-and-print) |195| `--bg and --print conflict` | [Errori della riga di comando](#conflict-between-bg-and-print) |

196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Errori della riga di comando](#conflict-between-a-system-prompt-flag-and-its-file-form) |196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Errori della riga di comando](#conflict-between-a-system-prompt-flag-and-its-file-form) |

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) |


261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Errori dei plugin](#claude-code-refuses-the-marketplace-name) |261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Errori dei plugin](#claude-code-refuses-the-marketplace-name) |

262| `Marketplace "<name>" is already added from a different source` | [Errori dei plugin](#marketplace-is-already-added-from-a-different-source) |262| `Marketplace "<name>" is already added from a different source` | [Errori dei plugin](#marketplace-is-already-added-from-a-different-source) |

263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Errori dei plugin](#marketplace-name-is-another-spelling-of-a-reserved-name) |263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Errori dei plugin](#marketplace-name-is-another-spelling-of-a-reserved-name) |

264| `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name) |

264| `Marketplace "<name>" is added but ignored` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#marketplace-is-added-but-ignored) |265| `Marketplace "<name>" is added but ignored` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#marketplace-is-added-but-ignored) |

265| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#marketplace-is-added-but-ignored) |266| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#marketplace-is-added-but-ignored) |

266| `references ${user_config.*} in a shell-form command` | [Errori dei plugin](#plugin-command-references-user-config) |267| `references ${user_config.*} in a shell-form command` | [Errori dei plugin](#plugin-command-references-user-config) |


269| `Plugin archive integrity check failed` | [Errori dei plugin](#plugin-archive-integrity-check-failed) |270| `Plugin archive integrity check failed` | [Errori dei plugin](#plugin-archive-integrity-check-failed) |

270| `An npm plugin source must name a registry package` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |271| `An npm plugin source must name a registry package` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

271| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |272| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

273| `does not load (...), so Claude Code ignores the whole file` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

272| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |274| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |

273| `path could not be checked` | [Errori dei plugin](#path-could-not-be-checked) |275| `path could not be checked` | [Errori dei plugin](#path-could-not-be-checked) |

274| `its marketplace entry path does not stay inside the marketplace directory` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |276| `its marketplace entry path does not stay inside the marketplace directory` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


279| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Errori dei plugin](#plugin-was-not-uninstalled) |281| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Errori dei plugin](#plugin-was-not-uninstalled) |

280| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Errori dei plugin](#plugin-was-not-uninstalled) |282| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Errori dei plugin](#plugin-was-not-uninstalled) |

281| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |283| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

284| `Plugin directory does not exist: <path>` | [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting#plugin-directory-does-not-exist) |

282| `Error: No such tool available: <tool name>` | [Errori degli strumenti](#no-such-tool-available) |285| `Error: No such tool available: <tool name>` | [Errori degli strumenti](#no-such-tool-available) |

283| `would be spawned with zero tools — refusing` | [Errori degli strumenti](#agent-would-be-spawned-with-zero-tools) |286| `would be spawned with zero tools — refusing` | [Errori degli strumenti](#agent-would-be-spawned-with-zero-tools) |

284| `File is covered by a Read deny rule in your permission settings` | [Errori degli strumenti](#file-is-covered-by-a-read-deny-rule) |287| `File is covered by a Read deny rule in your permission settings` | [Errori degli strumenti](#file-is-covered-by-a-read-deny-rule) |


386* Un errore del server o una risposta sovraccarica che arriva dopo che Claude ha finito di pensare ma prima di aver iniziato un testo o una chiamata a uno strumento. Claude Code ritenta un errore del server a quel punto fino a due volte. Prima della v2.1.284, Claude Code terminava il turno con l'errore a quel punto.389* Un errore del server o una risposta sovraccarica che arriva dopo che Claude ha finito di pensare ma prima di aver iniziato un testo o una chiamata a uno strumento. Claude Code ritenta un errore del server a quel punto fino a due volte. Prima della v2.1.284, Claude Code terminava il turno con l'errore a quel punto.

387* Connessioni interrotte. Quando una connessione si interrompe a metà di una richiesta prima che Claude abbia completato una qualsiasi parte della sua risposta, incluso il suo ragionamento, Claude Code invia nuovamente la richiesta con lo stesso backoff e il turno continua, anche se del testo aveva già iniziato a essere trasmesso. Quando si interrompe dopo che Claude ha finito di pensare ma prima di aver iniziato un testo o una chiamata a uno strumento, Claude Code invece invia nuovamente la richiesta fino a due volte in rapida successione, e termina il turno con `Connection lost before a response was produced` se la connessione continua a interrompersi a quel punto.390* Connessioni interrotte. Quando una connessione si interrompe a metà di una richiesta prima che Claude abbia completato una qualsiasi parte della sua risposta, incluso il suo ragionamento, Claude Code invia nuovamente la richiesta con lo stesso backoff e il turno continua, anche se del testo aveva già iniziato a essere trasmesso. Quando si interrompe dopo che Claude ha finito di pensare ma prima di aver iniziato un testo o una chiamata a uno strumento, Claude Code invece invia nuovamente la richiesta fino a due volte in rapida successione, e termina il turno con `Connection lost before a response was produced` se la connessione continua a interrompersi a quel punto.

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`.391* 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`.

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`.392* 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 trasmette nuovamente la richiesta in streaming al massimo una volta. 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`.

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.393* 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.394* 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.

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).395* 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).


2910* Riformula il tuo ultimo messaggio o adotta un approccio diverso2913* Riformula il tuo ultimo messaggio o adotta un approccio diverso

2911* Per tornare indietro a un checkpoint prima del turno che ha attivato il blocco, premi Esc due volte o esegui `/rewind`. Vedi [Checkpointing](/docs/it/checkpointing)2914* Per tornare indietro a un checkpoint prima del turno che ha attivato il blocco, premi Esc due volte o esegui `/rewind`. Vedi [Checkpointing](/docs/it/checkpointing)

2912 2915 

2913<h2 id="installation-errors">

2914 Errori di installazione

2915</h2>

2916 

2917Questi errori compaiono durante l'installazione o l'aggiornamento di Claude Code, dallo [script di installazione](/docs/it/setup#install-claude-code), `claude install`, o `claude update`. Per i problemi di `command not found`, PATH, permessi e TLS durante la configurazione, vedere [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install).

2918 

2919<h3 id="installation-was-killed-before-it-could-finish">

2920 L'installazione è stata interrotta prima di poter terminare

2921</h3>

2922 

2923Lo script di installazione segnala quando il passaggio `claude install` viene terminato da un segnale. Su Linux, il codice di uscita 137 significa che il processo ha ricevuto SIGKILL, e su un host con poca memoria è solitamente il killer out-of-memory (OOM) del kernel. Lo script stampa questa spiegazione ed esce con il codice 137:

2924 

2925```text theme={null}

2926Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

2927Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

2928```

2929 

2930Per qualsiasi altro segnale fatale, e per il codice di uscita 137 su macOS, lo script stampa `Installation was killed before it could finish (exit code <N>)` con il codice di uscita effettivo e omette la spiegazione della memoria insufficiente. Il messaggio proviene dallo script di installazione che macOS e Linux utilizzano, che copre anche le installazioni all'interno di WSL; gli script di installazione nativi di Windows non lo stampano mai. Prima della v2.1.200, lo script usciva con solo la riga `Killed` nuda della shell.

2931 

2932**Cosa fare:**

2933 

2934* Interrompere altri processi per liberare memoria, quindi eseguire nuovamente il programma di installazione

2935* Aggiungere spazio di swap o passare a un'istanza più grande. Vedere [Installazione interrotta su server Linux con poca memoria](/docs/it/troubleshoot-install#install-killed-on-low-memory-linux-servers) per i comandi del file di swap.

2936 

2937<h3 id="the-connection-dropped-while-downloading-the-update">

2938 La connessione è stata interrotta durante il download dell'aggiornamento

2939</h3>

2940 

2941La connessione al server di download si è chiusa mentre `claude install` o `claude update` stava recuperando il binario di Claude Code, e i tentativi di ripetizione non hanno recuperato. Claude Code ritenta il download quando la connessione si interrompe, il trasferimento si blocca, o il file scaricato non supera il checksum, fino a tre tentativi in totale. Un errore HTTP completato, come un 404, non viene ritentato perché il server ha già risposto. Prima della v2.1.202, una singola connessione interrotta faceva fallire il download immediatamente con il semplice errore `aborted` invece di ritentare.

2942 

2943```text theme={null}

2944The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

2945```

2946 

2947Il testo tra parentesi nomina quale tentativo ha fallito e l'errore di rete sottostante. `claude update` precede il messaggio con `Error: Failed to install native update` su stderr.

2948 

2949Un download che rimane connesso ma non termina entro 10 minuti fallisce con `Download timed out: exceeded the total deadline` invece. Claude Code non ritenta un download scaduto, perché una connessione troppo lenta per terminare entro il limite non terminerà nemmeno con un tentativo immediato. I passaggi seguenti si applicano a entrambi i messaggi.

2950 

2951Un proxy o un gateway può chiudere un trasferimento lungo prima che termini, e il binario di Claude Code è un download di grandi dimensioni.

2952 

2953**Cosa fare:**

2954 

2955* Eseguire `claude update` di nuovo. Su una rete altrimenti sana, il download di solito ha successo alla prossima esecuzione. Per il messaggio di timeout, eseguirlo di nuovo da una rete più veloce o meno limitata.

2956* Se la rete richiede un proxy, impostare `HTTPS_PROXY` prima di eseguire il programma di installazione o `claude update`. Vedere [Verificare la connettività di rete](/docs/it/troubleshoot-install#check-network-connectivity).

2957* Se un proxy aziendale continua a chiudere il trasferimento, chiedere al team di rete di consentire il download completo da `downloads.claude.ai`. Vedere [Requisiti di accesso alla rete](/docs/it/network-config#network-access-requirements).

2958* Eseguire `claude doctor` dalla shell per la diagnostica dell'installazione

2959 

2960<h2 id="command-line-errors">2916<h2 id="command-line-errors">

2961 Errori della riga di comando2917 Errori della riga di comando

2962</h2>2918</h2>


4064 Marketplace è già aggiunto da una fonte diversa4020 Marketplace è già aggiunto da una fonte diversa

4065</h3>4021</h3>

4066 4022 

4067Hai confermato l'aggiunta di un marketplace tramite [`/plugin install <plugin> --marketplace <source>`](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command), e il catalogo che Claude Code ha recuperato da quella fonte nomina se stesso come un marketplace che hai già aggiunto da una fonte diversa. Claude Code mantiene il marketplace esistente invece di sostituirlo, e il plugin non viene installato.4023Hai indicato una nuova fonte di marketplace con [`--marketplace <source>` nel comando di installazione](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command), in una sessione o dalla tua shell. Il catalogo che Claude Code ha recuperato da quella fonte ha lo stesso nome di un marketplace che hai già aggiunto da una fonte diversa. Claude Code mantiene il marketplace esistente invece di sostituirlo, e il plugin non viene installato.

4068 4024 

4069```text theme={null}4025```text theme={null}

4070Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4026Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.


4817 This session has no saved transcript4773 This session has no saved transcript

4818</h3>4774</h3>

4819 4775 

4820Ti sei collegato a una [sessione in background](/docs/it/agent-view) interrotta che è stata messa in background da un'altra conversazione con `←` o `/background` e interrotta prima che la sua prima risposta finisse. Fino a quando quella prima risposta non finisce, la conversazione vive ancora solo nella sessione da cui è stata messa in background, quindi `claude attach` rifiuta di avviare la sessione interrotta piuttosto che iniziare una conversazione vuota con lo stesso ID di sessione. Il messaggio termina con il comando `claude respawn` per questa sessione:4776Ti sei collegato a una sessione che hai [spostato in background](/docs/it/agent-view#from-inside-a-session) con `←` o `/background` e che si è interrotta prima di eseguire un proprio turno. Claude Code non ha trovato la conversazione da cui l'hai spostata, quindi la sessione non ha nulla da riprendere. Il messaggio termina con il comando `claude respawn` per questa sessione:

4821 4777 

4822```text theme={null}4778```text theme={null}

4823This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4779This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.


4827 4783 

4828**Cosa fare:**4784**Cosa fare:**

4829 4785 

4830* La conversazione che hai messo in background è intatta: riprendila con [`claude --resume`](/docs/it/sessions) o continua a lavorarci4786* Per avviare da zero la sessione interrotta, esegui `claude respawn <id>` con l'ID dal messaggio, o premi `Enter` due volte sulla sua riga nella vista agente

4831* Per avviare comunque da zero la sessione interrotta, esegui `claude respawn <id>` con l'ID dal messaggio, o premi `Enter` due volte sulla sua riga nella vista agente

4832* Se la sessione ha finito una risposta e vedi ancora questo rifiuto su una versione precedente alla v2.1.214, una cartella illeggibile in `~/.claude/projects` potrebbe far sì che la scansione della trascrizione perda la conversazione salvata; aggiorna alla v2.1.214 o successiva, che tollera le cartelle illeggibili durante la scansione4787* Se la sessione ha finito una risposta e vedi ancora questo rifiuto su una versione precedente alla v2.1.214, una cartella illeggibile in `~/.claude/projects` potrebbe far sì che la scansione della trascrizione perda la conversazione salvata; aggiorna alla v2.1.214 o successiva, che tollera le cartelle illeggibili durante la scansione

4833 4788 

4834<h3 id="this-session-is-running-in-another-terminal">4789<h3 id="this-session-is-running-in-another-terminal">

glossary.md +2 −2

Details

465 465 

466Un comando, `/teleport`, che tira una sessione cloud di Claude Code nel tuo terminale locale. Claude recupera il branch, carica la cronologia della conversazione e riprende dallo stato dell'ultima sessione cloud. La direzione inversa è `--cloud`, che invia un'attività locale da eseguire nel cloud.466Un comando, `/teleport`, che tira una sessione cloud di Claude Code nel tuo terminale locale. Claude recupera il branch, carica la cronologia della conversazione e riprende dallo stato dell'ultima sessione cloud. La direzione inversa è `--cloud`, che invia un'attività locale da eseguire nel cloud.

467 467 

468Scopri di più: [From cloud to terminal](/docs/it/claude-code-on-the-web#from-cloud-to-terminal)468Scopri di più: [Continuare una sessione cloud nel tuo terminale](/docs/it/claude-code-on-the-web#from-cloud-to-terminal)

469 469 

470<h3 id="tool">470<h3 id="tool">

471 Tool471 Tool


511 Worktree isolation511 Worktree isolation

512</h3>512</h3>

513 513 

514Una modalità di isolamento che esegue Claude in un worktree git separato in `.claude/worktrees/`, abilitata con il flag `-w` o `isolation: worktree` nella configurazione del subagent. Le modifiche rimangono su un branch separato in una directory separata, in modo che gli agenti paralleli non sovrascrivano i file l'uno dell'altro.514Una modalità di isolamento che esegue Claude in un worktree git separato in `.claude/worktrees/`, abilitata con il flag `-w` o `isolation: worktree` nella configurazione del subagent. Le modifiche rimangono su un branch separato in una directory separata, in modo che ogni agente parallelo modifichi la propria copia dei file.

515 515 

516Scopri di più: [Run parallel sessions with git worktrees](/docs/it/worktrees)516Scopri di più: [Run parallel sessions with git worktrees](/docs/it/worktrees)

517 517 

goal.md +1 −1

Details

127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```128```

129 129 

130Con l'output di testo predefinito, nulla viene stampato finché l'esecuzione non termina, quindi un obiettivo che viene eseguito per molti turni può sembrare bloccato. Aggiungete `--output-format stream-json --verbose` per emettere ogni messaggio mentre il ciclo viene eseguito.130Con l'output di testo predefinito, la risposta finale di Claude viene stampata quando il ciclo termina, quindi un obiettivo che viene eseguito per molti turni può sembrare bloccato. Aggiungi `--output-format stream-json --verbose` per emettere ogni messaggio mentre il ciclo viene eseguito.

131 131 

132Interrompete il processo con Ctrl+C per fermare un obiettivo non interattivo prima che si risolva.132Interrompete il processo con Ctrl+C per fermare un obiettivo non interattivo prima che si risolva.

133 133 

headless.md +13 −11

Details

26* `--allowedTools` per [approvare automaticamente gli strumenti](#auto-approve-tools)26* `--allowedTools` per [approvare automaticamente gli strumenti](#auto-approve-tools)

27* `--output-format` per [ottenere output strutturato](#get-structured-output)27* `--output-format` per [ottenere output strutturato](#get-structured-output)

28 28 

29Questo esempio chiede a Claude una domanda sulla tua base di codice e stampa la risposta:29Questo esempio chiede a Claude una domanda sul tuo codebase e stampa la risposta:

30 30 

31```bash theme={null}31```bash theme={null}

32claude -p "What does the auth module do?"32claude -p "What does the auth module do?"

33```33```

34 34 

35Claude Code esce con codice 0 in caso di successo e con un codice diverso da zero quando l'esecuzione fallisce, quindi i tuoi script possono ramificarsi in base allo stato di uscita. Se passi un flag non valido, Claude Code segnala l'errore a stderr prima dell'inizio dell'esecuzione. Quando un errore si verifica durante l'esecuzione, come l'autenticazione mancante, Claude Code stampa l'errore come risultato su stdout.35Claude Code esce con codice 0 in caso di successo e con un codice diverso da zero quando l'esecuzione fallisce, quindi i tuoi script possono agire in modo diverso in base allo stato di uscita. Se passi un flag non valido, Claude Code segnala l'errore a stderr prima dell'inizio dell'esecuzione. Quando un errore si verifica durante l'esecuzione, come l'autenticazione mancante, Claude Code stampa l'errore come risultato su stdout.

36 36 

37<h3 id="start-faster-with-bare-mode">37<h3 id="start-faster-with-bare-mode">

38 Inizia più velocemente con la modalità bare38 Inizia più velocemente con la modalità bare

39</h3>39</h3>

40 40 

41Aggiungi `--bare` per ridurre il tempo di avvio saltando l'auto-discovery di hooks, skills, comandi personalizzati, [subagenti](/docs/it/sub-agents), plugin installati, server MCP, memoria automatica e CLAUDE.md. Senza di esso, `claude -p` carica lo stesso [contesto](/docs/it/how-claude-code-works#the-context-window) che una sessione interattiva avrebbe, incluso tutto ciò che è configurato nella directory di lavoro o in `~/.claude`.41Aggiungi `--bare` per ridurre il tempo di avvio saltando l'auto-discovery di hook, skill, comandi personalizzati, [subagent](/docs/it/sub-agents), plugin installati, server MCP, memoria automatica e CLAUDE.md. Senza di esso, `claude -p` carica lo stesso [contesto](/docs/it/how-claude-code-works#the-context-window) che una sessione interattiva avrebbe, incluso tutto ciò che è configurato nella directory di lavoro o in `~/.claude`.

42 42 

43La modalità bare è utile per CI e script dove hai bisogno dello stesso risultato su ogni macchina. Un hook nel `~/.claude` di un collega o un server MCP nel `.mcp.json` del progetto non verranno eseguiti, perché la modalità bare non li legge mai. Una directory che nomini con `--add-dir` è un'eccezione parziale: la modalità bare carica skills dalla sua cartella `.claude/skills/`, ma salta comunque le sue cartelle `.claude/commands/` e `.claude/agents/`. [Skills da directory aggiuntive](/docs/it/skills#skills-from-additional-directories) copre ciò che viene e non viene caricato.43La modalità bare è utile per CI e script dove hai bisogno dello stesso risultato su ogni macchina. Un hook nel `~/.claude` di un collega o un server MCP nel `.mcp.json` del progetto non verranno eseguiti, perché la modalità bare non li legge mai. Una directory che nomini con `--add-dir` è un'eccezione parziale: la modalità bare carica le skill dalla sua cartella `.claude/skills/`, ma salta comunque le sue cartelle `.claude/commands/` e `.claude/agents/`. [Skill da directory aggiuntive](/docs/it/skills#skills-from-additional-directories) copre ciò che viene e non viene caricato.

44 44 

45Senza `--bare`, una sessione `-p` esegue gli hook nel `.claude/settings.json` di un progetto e connette i server nel suo `.mcp.json`, anche in una cartella che non hai mai considerato attendibile. Una sessione `-p` non mostra alcuna finestra di dialogo di fiducia dell'area di lavoro e nessun prompt di approvazione per server. [Ciò che viene eseguito prima di considerare attendibile una cartella](/docs/it/permissions#what-runs-before-you-trust-a-folder) copre ogni tipo di contenuto del repository in `-p` e come mantenerlo fuori.45Senza `--bare`, una sessione `-p` esegue gli hook nel `.claude/settings.json` di un progetto e connette i server nel suo `.mcp.json`, anche in una cartella che non hai mai considerato attendibile. Una sessione `-p` non mostra alcuna finestra di dialogo di fiducia del workspace e nessuna richiesta di approvazione per server. [Ciò che viene eseguito prima di considerare attendibile una cartella](/docs/it/permissions#what-runs-before-you-trust-a-folder) copre ogni tipo di contenuto del repository in `-p` e come mantenerlo fuori.

46 46 

47Questo esempio esegue un'attività di riepilogo una tantum in modalità bare e pre-approva lo strumento Read in modo che la chiamata si completi senza un prompt di autorizzazione. Imposta `ANTHROPIC_API_KEY` prima di eseguirlo, perché la modalità bare non utilizza il tuo accesso in abbonamento:47Questo esempio esegue un'attività di riepilogo una tantum in modalità bare e pre-approva lo strumento Read in modo che la chiamata si completi senza una richiesta di permesso. Imposta `ANTHROPIC_API_KEY` prima di eseguirlo, perché la modalità bare non utilizza il tuo accesso in abbonamento:

48 48 

49```bash theme={null}49```bash theme={null}

50claude --bare -p "Summarize README.md" --allowedTools "Read"50claude --bare -p "Summarize README.md" --allowedTools "Read"


84 84 

85L'esecuzione attende il lavoro in background come comandi in background, subagent e workflow, watch di Monitor e risvegli `/loop` in sospeso:85L'esecuzione attende il lavoro in background come comandi in background, subagent e workflow, watch di Monitor e risvegli `/loop` in sospeso:

86 86 

87* **[Comandi in background](/docs/it/tools-reference#background-commands)**: per un comando avviato dalla conversazione principale, ad esempio un server di sviluppo o una build in modalità watch, l'esecuzione attende finché il comando non esce o raggiunge il suo [limite di tempo](/docs/it/tools-reference#time-limit-for-background-commands). Claude esegue quindi un ulteriore turno con l'esito, e il risultato di quel turno diventa l'ultimo dell'esecuzione, ovvero quello stampato dagli output `text` e `json`. Mentre il comando è in esecuzione, il limite di 10 minuti non termina l'attesa.87* **[Comandi in background](/docs/it/tools-reference#background-commands)**: per un comando avviato dalla conversazione principale, ad esempio un server di sviluppo o una build in modalità watch, l'esecuzione attende finché il comando non esce o raggiunge il suo [limite di tempo](/docs/it/tools-reference#time-limit-for-background-commands). Claude esegue quindi un ulteriore turno con l'esito. Mentre il comando è in esecuzione, il limite di 10 minuti non termina l'attesa.

88* **[Subagent](/docs/it/sub-agents) e workflow in background**: l'esecuzione rimane aperta fino al completamento di quel lavoro, perché il suo risultato fa parte dell'output finale.88* **[Subagent](/docs/it/sub-agents) e workflow in background**: l'esecuzione rimane aperta fino al completamento di quel lavoro, perché il suo risultato fa parte dell'output finale.

89* **Watch di [Monitor](/docs/it/tools-reference#monitor-tool)**: l'esecuzione attende finché il watch non scade o il limite di 10 minuti termina l'attesa, a seconda di quale evento si verifica prima. Mentre attende, Claude continua a rispondere a ciò che il watch segnala. Per impostazione predefinita, un watch scade cinque minuti dopo che Claude lo avvia.89* **Watch di [Monitor](/docs/it/tools-reference#monitor-tool)**: l'esecuzione attende finché il watch non scade o il limite di 10 minuti termina l'attesa, a seconda di quale evento si verifica prima. Mentre attende, Claude continua a rispondere a ciò che il watch segnala. Per impostazione predefinita, un watch scade cinque minuti dopo che Claude lo avvia.

90* **Risvegli in sospeso**: in un'esecuzione il cui prompt hai passato come testo anziché con `--input-format stream-json`, quando Claude ha pianificato un [risveglio `/loop` a ritmo autonomo](/docs/it/scheduled-tasks#let-claude-choose-the-interval), l'esecuzione attende che ogni risveglio scatti ed esegue la relativa iterazione finché il [loop non termina](/docs/it/scheduled-tasks#stop-a-loop), anche oltre il limite di 10 minuti.90* **Risvegli in sospeso**: in un'esecuzione il cui prompt hai passato come testo anziché con `--input-format stream-json`, quando Claude ha pianificato un [risveglio `/loop` a ritmo autonomo](/docs/it/scheduled-tasks#let-claude-choose-the-interval), l'esecuzione attende che ogni risveglio scatti ed esegue la relativa iterazione finché il [loop non termina](/docs/it/scheduled-tasks#stop-a-loop), anche oltre il limite di 10 minuti.

91 91 

92Se l'esecuzione raggiunge il limite di [`--max-budget-usd`](/docs/it/cli-reference#cli-flags), Claude Code interrompe il lavoro in background rimanente invece di attendere.92Se l'esecuzione raggiunge il limite di [`--max-budget-usd`](/docs/it/cli-reference#cli-flags), Claude Code interrompe il lavoro in background rimanente invece di attendere.

93 93 

94Quando il lavoro in background avvia un altro turno, l'esecuzione stampa il risultato di ogni turno con l'output `text` predefinito e il risultato dell'ultimo turno con l'output `json`. Prima della v2.1.295, l'esecuzione stampava solo il risultato dell'ultimo turno anche con l'output `text`.

95 

94<h3 id="stop-a-run-with-sigterm">96<h3 id="stop-a-run-with-sigterm">

95 Interrompi un'esecuzione con SIGTERM97 Interrompi un'esecuzione con SIGTERM

96</h3>98</h3>

97 99 

98Se interrompi un'esecuzione di `claude -p` con SIGTERM, ad esempio con `kill` o da un supervisore di processo, Claude Code esce con codice 143. Claude Code lascia il turno che era in corso non completato e non registra alcun risultato per esso. Per terminare il turno invece, invia SIGINT, o chiama `interrupt()` dell'Agent SDK, prima di interrompere il processo.100Se interrompi un'esecuzione di `claude -p` con SIGTERM, ad esempio con `kill` o da un supervisore di processo, Claude Code esce con codice 143. Claude Code lascia il turno che era in corso non completato e non registra alcun risultato per esso. Per terminare il turno invece, invia SIGINT, o chiama `interrupt()` dell'Agent SDK, prima di interrompere il processo.

99 101 

100Su SIGTERM, Claude Code termina l'albero dei processi di qualsiasi comando Bash ancora in esecuzione. Claude Code quindi esegue gli hook [`SessionEnd`](/docs/it/hooks#sessionend) ed esce. Durante l'uscita, Claude Code non avvia alcuna nuova chiamata di strumento, non invia alcuna nuova richiesta di modello e non esegue alcun hook diverso da `SessionEnd`. Se l'esecuzione era nel mezzo di un comando o in attesa di una risposta a un prompt di autorizzazione quando il segnale è arrivato, Claude Code gestisce quel passaggio come segue:102Su SIGTERM, Claude Code termina l'albero dei processi di qualsiasi comando Bash ancora in esecuzione. Claude Code quindi esegue gli hook [`SessionEnd`](/docs/it/hooks#sessionend) ed esce. Durante l'uscita, Claude Code non avvia alcuna nuova chiamata a uno strumento, non invia alcuna nuova richiesta al modello e non esegue alcun hook diverso da `SessionEnd`. Se l'esecuzione era nel mezzo di un comando o in attesa di una risposta a una richiesta di permesso quando il segnale è arrivato, Claude Code gestisce quel passaggio come segue:

101 103 

102* **Esecuzione di un comando**: Claude Code registra il comando come terminato nella sessione.104* **Esecuzione di un comando**: Claude Code registra il comando come terminato nella sessione.

103* **In attesa di una risposta a un prompt di autorizzazione**: se invii SIGTERM al processo, Claude Code lascia il prompt senza risposta. Se il tuo programma chiude la sessione tramite l'Agent SDK, l'SDK termina l'input di Claude Code prima di inviare qualsiasi segnale, e Claude Code annulla il prompt non appena l'input termina.105* **In attesa di una risposta a una richiesta di permesso**: se invii SIGTERM al processo, Claude Code lascia la richiesta senza risposta. Se il tuo programma chiude la sessione tramite l'Agent SDK, l'SDK termina l'input di Claude Code prima di inviare qualsiasi segnale, e Claude Code annulla la richiesta non appena l'input termina.

104 106 

105Quando [riprendi la sessione](#continue-conversations), Claude Code lascia il turno interrotto così com'è, e il tuo prossimo prompt guida la conversazione. Per fare in modo che Claude Code continui il turno interrotto al ripristino, imposta [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/it/env-vars).107Quando [riprendi la sessione](#continue-conversations), Claude Code lascia il turno interrotto così com'è, e il tuo prossimo prompt guida la conversazione. Per fare in modo che Claude Code continui il turno interrotto al ripristino, imposta [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/it/env-vars).

106 108 


262| `type` | `"system"` | tipo di messaggio |264| `type` | `"system"` | tipo di messaggio |

263| `subtype` | `"api_retry"` | identifica questo come un evento di nuovo tentativo |265| `subtype` | `"api_retry"` | identifica questo come un evento di nuovo tentativo |

264| `attempt` | integer | numero del tentativo corrente, a partire da 1 |266| `attempt` | integer | numero del tentativo corrente, a partire da 1 |

265| `max_retries` | integer | nuovi tentativi totali consentiti per la causa di questo errore, che possono essere meno del budget a livello di sessione |267| `max_retries` | integer | nuovi tentativi totali consentiti per la causa di questo errore |

266| `retry_delay_ms` | integer | millisecondi fino al prossimo tentativo |268| `retry_delay_ms` | integer | millisecondi fino al prossimo tentativo |

267| `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 |269| `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 |

268| `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 |270| `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. Richiede Claude Code v2.1.261 o successivo |

269| `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` |271| `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` |

270| `uuid` | string | identificatore evento univoco |272| `uuid` | string | identificatore evento univoco |

271| `session_id` | string | sessione a cui appartiene l'evento |273| `session_id` | string | sessione a cui appartiene l'evento |

hipaa-setup.md +3 −0

Details

139}139}

140```140```

141 141 

142Per un `managed-settings.json` più completo con sandboxing, un'allowlist di rete, protezioni delle credenziali e conservazione dei dati locali, consulta `settings-hipaa.json` e `README-hipaa.md` nel [repository di esempi di impostazioni](https://github.com/anthropics/claude-code/tree/main/examples/settings).

143 

142<h4 id="what-each-key-does">144<h4 id="what-each-key-does">

143 Cosa fa ciascuna chiave145 Cosa fa ciascuna chiave

144</h4>146</h4>


306 308 

307* [Set up Cowork (local mode) for a HIPAA-ready organization](https://claude.com/docs/cowork/hipaa-setup)309* [Set up Cowork (local mode) for a HIPAA-ready organization](https://claude.com/docs/cowork/hipaa-setup)

308* [Distribuire le impostazioni gestite](/docs/it/managed-settings)310* [Distribuire le impostazioni gestite](/docs/it/managed-settings)

311* [Esempio di impostazioni HIPAA](https://github.com/anthropics/claude-code/tree/main/examples/settings)

309* [Configurazione di rete aziendale](/docs/it/network-config)312* [Configurazione di rete aziendale](/docs/it/network-config)

310* [Zero data retention](/docs/it/zero-data-retention)313* [Zero data retention](/docs/it/zero-data-retention)

311* [Aspetti legali e conformità](/docs/it/legal-and-compliance)314* [Aspetti legali e conformità](/docs/it/legal-and-compliance)

hooks.md +124 −35

Details

476| `async` | no | Se `true`, viene eseguito in background senza bloccare. Vedi [Run hooks in the background](#run-hooks-in-the-background) |476| `async` | no | Se `true`, viene eseguito in background senza bloccare. Vedi [Run hooks in the background](#run-hooks-in-the-background) |

477| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude al codice di uscita 2. Lo stderr dell'hook, o stdout se stderr è vuoto, viene mostrato a Claude come un [promemoria di sistema](/docs/it/glossary#system-reminder) in modo che possa reagire a un fallimento di background di lunga durata |477| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude al codice di uscita 2. Lo stderr dell'hook, o stdout se stderr è vuoto, viene mostrato a Claude come un [promemoria di sistema](/docs/it/glossary#system-reminder) in modo che possa reagire a un fallimento di background di lunga durata |

478| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` o `"powershell"`. Impostazione predefinita `"bash"`, o `"powershell"` su Windows quando Git Bash non è installato. L'impostazione di `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente. Ignorato quando `args` è impostato |478| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` o `"powershell"`. Impostazione predefinita `"bash"`, o `"powershell"` su Windows quando Git Bash non è installato. L'impostazione di `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente. Ignorato quando `args` è impostato |

479| `onFailure` | no | Cosa succede all'azione quando l'hook fallisce: `"continue"`, il valore predefinito, o `"block"`. Vedi [Blocca l'azione quando un hook fallisce](#block-the-action-when-a-hook-fails). Richiede Claude Code v2.1.295 o successivo |

479 480 

480<a id="exec-form-and-shell-form" />481<a id="exec-form-and-shell-form" />

481 482 


533| `url` | sì | URL a cui inviare la richiesta POST |534| `url` | sì | URL a cui inviare la richiesta POST |

534| `headers` | no | Header HTTP aggiuntivi come coppie chiave-valore. I valori supportano l'interpolazione delle variabili di ambiente utilizzando la sintassi `$VAR_NAME` o `${VAR_NAME}`. Solo le variabili elencate in `allowedEnvVars` vengono risolte |535| `headers` | no | Header HTTP aggiuntivi come coppie chiave-valore. I valori supportano l'interpolazione delle variabili di ambiente utilizzando la sintassi `$VAR_NAME` o `${VAR_NAME}`. Solo le variabili elencate in `allowedEnvVars` vengono risolte |

535| `allowedEnvVars` | no | Lista di nomi di variabili di ambiente che possono essere interpolate nei valori degli header. I riferimenti alle variabili non elencate vengono sostituiti con stringhe vuote. Obbligatorio affinché avvenga qualsiasi interpolazione di variabili di ambiente |536| `allowedEnvVars` | no | Lista di nomi di variabili di ambiente che possono essere interpolate nei valori degli header. I riferimenti alle variabili non elencate vengono sostituiti con stringhe vuote. Obbligatorio affinché avvenga qualsiasi interpolazione di variabili di ambiente |

537| `onFailure` | no | Cosa succede all'azione quando l'hook fallisce: `"continue"`, il valore predefinito, o `"block"`. Vedi [Blocca l'azione quando un hook fallisce](#block-the-action-when-a-hook-fails). Richiede Claude Code v2.1.295 o successivo |

536 538 

537Claude Code invia l'[input JSON](#hook-input-and-output) dell'hook come corpo della richiesta POST con `Content-Type: application/json`. Il corpo della risposta utilizza lo stesso [formato di output JSON](#json-output) degli hook di comando.539Claude Code invia l'[input JSON](#hook-input-and-output) dell'hook come corpo della richiesta POST con `Content-Type: application/json`. Il corpo della risposta utilizza lo stesso [formato di output JSON](#json-output) degli hook di comando.

538 540 


821 Output del codice di uscita823 Output del codice di uscita

822</h3>824</h3>

823 825 

824Il codice di uscita del comando dell'hook dice a Claude Code se l'azione deve procedere, essere bloccata o essere ignorata. Il codice di uscita non agisce da solo. Claude Code legge i [campi di output JSON](#json-output) da stdout su ogni codice di uscita, non solo 0, e per gli eventi che usano il modello di decisione standard, un oggetto analizzato che supera la convalida dello schema ha effetto insieme al codice. Il blocco di exit 2 è l'unico risultato che JSON non può sovrascrivere.826Il codice di uscita del tuo hook dice a Claude Code se continuare con l'azione che ha attivato l'hook, come una chiamata a uno strumento o un prompt. Un'esecuzione che termina ha uno di tre risultati:

825 827 

826Due tabelle raccolgono le eccezioni per evento: [Exit code 2 behavior per event](#exit-code-2-behavior-per-event) dice cosa fanno i codici di uscita per ogni evento, e [Decision control](#decision-control) dice quali campi di decisione ogni evento rispetta. I campi universali come `systemMessage` funzionano sulla maggior parte degli eventi e sono elencati nella tabella [JSON output](#json-output).828* **Successo**: il tuo hook esce con 0. Claude Code applica tutti i campi di [output JSON](#json-output) che il tuo hook ha stampato, e l'azione procede a meno che quei campi non la blocchino o la neghino.

829* **Errore bloccante**: il tuo hook esce con 2. Sugli [eventi che possono bloccare](#exit-code-2-behavior-per-event), Claude Code interrompe l'azione.

830* **Errore non bloccante**: il tuo hook esce con qualsiasi altro codice, oppure fallisce in qualche altro modo, ad esempio non avviandosi o stampando JSON non valido. L'azione procede, e su eventi come `PreToolUse` vedi un avviso `<hook name> hook error` nella trascrizione. Se vuoi che un hook fallito blocchi l'azione, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

831 

832Ciò che il tuo hook stampa su stdout può cambiare il risultato. Ad esempio, se un hook `PreToolUse` esce con 1 ma stampa JSON che supera la convalida, l'esecuzione è un successo e sono i campi JSON a decidere cosa accade. Per trovare il risultato del tuo hook su un evento come `PreToolUse`, fai corrispondere ciò che ha stampato su stdout nella prima colonna con il suo codice di uscita nella riga in alto:

833 

834| Stdout | Exit 0 | Exit 2 | Qualsiasi altro codice di uscita |

835| :- | :- | :- | :- |

836| Oggetto JSON che supera la [convalida dello schema](#json-output) | Successo. I campi si applicano | Errore bloccante. Claude Code legge comunque i campi, ma non possono sovrascrivere il blocco | Successo. Claude Code ignora il codice di uscita, e decidono solo i campi. Con [`onFailure: "block"`](#block-the-action-when-a-hook-fails), questo conta come un fallimento |

837| JSON che [non può essere analizzato](#exit-code-0) o non supera la convalida dello schema | Errore non bloccante. L'avviso riporta il messaggio di analisi o di convalida | Errore bloccante. Il tuo stderr è il motivo | Errore non bloccante. L'avviso riporta il messaggio di analisi o di convalida |

838| [Testo semplice](#exit-code-0), o niente | Successo | Errore bloccante. Il tuo stderr è il motivo | Errore non bloccante. L'avviso riporta la prima riga del tuo stderr |

839 

840Alcuni eventi hanno regole proprie:

841 

842* **`WorktreeCreate`**: qualsiasi codice di uscita diverso da zero fa fallire la creazione del worktree, indipendentemente da ciò che dice il tuo JSON.

843* **`WorktreeRemove`**: qualsiasi codice di uscita diverso da zero fa fallire la rimozione del worktree se la directory esiste ancora dopo.

844* **`Stop`, `SubagentStop`, `TaskCompleted` e l'hook `UserPromptSubmit` di un plugin**: quando il tuo hook esce con 2 senza nulla su stdout e il suo stderr dice che manca un file, ad esempio `No such file or directory`, Claude Code tratta l'esecuzione come un errore non bloccante.

845* **`Elicitation` e `ElicitationResult`**: Claude Code applica il tuo `hookSpecificOutput` quando il tuo hook esce con 0, e lo ignora su qualsiasi altro codice di uscita.

846* **Eventi che scartano l'output dell'hook, come `StopFailure`**: Claude Code ignora il tuo JSON su qualsiasi codice di uscita, a parte i campi con effetti collaterali come `terminalSequence`, che si attivano comunque.

847 

848Per verificare cosa fa il codice di uscita 2 sul tuo evento, consulta [Exit code 2 behavior per event](#exit-code-2-behavior-per-event). Per verificare quali campi di decisione rispetta, consulta [Decision control](#decision-control).

827 849 

828<h4 id="exit-code-0">850<h4 id="exit-code-0">

829 Exit code 0851 Exit code 0


835 857 

836Se Claude Code legge il tuo stdout come [JSON output](#json-output) o come testo semplice dipende da come inizia e finisce, ignorando gli spazi bianchi circostanti:858Se Claude Code legge il tuo stdout come [JSON output](#json-output) o come testo semplice dipende da come inizia e finisce, ignorando gli spazi bianchi circostanti:

837 859 

838* **Inizia con `{` e finisce con `}`**: Claude Code lo analizza come JSON. Quando l'output è composto da due o più righe che si analizzano ciascuna come JSON da sole, e nessuna riga è un oggetto [JSON output](#json-output) che imposta un campo, Claude Code tratta l'intero output come testo semplice. Quando una di quelle righe imposta un campo, l'intero output è un errore di analisi, descritto di seguito.860* **Inizia con `{` e finisce con `}`**: Claude Code lo analizza come JSON. Quando l'output è composto da due o più righe che si analizzano ciascuna come JSON da sole, e nessuna riga è un oggetto [JSON output](#json-output) che imposta un campo, Claude Code tratta l'intero output come testo semplice. Quando una di quelle righe imposta un campo, l'intero output è un errore di analisi.

839* **Inizia con `{` ma non finisce con `}`**: Claude Code lo tratta come testo semplice.861* **Inizia con `{` ma non finisce con `}`**: Claude Code lo tratta come testo semplice.

840* **Inizia con qualsiasi altra cosa**: Claude Code lo tratta come testo semplice, anche quando è un array JSON o una stringa JSON tra virgolette.862* **Inizia con qualsiasi altra cosa**: Claude Code lo tratta come testo semplice, anche quando è un array JSON o una stringa JSON tra virgolette.

841 863 

842Per gli eventi che usano il modello di decisione standard, exit 0 con un oggetto analizzato che non supera la convalida dello schema è un errore non bloccante: l'azione procede, e la trascrizione mostra un avviso `<hook name> hook error` con il messaggio di convalida. Lo stesso accade su qualsiasi codice di uscita diverso da 2, mentre [exit 2 blocca comunque](#exit-code-2).864Quando Claude Code tenta di analizzare il tuo stdout come JSON e non ci riesce, oppure l'oggetto analizzato non supera la [convalida dello schema](#json-output), l'esecuzione è un [errore non bloccante](#exit-code-output). L'avviso `<hook name> hook error` riporta il messaggio di analisi o di convalida. Sugli eventi che aggiungono lo stdout in testo semplice come contesto, Claude Code non aggiunge lo stdout che non è riuscito ad analizzare.

843 

844Per gli eventi che usano il modello di decisione standard, quando Claude Code tenta di analizzare il tuo stdout come JSON e non ci riesce, segnala un errore non bloccante su ogni codice di uscita diverso da 2. La trascrizione mostra un avviso `<hook name> hook error` con il messaggio di analisi. Sugli eventi che aggiungono lo stdout in testo semplice come contesto, Claude Code non aggiunge il testo. Prima di v2.1.248, Claude Code trattava quello stdout come testo semplice.

845 865 

846Lo stderr di un hook che esce con 0 va solo nel log di debug, mai nella trascrizione, e Claude non lo vede. Per leggerlo tu stesso, abilita il [debug logging](#debug-hooks). Per mostrare un avviso a Claude da un hook `PostToolUse` o `PostToolUseFailure`, esci invece con 2 in modo che [Claude veda lo stderr](#exit-code-2-behavior-per-event) anche se lo strumento è già stato eseguito.866Claude non vede mai lo stderr di un hook che esce con 0. Per leggerlo tu stesso su eventi come `PreToolUse`, abilita il [debug logging](#debug-hooks). Per mostrare un avviso a Claude da un hook `PostToolUse` o `PostToolUseFailure`, esci invece con 2 in modo che [Claude veda lo stderr](#exit-code-2-behavior-per-event) anche se lo strumento è già stato eseguito.

847 867 

848<h4 id="exit-code-2">868<h4 id="exit-code-2">

849 Exit code 2869 Exit code 2

850</h4>870</h4>

851 871 

852Exit 2 significa un errore bloccante. Sugli [eventi che possono bloccare](#exit-code-2-behavior-per-event), exit 2 blocca indipendentemente dal fatto che tu stampi JSON: nemmeno un `permissionDecision` JSON con valore `"allow"` può sovrascriverlo. Claude Code legge comunque qualsiasi [JSON output](#json-output) valido su stdout. Su `Elicitation` e `ElicitationResult`, l'`hookSpecificOutput` di un hook che esce con 2 viene ignorato.872Esci con il codice 2 per bloccare l'azione. Sugli [eventi che possono bloccare](#exit-code-2-behavior-per-event), Claude Code interrompe l'azione: un hook `PreToolUse` blocca la chiamata allo strumento, ad esempio, e un hook `UserPromptSubmit` rifiuta il prompt.

853 873 

854Il messaggio di blocco è il motivo della decisione di blocco del tuo JSON quando ne prende una, e altrimenti il tuo testo stderr. Cosa fa il blocco varia per evento: `PreToolUse` blocca la chiamata allo strumento, `UserPromptSubmit` rifiuta il prompt, e così via. [Exit code 2 behavior per event](#exit-code-2-behavior-per-event) elenca l'effetto per ogni evento, e ogni sezione dell'evento dice dove va il messaggio.874Il messaggio che accompagna il blocco è lo stderr del tuo hook. Se il tuo hook ha stampato anche JSON che prende una decisione di blocco, Claude Code usa invece il motivo di quella decisione.

855 875 

856Un hook che esce con 2 mentre stampa JSON che non supera la convalida dello schema [JSON output](#json-output) blocca comunque: Claude Code usa stderr come motivo di blocco e registra l'errore di convalida nel log di debug. Prima di v2.1.214, Claude Code trattava quella combinazione come un errore non bloccante e l'azione procedeva.876Exit 2 blocca anche quando il tuo hook stampa JSON:

877 

878* **JSON che supera la convalida dello schema**: Claude Code legge comunque i campi di [JSON output](#json-output), ma non possono sovrascrivere il blocco. Nemmeno un `permissionDecision` con valore `"allow"` lascia passare l'azione. Su `Elicitation` e `ElicitationResult`, l'`hookSpecificOutput` di un hook che esce con 2 viene ignorato.

879* **JSON che non supera la convalida dello schema**: l'hook blocca comunque. Claude Code usa il tuo stderr come motivo di blocco e registra l'errore di convalida nel log di debug.

857 880 

858Questo script blocca i comandi `rm` uscendo con 2 e lascia ogni altro comando al normale flusso dei permessi:881Questo script blocca i comandi `rm` uscendo con 2 e lascia ogni altro comando al normale flusso dei permessi:

859 882 


871exit 0 # Nessuna decisione: si applica il normale flusso dei permessi894exit 0 # Nessuna decisione: si applica il normale flusso dei permessi

872```895```

873 896 

897Con questo script registrato come hook `PreToolUse` su `Bash`, un comando che inizia con `rm` viene bloccato, e Claude riceve lo stderr dell'hook come errore dello strumento, preceduto dal nome dell'evento, dal nome dello strumento e dal comando dell'hook:

898 

899```text theme={null}

900PreToolUse:Bash hook error: [${CLAUDE_PROJECT_DIR}/.claude/hooks/no-rm.sh]: Blocked: rm commands are not allowed

901```

902 

874<h4 id="other-exit-codes">903<h4 id="other-exit-codes">

875 Altri codici di uscita904 Altri codici di uscita

876</h4>905</h4>

877 906 

878Qualsiasi altro codice di uscita non blocca da solo per la maggior parte degli eventi hook. Cosa accade dipende dal tuo stdout:907Quando il tuo hook esce con un codice diverso da 0 o 2 e stampa testo semplice o niente su stdout, l'esecuzione è un [errore non bloccante](#exit-code-output). Vedi un avviso `<hook name> hook error` nella trascrizione con `Failed with non-blocking status code:` e la prima riga dello stderr del tuo hook. Ad esempio, quando un hook `PreToolUse` su `Bash` stampa `something broke` su stderr ed esce con 1, l'avviso `PreToolUse:Bash hook error` riporta questa riga:

879 908 

880* Con un oggetto analizzato che supera la convalida dello schema, per gli eventi che usano il modello di decisione standard, Claude Code ignora il codice di uscita e solo il JSON decide il risultato:909```text theme={null}

881 * Ogni campo che l'evento supporta viene rispettato, inclusi `permissionDecision`, `additionalContext`, `updatedInput` e `systemMessage`, e l'hook non viene segnalato come errore.910Failed with non-blocking status code: something broke

882 * [Decision control](#decision-control) elenca i campi di decisione per evento; i campi universali come `systemMessage` seguono la tabella [JSON output](#json-output).911```

883* Con un oggetto analizzato che non supera la convalida dello schema, per gli eventi che usano il modello di decisione standard, è lo stesso errore non bloccante [di exit 0](#exit-code-0): l'azione procede, e l'avviso `<hook name> hook error` riporta il messaggio di convalida.

884* Con stdout che Claude Code [tenta di analizzare come JSON](#exit-code-0) senza riuscirci, Claude Code segnala lo stesso errore non bloccante di exit 0 per gli eventi che usano il modello di decisione standard. L'azione procede, e l'avviso riporta il messaggio di analisi.

885* Con stdout che Claude Code [tratta come testo semplice](#exit-code-0), o con stdout vuoto, è un errore non bloccante per la maggior parte degli eventi hook: l'azione procede, e la trascrizione mostra un avviso `<hook name> hook error` seguito dalla prima riga di stderr, con il prefisso `Failed with non-blocking status code:`. Per acquisire lo stderr completo, abilita il [debug logging](#debug-hooks).

886 912 

887Gli eventi al di fuori del modello di decisione standard mantengono le loro proprie righe nella [tabella per evento](#exit-code-2-behavior-per-event): `WorktreeCreate` fa fallire la creazione su qualsiasi uscita diversa da zero indipendentemente da ciò che dice il tuo JSON, e gli eventi che scartano completamente l'output dell'hook, come `StopFailure`, ignorano il tuo JSON su ogni codice di uscita, a parte i campi con effetti collaterali come `terminalSequence`, che si attivano comunque.913Per acquisire lo stderr completo anziché la sua prima riga, abilita il [debug logging](#debug-hooks).

888 914 

889Un hook che non riesce ad avviarsi finisce nella stessa categoria non bloccante. Quando il percorso dello script non esiste o non è eseguibile, la shell esce con un codice come 127 e vedi lo stesso avviso con il messaggio dell'interprete, ad esempio `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Per la maggior parte degli eventi hook, l'azione procede. Quando configuri un hook di policy, controlla se compare questo avviso alla sua prima esecuzione: un percorso digitato male in `settings.json` lascia il controllo silenziosamente disabilitato.915Anche un hook che non riesce ad avviarsi è un errore non bloccante. In forma shell, quando il percorso dello script non esiste o non è eseguibile, la shell esce con un codice come 127 e l'avviso riporta il messaggio dell'interprete, ad esempio `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Quando configuri un hook di policy, controlla se compare questo avviso alla sua prima esecuzione, perché un percorso digitato male in `settings.json` significa che l'hook non viene mai eseguito. Per bloccare invece l'azione, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

890 916 

891<Warning>917<Warning>

892 Per la maggior parte degli eventi hook, il codice di uscita 2 è l'unico codice di uscita che blocca solo attraverso il codice. Senza JSON valido su stdout, Claude Code tratta il codice di uscita 1 come un errore non bloccante e procede con l'azione, anche se 1 è il codice di errore Unix convenzionale. Se il tuo hook è destinato ad applicare una policy, usa `exit 2`. Gli eventi worktree sono diversi: qualsiasi codice di uscita diverso da zero da `WorktreeCreate` interrompe la creazione del worktree, e qualsiasi codice di uscita diverso da zero da `WorktreeRemove` fa fallire la rimozione del worktree se la directory esiste ancora dopo.918 Senza JSON valido su stdout, Claude Code tratta il codice di uscita 1 come un errore non bloccante, anche se 1 è il codice di errore Unix convenzionale. Se il tuo hook è destinato ad applicare una policy, usa `exit 2`.

893</Warning>919</Warning>

894 920 

895<h4 id="timeouts">921<h4 id="timeouts">


900 926 

901Su [`PreModelSwitch`](#premodelswitch), un hook annullato al suo timeout blocca il cambio di modello. Su `PreToolUse`, le due famiglie di hook si comportano diversamente:927Su [`PreModelSwitch`](#premodelswitch), un hook annullato al suo timeout blocca il cambio di modello. Su `PreToolUse`, le due famiglie di hook si comportano diversamente:

902 928 

903* Un hook `command`, `http` o `mcp_tool` scaduto non blocca la chiamata allo strumento. La chiamata continua attraverso il normale [flusso dei permessi](/docs/it/permissions), quindi non contare su un hook bloccato perché agisca da controllo.929* Un hook `command`, `http` o `mcp_tool` scaduto non blocca la chiamata allo strumento. La chiamata continua attraverso il normale [flusso dei permessi](/docs/it/permissions), quindi non contare su un hook bloccato perché agisca da controllo. Per bloccare la chiamata quando un hook `command` o `http` va in timeout, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

904* Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) che supera il suo timeout [blocca la chiamata allo strumento](#pretooluse).930* Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) che supera il suo timeout [blocca la chiamata allo strumento](#pretooluse).

905 931 

932<h4 id="block-the-action-when-a-hook-fails">

933 Bloccare l'azione quando un hook fallisce

934</h4>

935 

936Sulla maggior parte degli eventi, quando un hook fallisce o va in timeout, Claude Code esegue comunque l'azione, quindi un hook di policy con un percorso sbagliato o uno script che si arresta in modo anomalo lascia passare tutto. Per bloccare invece l'azione, imposta `"onFailure": "block"` su un hook `command` o `http`. Il valore predefinito è `"continue"`. Richiede Claude Code v2.1.295 o successivo.

937 

938Questo hook `PreToolUse` in `.claude/settings.json` esegue uno script di progetto prima di ogni comando Bash, e blocca il comando se lo script fallisce:

939 

940```json theme={null}

941{

942 "hooks": {

943 "PreToolUse": [

944 {

945 "matcher": "Bash",

946 "hooks": [

947 {

948 "type": "command",

949 "command": "node",

950 "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js"],

951 "onFailure": "block"

952 }

953 ]

954 }

955 ]

956 }

957}

958```

959 

960Per provarlo, lascia mancante `check-command.js` e chiedi a Claude di eseguire un comando Bash come `ls`. Claude Code blocca la chiamata, e l'errore include `failed; blocking because onFailure is "block"` seguito dall'output di errore di node, qui ridotto a una riga:

961 

962```text theme={null}

963PreToolUse:Bash hook error: [node ${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js]: failed; blocking because onFailure is "block"

964Error: Cannot find module '/path/to/project/.claude/hooks/check-command.js'

965```

966 

967Dopo un timeout, il messaggio dice `timed out` invece di `failed`. Senza `onFailure` impostato, lo stesso script mancante è un errore non bloccante e `ls` viene eseguito.

968 

969Ciascuno dei seguenti casi conta come un fallimento:

970 

971* **Impossibile avviarsi**: un command hook non riesce ad avviarsi, ad esempio perché lo script o l'eseguibile non esiste

972* **Codice di uscita diverso da 0 o 2**: conta per un command hook anche se ha stampato JSON che consente l'azione, come `permissionDecision: "allow"`. Per restituire una decisione JSON, esci con 0

973* **Errore HTTP**: la connessione di un HTTP hook fallisce, oppure lo stato della risposta non è 2xx

974* **Timeout**: l'hook raggiunge il suo [`timeout`](#common-fields)

975* **Output non valido**: l'output JSON [non può essere analizzato](#exit-code-0) o non supera la [convalida dello schema](#json-output). Per un HTTP hook, conta anche un corpo 2xx che non è né vuoto né un oggetto JSON. Lo stdout in testo semplice di un command hook non è un fallimento

976 

977Con `"block"` impostato, un fallimento fa ciò che fa il [codice di uscita 2 su quell'evento](#exit-code-2-behavior-per-event), tranne su `PermissionRequest`, dove nega la richiesta. Ad esempio, un fallimento di `PreToolUse` blocca la chiamata allo strumento e un fallimento di `UserPromptSubmit` blocca il prompt.

978 

979Il campo non ha effetto su questi hook:

980 

981* **Hook `Stop`, `SubagentStop`, `TaskCompleted` e `TeammateIdle`**: il codice di uscita 2 su questi eventi rimanda Claude a continuare a lavorare, e Claude non può riparare un hook che non viene eseguito

982* **Command hook in background**: i command hook che impostano [`async` o `asyncRewake`](#run-hooks-in-the-background)

983 

906<h4 id="exit-code-2-behavior-per-event">984<h4 id="exit-code-2-behavior-per-event">

907 Exit code 2 behavior per event985 Exit code 2 behavior per event

908</h4>986</h4>


960* **Errore di connessione**: errore non bloccante, l'esecuzione continua1038* **Errore di connessione**: errore non bloccante, l'esecuzione continua

961* **Timeout**: l'hook viene annullato, come descritto in [Timeouts](#timeouts)1039* **Timeout**: l'hook viene annullato, come descritto in [Timeouts](#timeouts)

962 1040 

963A differenza dei command hook, gli HTTP hook non possono segnalare un errore bloccante solo attraverso i codici di stato. Per bloccare una chiamata a uno strumento o negare un permesso, restituisci una risposta 2xx con un corpo JSON contenente i campi di decisione appropriati.1041Gli HTTP hook non possono segnalare un errore bloccante solo attraverso il codice di stato: uno stato non-2xx o una connessione fallita è un [errore non bloccante](#exit-code-output). Per bloccare una chiamata a uno strumento o negare un permesso, restituisci una risposta 2xx con un corpo JSON contenente i campi di decisione appropriati. Per bloccare l'azione quando la richiesta fallisce o restituisce uno stato non-2xx, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

964 1042 

965<h3 id="json-output">1043<h3 id="json-output">

966 Output JSON1044 Output JSON


1237 Controllo delle decisioni di SessionStart1315 Controllo delle decisioni di SessionStart

1238</h4>1316</h4>

1239 1317 

1240Claude Code aggiunge al contesto di Claude lo stdout che [tratta come testo semplice](#exit-code-0). Oltre ai [campi di output JSON](#json-output) disponibili per tutti gli hook, puoi restituire questi campi specifici dell'evento:1318Un hook SessionStart può aggiungere contesto per Claude, fornire il primo messaggio dell'utente, impostare il titolo della sessione, monitorare file e ricaricare le skill. Restituisci il campo corrispondente a ciascuna di queste azioni, oltre ai [campi di output JSON](#json-output) disponibili per tutti gli hook:

1241 1319 

1242| Campo | Descrizione |1320| Campo | Descrizione |

1243| :- | :- |1321| :- | :- |

1244| `additionalContext` | Stringa aggiunta al contesto di Claude all'inizio della conversazione, prima del primo prompt. Consulta [Aggiungere contesto per Claude](#add-context-for-claude) per sapere come viene consegnato il testo e cosa inserirvi |1322| `additionalContext` | Stringa aggiunta al contesto di Claude all'inizio della conversazione, prima del primo prompt. Consulta [Aggiungere contesto per Claude](#add-context-for-claude) per sapere come viene consegnato il testo e cosa inserirvi |

1245| `initialUserMessage` | Stringa usata come primo messaggio utente della sessione. Si applica in [modalità non interattiva](/docs/it/headless) con il flag `-p`, dove diventa il primo turno anche se non viene fornito alcun prompt. Se viene fornito un prompt, questo segue come turno successivo. A differenza di `additionalContext`, che si collega a un turno esistente, questo crea il turno |1323| `initialUserMessage` | Stringa usata come primo messaggio dell'utente della sessione, in [modalità non interattiva](/docs/it/headless) con il flag `-p`. Diventa il primo turno anche se non passi alcun prompt. Un prompt che passi lo segue come turno successivo |

1246| `sessionTitle` | Imposta il titolo della sessione, con lo stesso effetto di `/rename`. Usalo per assegnare automaticamente un nome alle sessioni in base alla cartella di avvio, al branch git o al nome del worktree. Si applica quando `source` è `"startup"`, `"resume"` o `"fork"`; viene ignorato con `"clear"` e `"compact"` |1324| `sessionTitle` | Imposta il titolo della sessione, con lo stesso effetto di `/rename`. Si applica quando `source` è `"startup"`, `"resume"` o `"fork"` |

1247| `watchPaths` | Array di percorsi assoluti da monitorare per gli eventi [FileChanged](#filechanged) durante questa sessione |1325| `watchPaths` | Array di percorsi assoluti da monitorare per gli eventi [FileChanged](#filechanged) durante questa sessione |

1248| `reloadSkills` | Booleano. Quando è `true`, Claude Code esegue una nuova scansione delle directory delle [skill](/docs/it/skills) e dei comandi dopo il completamento degli hook SessionStart, così le skill installate dall'hook sono disponibili nella stessa sessione, a partire dal primo prompt |1326| `reloadSkills` | Booleano. Quando è `true`, Claude Code analizza di nuovo le directory delle [skill](/docs/it/skills) e dei comandi dopo il completamento degli hook SessionStart. Consulta [Ricaricare le skill installate da un hook](#reload-skills-that-a-hook-installs) |

1327 

1328Questo output aggiunge contesto e assegna un nome alla sessione:

1249 1329 

1250```json theme={null}1330```json theme={null}

1251{1331{


1257}1337}

1258```1338```

1259 1339 

1260Poiché per questo evento lo stdout semplice raggiunge già Claude, un hook che carica solo contesto può stampare direttamente su stdout senza costruire JSON. Usa la forma JSON quando devi combinare il contesto con altri campi come `sessionTitle`.1340Un hook che aggiunge solo contesto può stamparlo senza costruire JSON, perché Claude Code aggiunge lo [stdout in testo semplice](#exit-code-0) di un hook SessionStart al contesto di Claude.

1341 

1342Se l'hook SessionStart del tuo plugin fornisce `initialUserMessage` o `sessionTitle`, installa il plugin prima dell'avvio della sessione. Claude Code ignora entrambi i campi provenienti da un plugin la cui installazione termina dopo che gli hook SessionStart sono stati eseguiti.

1343 

1344<h4 id="reload-skills-that-a-hook-installs">

1345 Ricaricare le skill installate da un hook

1346</h4>

1347 

1348Per rendere disponibili nella stessa sessione le skill installate da un hook SessionStart, restituisci `reloadSkills`. Il rilevamento delle skill viene normalmente eseguito prima che gli hook SessionStart terminino, quindi senza questo campo i file che un hook scrive in `~/.claude/skills/` o `.claude/skills/` possono mancare quando viene eseguito il primo prompt.

1261 1349 

1262Usa `reloadSkills` quando un hook SessionStart installa o aggiorna skill. Il rilevamento delle skill normalmente viene eseguito prima che gli hook SessionStart terminino, quindi i file che l'hook scrive in `~/.claude/skills/` o `.claude/skills/` altrimenti apparirebbero solo nella sessione successiva. Questo esempio sincronizza un repository di skill condiviso e richiede la nuova scansione:1350Questo esempio sincronizza un repository di skill condiviso e richiede la nuova analisi:

1263 1351 

1264```bash theme={null}1352```bash theme={null}

1265#!/bin/bash1353#!/bin/bash


1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1358echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1271```1359```

1272 1360 

1273L'URL del repository è un segnaposto; sostituiscilo con il tuo repository di skill. Con il segnaposto, il clone fallisce e stampa un messaggio `fatal:` su stderr. Lo stderr di un hook SessionStart che esce con 0 è solo informativo, quindi la richiesta `reloadSkills` si applica comunque.1361L'URL del repository è un segnaposto. Sostituiscilo con il tuo repository di skill.

1274 1362 

1275<h4 id="persist-environment-variables">1363<h4 id="persist-environment-variables">

1276 Rendere persistenti le variabili d'ambiente1364 Rendere persistenti le variabili d'ambiente


1419 1507 

1420Gli hook `UserPromptSubmit` hanno un timeout predefinito di 30 secondi per i tipi `command`, `http` e `mcp_tool`, più breve del valore predefinito di 600 secondi per quei tipi nella maggior parte degli altri eventi. Poiché questo hook viene eseguito prima di ogni prompt e blocca l'elaborazione del modello finché non termina, un hook bloccato paralizza la sessione. Se il tuo hook ha bisogno di più tempo, imposta il campo `timeout` nella voce dell'hook.1508Gli hook `UserPromptSubmit` hanno un timeout predefinito di 30 secondi per i tipi `command`, `http` e `mcp_tool`, più breve del valore predefinito di 600 secondi per quei tipi nella maggior parte degli altri eventi. Poiché questo hook viene eseguito prima di ogni prompt e blocca l'elaborazione del modello finché non termina, un hook bloccato paralizza la sessione. Se il tuo hook ha bisogno di più tempo, imposta il campo `timeout` nella voce dell'hook.

1421 1509 

1422A parte un hook di comando che esegui con [`async: true`](#run-hooks-in-the-background), un hook di comando, HTTP o di strumento MCP su `UserPromptSubmit` che raggiunge il timeout viene annullato e il suo output, incluso qualsiasi `additionalContext`, viene scartato. Il prompt raggiunge comunque Claude senza quel contesto. La trascrizione mostra un avviso che indica l'hook, il timeout scattato e che l'output è stato scartato.1510Fatta eccezione per un hook di comando che esegui con [`async: true`](#run-hooks-in-the-background), un hook `UserPromptSubmit` di comando, HTTP o strumento MCP che raggiunge il suo timeout viene annullato e il suo output, incluso qualsiasi `additionalContext`, viene scartato. Il prompt raggiunge comunque Claude senza quel contesto. Per bloccare invece il prompt, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails) su un hook di comando o HTTP. La trascrizione mostra un avviso che indica l'hook, il timeout scattato e il fatto che l'output è stato scartato.

1423 1511 

1424Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) su `UserPromptSubmit` che raggiunge il timeout blocca il prompt con un messaggio che indica l'hook e il timeout, perché lì un callback può fungere da controllo di policy che non deve fallire in modo permissivo. La sessione continua. Prima della v2.1.208, un timeout di callback su quell'evento terminava il turno con un errore di esecuzione.1512Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) su `UserPromptSubmit` che raggiunge il timeout blocca il prompt con un messaggio che indica l'hook e il timeout, perché lì un callback può fungere da controllo di policy che non deve fallire in modo permissivo. La sessione continua. Prima della v2.1.208, un timeout di callback su quell'evento terminava il turno con un errore di esecuzione.

1425 1513 


1860| :- | :- | :- | :- |1948| :- | :- | :- | :- |

1861| `url` | string | `"https://example.com/api"` | URL da cui recuperare il contenuto |1949| `url` | string | `"https://example.com/api"` | URL da cui recuperare il contenuto |

1862| `prompt` | string | `"Extract the API endpoints"` | Prompt da eseguire sul contenuto recuperato |1950| `prompt` | string | `"Extract the API endpoints"` | Prompt da eseguire sul contenuto recuperato |

1951| `offset` | number | `100000` | Numero facoltativo di caratteri da saltare dall'inizio della pagina. Claude lo imposta per continuare a leggere una pagina lunga. Richiede Claude Code v2.1.290 o successiva |

1863 1952 

1864<h5 id="websearch">1953<h5 id="websearch">

1865 WebSearch1954 WebSearch


2112| `message` | Solo per `"deny"`: comunica a Claude perché il permesso è stato negato |2201| `message` | Solo per `"deny"`: comunica a Claude perché il permesso è stato negato |

2113| `interrupt` | Solo per `"deny"`: se `true`, ferma Claude |2202| `interrupt` | Solo per `"deny"`: se `true`, ferma Claude |

2114 2203 

2115Un hook che esce con 2 senza un oggetto `decision` lascia invariato il flusso dei permessi, e il suo stderr viene scartato. Solo l'oggetto `decision` può concedere o negare la richiesta.2204Un hook che esce con codice 2 senza un oggetto `decision` lascia invariato il flusso dei permessi, e il suo stderr viene scartato. Per concedere o negare la richiesta, restituisci l'oggetto `decision`.

2116 2205 

2117```json theme={null}2206```json theme={null}

2118{2207{


2678 Controllo delle decisioni di TaskCreated2767 Controllo delle decisioni di TaskCreated

2679</h4>2768</h4>

2680 2769 

2681Un hook TaskCreated può bloccare la creazione in due modi. In entrambi i casi, Claude Code elimina l'attività e restituisce il tuo messaggio a Claude come errore dello strumento. Claude Code ignora `continue: false` da questo evento e Claude continua a lavorare.2770Un hook TaskCreated può bloccare la creazione con il codice di uscita 2 o con una decisione JSON. In entrambi i casi, Claude Code elimina il task e restituisce il tuo messaggio a Claude come errore dello strumento. Claude Code ignora `continue: false` da questo evento e Claude continua a lavorare.

2682 2771 

2683* **Codice di uscita 2**: Claude Code restituisce il testo di stderr come messaggio.2772* **Codice di uscita 2**: Claude Code restituisce il testo di stderr come messaggio.

2684* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code restituisce `reason` come messaggio.2773* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code restituisce `reason` come messaggio.


3561 3650 

3562Claude Code mostra all'utente qualsiasi `systemMessage` restituito dal tuo hook indipendentemente dalla decisione, quindi un hook che riporta i costi può restituire `{"systemMessage": "..."}` e uscire con 0.3651Claude Code mostra all'utente qualsiasi `systemMessage` restituito dal tuo hook indipendentemente dalla decisione, quindi un hook che riporta i costi può restituire `{"systemMessage": "..."}` e uscire con 0.

3563 3652 

3564Un hook PreModelSwitch che non risponde prima del suo timeout blocca il cambio. Per [PreToolUse](#timeouts), invece, un hook di comando andato in timeout lascia proseguire la chiamata allo strumento. Il timeout predefinito per questo evento è di 30 secondi. `PreModelSwitch` esegue solo hook `command`, `http` e `mcp_tool`, quindi i valori predefiniti di `prompt` e `agent` non si applicano.3653Un hook PreModelSwitch che non risponde prima del suo timeout blocca il cambio. Per sapere cosa fa un timeout negli altri eventi, consulta [Timeout](#timeouts). Il timeout predefinito per questo evento è di 30 secondi. `PreModelSwitch` esegue solo hook `command`, `http` e `mcp_tool`, quindi i valori predefiniti di `prompt` e `agent` non si applicano.

3565 3654 

3566Un hook che esce con un codice diverso da 0 o 2 e non stampa alcuna decisione JSON non blocca: Claude Code mostra il suo stderr e applica il cambio, come descritto in [Altri codici di uscita](#other-exit-codes).3655Un hook che esce con un codice diverso da 0 o 2 e non stampa alcuna decisione JSON è un errore non bloccante, come descritto in [Altri codici di uscita](#other-exit-codes).

3567 3656 

3568<h3 id="postmodelswitch">3657<h3 id="postmodelswitch">

3569 PostModelSwitch3658 PostModelSwitch


4279Gli hook asincroni hanno vincoli aggiuntivi rispetto agli hook sincroni:4368Gli hook asincroni hanno vincoli aggiuntivi rispetto agli hook sincroni:

4280 4369 

4281* L'output del hook viene consegnato al turno di conversazione successivo. Se la sessione è inattiva, la risposta attende fino alla prossima interazione dell'utente. Eccezione: un hook `asyncRewake` che esce con il codice 2 riattiva Claude immediatamente anche quando la sessione è inattiva.4370* L'output del hook viene consegnato al turno di conversazione successivo. Se la sessione è inattiva, la risposta attende fino alla prossima interazione dell'utente. Eccezione: un hook `asyncRewake` che esce con il codice 2 riattiva Claude immediatamente anche quando la sessione è inattiva.

4282* Ogni esecuzione crea un processo in background separato. Non c'è deduplicazione tra più attivazioni dello stesso hook asincrono.4371* Ogni esecuzione crea un processo in background separato.

4283 4372 

4284<h2 id="security-considerations">4373<h2 id="security-considerations">

4285 Considerazioni sulla sicurezza4374 Considerazioni sulla sicurezza

hooks-guide.md +13 −10

Details

242 242 

243Per testare l'hook, chiedete a Claude di aggiungere una riga con stringhe tra virgolette singole a un file JavaScript, quindi aprite il file: con le impostazioni predefinite di Prettier, l'hook le riscrive in virgolette doppie.243Per testare l'hook, chiedete a Claude di aggiungere una riga con stringhe tra virgolette singole a un file JavaScript, quindi aprite il file: con le impostazioni predefinite di Prettier, l'hook le riscrive in virgolette doppie.

244 244 

245Quando l'hook ha successo, Claude Code non mostra nulla nella conversazione. Per confermare che l'hook è stato eseguito, controllate che il file modificato sia riformattato, o consultate [Tecniche di debug](#debug-techniques).245Quando l'hook ha successo, Claude Code non mostra nulla nella conversazione. Per confermare che l'hook è stato eseguito, controlla che il file modificato sia stato riformattato, oppure consulta [Verificare cosa ha fatto un hook](#check-what-a-hook-did).

246 246 

247Per riformattare un file specifico comunque cambi, incluso quando un comando `Bash` lo riscrive, utilizzate un hook [FileChanged](/docs/it/hooks#filechanged) invece.247Per riformattare un file specifico comunque cambi, incluso quando un comando `Bash` lo riscrive, utilizzate un hook [FileChanged](/docs/it/hooks#filechanged) invece.

248 248 


979}979}

980```980```

981 981 

982L'endpoint dovrebbe restituire un corpo di risposta JSON utilizzando lo stesso [formato di output](/docs/it/hooks#json-output) degli hook di comando. Per bloccare una chiamata di strumento, restituite una risposta 2xx con i campi `hookSpecificOutput` appropriati. I codici di stato HTTP da soli non possono bloccare le azioni.982Il tuo endpoint risponde con un corpo JSON nello stesso [formato di output](/docs/it/hooks#json-output) degli hook di comando, e Claude Code controlla anche lo stato della risposta:

983 

984* **Stato 2xx**: per bloccare una chiamata a uno strumento, restituisci i campi `hookSpecificOutput` appropriati nel corpo.

985* **Qualsiasi altro stato, o la richiesta non riesce**: Claude Code segnala un [errore non bloccante](/docs/it/hooks#exit-code-output) e lascia proseguire l'azione. Per fare in modo che un endpoint non riuscito blocchi l'azione, imposta [`onFailure: "block"`](/docs/it/hooks#block-the-action-when-a-hook-fails) sull'hook.

983 986 

984I valori dell'intestazione supportano l'interpolazione delle variabili di ambiente utilizzando la sintassi `$VAR_NAME` o `${VAR_NAME}`. Solo le variabili elencate nell'array `allowedEnvVars` vengono risolte; tutti gli altri riferimenti `$VAR` rimangono vuoti.987I valori dell'intestazione supportano l'interpolazione delle variabili di ambiente utilizzando la sintassi `$VAR_NAME` o `${VAR_NAME}`. Solo le variabili elencate nell'array `allowedEnvVars` vengono risolte; tutti gli altri riferimenti `$VAR` rimangono vuoti.

985 988 


1103 1106 

1104Quando il tuo hook restituisce `permissionDecision` o `additionalContext` al livello superiore invece che all'interno di `hookSpecificOutput`, il JSON viene comunque interpretato, e Claude Code ignora i campi fuori posto senza segnalare errori. Per vedere quali campi ha ignorato, avvia Claude Code con `claude --debug` e cerca `Hook JSON output had unrecognized keys` nel [log di debug](/docs/it/hooks#debug-hooks).1107Quando il tuo hook restituisce `permissionDecision` o `additionalContext` al livello superiore invece che all'interno di `hookSpecificOutput`, il JSON viene comunque interpretato, e Claude Code ignora i campi fuori posto senza segnalare errori. Per vedere quali campi ha ignorato, avvia Claude Code con `claude --debug` e cerca `Hook JSON output had unrecognized keys` nel [log di debug](/docs/it/hooks#debug-hooks).

1105 1108 

1106<h3 id="debug-techniques">1109<h3 id="check-what-a-hook-did">

1107 Tecniche di debug1110 Verificare cosa ha fatto un hook

1108</h3>1111</h3>

1109 1112 

1110Premi `Ctrl+O` per aprire la vista della trascrizione e controllare l'esito dell'esecuzione di un hook:1113Premi `Ctrl+O` per aprire la vista della trascrizione e cerca l'esito dell'hook:

1111 1114 

1112* **Esecuzione riuscita**: non vedi nulla, a meno che il JSON dell'hook non faccia emergere qualcosa, come `systemMessage` o il feedback di un hook Stop.1115* **Esecuzione riuscita**: non vedi nulla, a meno che il JSON dell'hook non faccia emergere qualcosa, come `systemMessage` o il feedback di un hook Stop.

1113 * Per confermare che un hook è stato eseguito, verificane l'effetto, ad esempio un file riformattato, oppure attiva il logging di debug come descritto di seguito e attiva nuovamente l'hook1116 * Per confermare che l'hook è stato eseguito, verificane l'effetto, ad esempio un file riformattato

1114* **Errore bloccante**: nella maggior parte degli eventi vedi il feedback dell'hook. Quando il JSON dell'hook ha preso una decisione bloccante, il feedback è il motivo di quella decisione; altrimenti è lo stderr dell'hook. In alcuni eventi, come `ConfigChange` ed `Elicitation`, un blocco non mostra alcun messaggio.1117* **Errore bloccante**: nella maggior parte degli eventi vedi il messaggio che accompagna il blocco, ad esempio `Blocked: rm commands are not allowed`. In alcuni eventi, come `ConfigChange` ed `Elicitation`, non vedi alcun messaggio. [Codice di uscita 2](/docs/it/hooks#exit-code-2) spiega da dove proviene il messaggio.

1115* **Errore non bloccante**: l'azione è proseguita e vedi un avviso `<hook name> hook error` con una breve spiegazione, come la prima riga dello stderr preceduta da `Failed with non-blocking status code:`, oppure un messaggio di convalida o di parsing JSON.1118* **Errore non bloccante**: vedi un avviso `<hook name> hook error` con una breve spiegazione, come la prima riga dello stderr dopo `Failed with non-blocking status code:`, oppure un messaggio di convalida o di parsing JSON. L'azione è proseguita.

1116 1119 

1117Quali combinazioni di codice di uscita e JSON producono ciascun esito, incluse le eccezioni per singolo evento, è definito nella sezione [Output del codice di uscita](/docs/it/hooks#exit-code-output) del riferimento.1120Per consultare l'esito per uno specifico codice di uscita e stdout, incluse le eccezioni per singolo evento, consulta [Output del codice di uscita](/docs/it/hooks#exit-code-output) nel riferimento.

1118 1121 

1119Per i dettagli completi dell'esecuzione, inclusi quali hook hanno trovato corrispondenza, i loro codici di uscita, stdout e stderr, leggi il log di debug. Avvia Claude Code con `claude --debug-file /tmp/claude.log` per scrivere in un percorso noto, quindi esegui `tail -f /tmp/claude.log` in un altro terminale. Se hai avviato senza quel flag, esegui `/debug` durante la sessione per abilitare il logging e trovare il percorso del log.1122Per i dettagli completi dell'esecuzione, inclusi i codici di uscita, lo stdout e lo stderr degli hook, leggi il log di debug. Avvia Claude Code con `claude --debug-file /tmp/claude.log` per scrivere in un percorso noto, quindi esegui `tail -f /tmp/claude.log` in un altro terminale. Se hai avviato senza quel flag, esegui `/debug` durante la sessione per abilitare il logging e trovare il percorso del log.

1120 1123 

1121<h2 id="learn-more">1124<h2 id="learn-more">

1122 Ulteriori informazioni1125 Ulteriori informazioni

Details

216| `^` | Primo carattere non vuoto |216| `^` | Primo carattere non vuoto |

217| `gg` | Inizio dell'input |217| `gg` | Inizio dell'input |

218| `G` | Inizio dell'ultima riga |218| `G` | Inizio dell'ultima riga |

219| `f{char}` | Salta alla prossima occorrenza del carattere |219| `f{char}` | Salta alla prossima occorrenza del carattere sulla riga corrente |

220| `F{char}` | Salta alla precedente occorrenza del carattere |220| `F{char}` | Salta alla precedente occorrenza del carattere sulla riga corrente |

221| `t{char}` | Salta appena prima della prossima occorrenza del carattere |221| `t{char}` | Salta appena prima della prossima occorrenza del carattere sulla riga corrente |

222| `T{char}` | Salta appena dopo la precedente occorrenza del carattere |222| `T{char}` | Salta appena dopo la precedente occorrenza del carattere sulla riga corrente |

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

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

225| `/` | Apri ricerca cronologia inversa, come `Ctrl+R`. Il prompt di ricerca vuoto mostra un suggerimento: premi `Esc` poi `i` poi `/` per aprire il menu dei comandi |225| `/` | Apri ricerca cronologia inversa, come `Ctrl+R`. Il prompt di ricerca vuoto mostra un suggerimento: premi `Esc` poi `i` poi `/` per aprire il menu dei comandi |


239| `dd` | Elimina riga |239| `dd` | Elimina riga |

240| `D` | Elimina fino alla fine della riga |240| `D` | Elimina fino alla fine della riga |

241| `dw`/`de`/`db` | Elimina parola/fino alla fine/indietro |241| `dw`/`de`/`db` | Elimina parola/fino alla fine/indietro |

242| `df{char}`/`dt{char}` | Elimina fino a e incluso, o fino a, la prossima occorrenza di un carattere |242| `df{char}`/`dt{char}` | Elimina fino a e incluso, o fino a, la prossima occorrenza di un carattere sulla riga corrente |

243| `dj`/`dk` | Elimina la riga corrente e la riga sotto o sopra |243| `dj`/`dk` | Elimina la riga corrente e la riga sotto o sopra |

244| `dgg`/`dG` | Elimina dalla riga corrente alla prima o all'ultima riga |244| `dgg`/`dG` | Elimina dalla riga corrente alla prima o all'ultima riga |

245| `d0`/`c0`/`y0` | Elimina, cambia o copia dal cursore all'inizio della riga. Richiede Claude Code v2.1.281 o successivo |245| `d0`/`c0`/`y0` | Elimina, cambia o copia dal cursore all'inizio della riga. Richiede Claude Code v2.1.281 o successivo |


852 Link di riferimento ai problemi852 Link di riferimento ai problemi

853</h2>853</h2>

854 854 

855Quando Claude menziona un problema come `owner/repo#123`, potete fare clic sul riferimento per aprirlo, purché il vostro terminale supporti i hyperlink. Se Claude Code non rileva il supporto dei hyperlink nel vostro terminale, impostate [`FORCE_HYPERLINK`](/docs/it/env-vars) su `1` per attivare i link, oppure su `0` per mantenere i riferimenti come testo semplice.855Quando Claude menziona un problema come `owner/repo#123`, puoi fare clic sul riferimento per aprirlo, purché il tuo terminale supporti gli hyperlink. Se Claude Code non rileva il supporto degli hyperlink nel tuo terminale, imposta [`FORCE_HYPERLINK`](/docs/it/env-vars) su `1` per attivare i link, oppure su `0` per mantenere i riferimenti come testo semplice.

856 856 

857Ottenete un link solo per il modulo a due parti `owner/repo#123`. Questi rimangono come testo semplice:857Ottieni un link solo per il formato a due parti `owner/repo#123`. Questi rimangono come testo semplice:

858 858 

859* Un `#123` isolato859* Un `#123` isolato

860* Un percorso GitLab annidato come `group/subgroup/project#123`860* Un percorso GitLab annidato come `group/subgroup/project#123`

861* Qualsiasi riferimento all'interno di uno span di codice o di un blocco di codice861* Qualsiasi riferimento all'interno di uno span di codice o di un blocco di codice

862* Qualsiasi riferimento in una risposta più lunga di circa 1.000 righe o 100.000 caratteri

862 863 

863Claude Code costruisce il link per l'host del repository che identifica dal vostro git remote, non per il repository che il riferimento nomina:864Claude Code crea il link per l'host del repository che identifica dal tuo git remote, non per il repository che il riferimento nomina:

864 865 

865| Host del vostro repository | Dove `owner/repo#123` si collega |866| Host del tuo repository | Dove `owner/repo#123` si collega |

866| :- | :- |867| :- | :- |

867| github.com, un host GitHub Enterprise, o qualsiasi host non elencato di seguito | `https://<host>/owner/repo/issues/123` |868| github.com, un host GitHub Enterprise, o qualsiasi host non elencato di seguito | `https://<host>/owner/repo/issues/123` |

868| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |869| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |

jetbrains.md +8 −4

Details

55 Utilizzo55 Utilizzo

56</h2>56</h2>

57 57 

58<h3 id="from-your-ide">58<span id="from-your-ide" />

59 Dal tuo IDE59 

60<h3 id="run-claude-code-from-your-ide">

61 Esegui Claude Code dal tuo IDE

60</h3>62</h3>

61 63 

62Esegui `claude` dal terminale integrato del tuo IDE e tutte le funzionalità di integrazione saranno attive.64Esegui `claude` dal terminale integrato del tuo IDE e tutte le funzionalità di integrazione saranno attive.

63 65 

64<h3 id="from-external-terminals">66<span id="from-external-terminals" />

65 Da terminali esterni67 

68<h3 id="connect-from-an-external-terminal">

69 Connettiti da un terminale esterno

66</h3>70</h3>

67 71 

68Usa il comando `/ide` in qualsiasi terminale esterno per connettere Claude Code al tuo JetBrains IDE e attivare tutte le funzionalità:72Usa il comando `/ide` in qualsiasi terminale esterno per connettere Claude Code al tuo JetBrains IDE e attivare tutte le funzionalità:

Details

79 79 

80I modelli di avvio per Jamf, Iru, Intune e Group Policy si trovano nel [MDM examples repository](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80I modelli di avvio per Jamf, Iru, Intune e Group Policy si trovano nel [MDM examples repository](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 

82Se alla tua organizzazione è applicata la [configurazione HIPAA](/docs/it/hipaa-setup#deploy-managed-settings), consulta `settings-hipaa.json` e `README-hipaa.md` nel [repository di esempi di impostazioni](https://github.com/anthropics/claude-code/tree/main/examples/settings) per un `managed-settings.json` più completo con sandboxing, un'allowlist di rete, protezioni delle credenziali e conservazione locale dei dati.

83 

82Per i server MCP gestiti, che distribuisci insieme a uno qualsiasi di questi tramite `managed-mcp.json` o fornisci tramite la chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers), vedi [Managed MCP configuration](/docs/it/managed-mcp).84Per i server MCP gestiti, che distribuisci insieme a uno qualsiasi di questi tramite `managed-mcp.json` o fornisci tramite la chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers), vedi [Managed MCP configuration](/docs/it/managed-mcp).

83 85 

84<h3 id="where-and-when-a-policy-applies">86<h3 id="where-and-when-a-policy-applies">

mcp.md +18 −10

Details

181 181 

182Ognuno di questi è uno degli input che le quattro opzioni in [Installazione di server MCP](#installing-mcp-servers) accettano. Trova di seguito la forma che hai per trasformarla nel comando che Claude Code accetta. Ogni comando scrive nell'[ambito locale](#local-scope) a meno che tu non aggiunga `--scope project` o `--scope user`.182Ognuno di questi è uno degli input che le quattro opzioni in [Installazione di server MCP](#installing-mcp-servers) accettano. Trova di seguito la forma che hai per trasformarla nel comando che Claude Code accetta. Ogni comando scrive nell'[ambito locale](#local-scope) a meno che tu non aggiunga `--scope project` o `--scope user`.

183 183 

184<h4 id="from-a-url">184<span id="from-a-url" />

185 Da un URL185 

186<h4 id="add-a-server-from-a-url">

187 Aggiungere un server da un URL

186</h4>188</h4>

187 189 

188Un URL significa che il server è remoto. Per un endpoint `https://`, aggiungilo con `--transport http`, o segui l'[Opzione 2](#option-2-add-a-remote-sse-server) quando le istruzioni dicono che l'endpoint utilizza SSE. Per un endpoint `wss://`, utilizza invece l'[Opzione 4](#option-4-add-a-remote-websocket-server), poiché `--transport` non accetta `ws`:190Un URL significa che il server è remoto. Per un endpoint `https://`, aggiungilo con `--transport http`, o segui l'[Opzione 2](#option-2-add-a-remote-sse-server) quando le istruzioni dicono che l'endpoint utilizza SSE. Per un endpoint `wss://`, utilizza invece l'[Opzione 4](#option-4-add-a-remote-websocket-server), poiché `--transport` non accetta `ws`:


193 195 

194Se le istruzioni forniscono anche una chiave API o un'intestazione di token, passala con `--header` come mostrato nell'[Opzione 1](#option-1-add-a-remote-http-server).196Se le istruzioni forniscono anche una chiave API o un'intestazione di token, passala con `--header` come mostrato nell'[Opzione 1](#option-1-add-a-remote-http-server).

195 197 

196<h4 id="from-an-npx-uvx-or-binary-command">198<span id="from-an-npx-uvx-or-binary-command" />

197 Da un comando `npx`, `uvx`, o binario199 

200<h4 id="add-a-server-from-an-npx-uvx-or-binary-command">

201 Aggiungere un server da un comando `npx`, `uvx`, o binario

198</h4>202</h4>

199 203 

200Un comando di avvio significa che il server viene eseguito come processo stdio locale. Metti l'intero comando dopo `--`, in modo che Claude Code passi flag come `-y` al comando che avvia il server invece di leggerli come proprie opzioni. Passa tutte le variabili d'ambiente che le istruzioni richiedono con `--env`, dopo il nome del server e prima di `--`:204Un comando di avvio significa che il server viene eseguito come processo stdio locale. Metti l'intero comando dopo `--`, in modo che Claude Code passi flag come `-y` al comando che avvia il server invece di leggerli come proprie opzioni. Passa tutte le variabili d'ambiente che le istruzioni richiedono con `--env`, dopo il nome del server e prima di `--`:


205 209 

206L'[Opzione 3](#option-3-add-a-local-stdio-server) descrive in dettaglio il separatore `--`.210L'[Opzione 3](#option-3-add-a-local-stdio-server) descrive in dettaglio il separatore `--`.

207 211 

208<h4 id="from-an-mcpservers-json-block">212<span id="from-an-mcpservers-json-block" />

209 Da un blocco JSON `mcpServers`213 

214<h4 id="add-a-server-from-an-mcpservers-json-block">

215 Aggiungere un server da un blocco JSON `mcpServers`

210</h4>216</h4>

211 217 

212Un blocco `mcpServers` scritto per un altro client MCP, come Claude Desktop, utilizza la chiave wrapper e la forma di voce che Claude Code legge. Passa a `claude mcp add-json` l'oggetto all'interno di `mcpServers`, non il wrapper. Due tipi di voci devono prima essere corretti:218Un blocco `mcpServers` scritto per un altro client MCP, come Claude Desktop, utilizza la chiave wrapper e la forma di voce che Claude Code legge. Passa a `claude mcp add-json` l'oggetto all'interno di `mcpServers`, non il wrapper. Due tipi di voci devono prima essere corretti:


367 373 

368Su v2, Claude Code inoltre:374Su v2, Claude Code inoltre:

369 375 

370* Chiede ai server HTTP e stdio se supportano la revisione più recente, e la utilizza con quelli che la supportano. Nelle sessioni in cui recupera i feature flag, lo chiede anche ai server dei connettori claude.ai. Si connette a ogni altro server come fa v1.376* Chiede ai server HTTP, stdio e dei connettori claude.ai se supportano la revisione più recente, e la utilizza con quelli che la supportano. Si connette a ogni altro server come fa v1.

371* Riceve le notifiche `list_changed` dai server sulla revisione più recente tramite un [flusso che mantiene aperto](#notification-streams-on-the-v2-runtime).377* Riceve le notifiche `list_changed` dai server sulla revisione più recente tramite un [flusso che mantiene aperto](#notification-streams-on-the-v2-runtime).

372* Non registra un server [canale](#push-messages-with-channels) che si connette sulla revisione più recente, perché quella revisione non può trasportare messaggi di canale.378* Non registra un server [canale](#push-messages-with-channels) che si connette sulla revisione più recente, perché quella revisione non può trasportare messaggi di canale.

373* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.379* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.


891 Autenticazione dalla riga di comando897 Autenticazione dalla riga di comando

892</h3>898</h3>

893 899 

894Il comando `claude mcp login <name>` esegue il flusso OAuth di un server configurato direttamente dalla tua shell, quindi non è necessario aprire il pannello `/mcp` all'interno di una sessione.900Il comando `claude mcp login <name>` esegue il flusso OAuth di un server configurato direttamente dalla tua shell, quindi non è necessario aprire il pannello `/mcp` all'interno di una sessione. Per un connettore claude.ai, segui [Autorizzare di nuovo un connettore dalla tua shell](/docs/it/remote-control#authorize-a-connector-again-from-your-shell).

895 901 

896```bash theme={null}902```bash theme={null}

897claude mcp login sentry903claude mcp login sentry


1581 La ricerca di strumenti non è supportata su Microsoft Foundry [distribuzioni ospitate su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), che la rifiutano lato server: Claude Code rileva il rifiuto e carica gli strumenti MCP in anticipo per quella distribuzione. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) non può ignorare questo, poiché il rifiuto proviene dalla distribuzione stessa.1587 La ricerca di strumenti non è supportata su Microsoft Foundry [distribuzioni ospitate su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), che la rifiutano lato server: Claude Code rileva il rifiuto e carica gli strumenti MCP in anticipo per quella distribuzione. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) non può ignorare questo, poiché il rifiuto proviene dalla distribuzione stessa.

1582</Note>1588</Note>

1583 1589 

1584<h3 id="for-mcp-server-authors">1590<span id="for-mcp-server-authors" />

1585 Per gli autori di server MCP1591 

1592<h3 id="tool-search-for-mcp-server-authors">

1593 Ricerca di strumenti per gli autori di server MCP

1586</h3>1594</h3>

1587 1595 

1588Se state creando un server MCP, il campo delle istruzioni del server diventa più utile con la ricerca di strumenti abilitata. Le istruzioni del server aiutano Claude a capire quando cercare i vostri strumenti, in modo simile a come funzionano le [skills](/docs/it/skills).1596Se state creando un server MCP, il campo delle istruzioni del server diventa più utile con la ricerca di strumenti abilitata. Le istruzioni del server aiutano Claude a capire quando cercare i vostri strumenti, in modo simile a come funzionano le [skills](/docs/it/skills).

Details

599 599 

600In sessioni autenticate a un [gateway di app Claude](/docs/it/claude-apps-gateway) tramite `/login`, la CLI contrassegna le esportazioni con l'identità autenticata: `user.id` è il soggetto IdP, `user.email` è l'email con cui hai effettuato l'accesso, e `user.groups` contiene l'appartenenza al gruppo IdP come stringa separata da virgole. Ogni esportazione contiene anche `identity.source: gateway-oidc`. L'identità del gateway viene applicata per ultima, quindi le chiavi `user.*` e `identity.*` impostate tramite `OTEL_RESOURCE_ATTRIBUTES` vengono ignorate sulle sessioni del gateway.600In sessioni autenticate a un [gateway di app Claude](/docs/it/claude-apps-gateway) tramite `/login`, la CLI contrassegna le esportazioni con l'identità autenticata: `user.id` è il soggetto IdP, `user.email` è l'email con cui hai effettuato l'accesso, e `user.groups` contiene l'appartenenza al gruppo IdP come stringa separata da virgole. Ogni esportazione contiene anche `identity.source: gateway-oidc`. L'identità del gateway viene applicata per ultima, quindi le chiavi `user.*` e `identity.*` impostate tramite `OTEL_RESOURCE_ATTRIBUTES` vengono ignorate sulle sessioni del gateway.

601 601 

602<Note>

603 Gli eventi che Claude Code registra prima che uno sviluppatore acceda non riportano l'identità del gateway. Quando Claude Code apre una sessione senza accesso al gateway, ad esempio dopo che [il gateway ha terminato l'accesso](/docs/it/errors#cloud-gateway-session-expired), gli eventi di avvio registrati prima dell'accesso riportano lo `user.id` anonimo e nessun `identity.source`. Tra questi ci sono [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) e [`mcp_server_connection`](#mcp-server-connection-event).

604</Note>

605 

602Per gli attributi di identità su sessioni Claude Desktop e Cowork che si connettono tramite un gateway, vedi il [riferimento `telemetry` del gateway](/docs/it/claude-apps-gateway-config#telemetry).606Per gli attributi di identità su sessioni Claude Desktop e Cowork che si connettono tramite un gateway, vedi il [riferimento `telemetry` del gateway](/docs/it/claude-apps-gateway-config#telemetry).

603 607 

604Gli eventi includono inoltre i seguenti attributi. Questi non vengono mai allegati alle metriche perché causerebbero cardinalità illimitata:608Gli eventi includono inoltre i seguenti attributi. Questi non vengono mai allegati alle metriche perché causerebbero cardinalità illimitata:


917* `error`: Messaggio di errore921* `error`: Messaggio di errore

918* `status_code`: Codice di stato HTTP come numero. Assente per errori non HTTP come i guasti di connessione.922* `status_code`: Codice di stato HTTP come numero. Assente per errori non HTTP come i guasti di connessione.

919* `duration_ms`: Durata della richiesta in millisecondi923* `duration_ms`: Durata della richiesta in millisecondi

920* `attempt`: Numero totale di tentativi effettuati, inclusa la richiesta iniziale (`1` significa che non si sono verificati tentativi)924* `attempt`: Numero di tentativi effettuati, inclusa la richiesta iniziale. [Rilevare l'esaurimento dei nuovi tentativi](#detect-retry-exhaustion) indica quando il conteggio ricomincia

921* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).925* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).

922* `client_request_id`: UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`. Disponibile anche quando un guasto come un timeout o un errore di connessione non ha mai prodotto un `request_id` del server; vedi la tabella [attributi di correlazione degli eventi](#event-correlation-attributes) per quando è presente. Richiede Claude Code v2.1.214 o successivo926* `client_request_id`: UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`. Disponibile anche quando un guasto come un timeout o un errore di connessione non ha mai prodotto un `request_id` del server; vedi la tabella [attributi di correlazione degli eventi](#event-correlation-attributes) per quando è presente. Richiede Claude Code v2.1.214 o successivo

923* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva927* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva


1190 1194 

1191Registrato quando Claude Code risolve una menzione `@` in un prompt. Non ogni menzione emette un evento: i percorsi di uscita anticipata come i rifiuti di autorizzazione, i file di grandi dimensioni, gli allegati di riferimento PDF e i guasti di elenco delle directory vengono restituiti senza registrazione.1195Registrato quando Claude Code risolve una menzione `@` in un prompt. Non ogni menzione emette un evento: i percorsi di uscita anticipata come i rifiuti di autorizzazione, i file di grandi dimensioni, gli allegati di riferimento PDF e i guasti di elenco delle directory vengono restituiti senza registrazione.

1192 1196 

1197Ogni volta che Claude Code legge un prompt, registra al massimo 100 eventi con `mention_type` pari a `"agent"` e 100 con `"mcp_resource"`. Le menzioni oltre uno dei due limiti vengono comunque risolte ma non emettono alcun evento.

1198 

1193**Nome evento**: `claude_code.at_mention`1199**Nome evento**: `claude_code.at_mention`

1194 1200 

1195**Attributi**:1201**Attributi**:


1528 1534 

1529Claude Code ritenta internamente le richieste API non riuscite ed emette un singolo evento `claude_code.api_error` solo dopo che rinuncia, quindi l'evento stesso è il segnale terminale per quella richiesta. I tentativi di ripetizione intermedi non vengono registrati come eventi separati.1535Claude Code ritenta internamente le richieste API non riuscite ed emette un singolo evento `claude_code.api_error` solo dopo che rinuncia, quindi l'evento stesso è il segnale terminale per quella richiesta. I tentativi di ripetizione intermedi non vengono registrati come eventi separati.

1530 1536 

1531L'attributo `attempt` sull'evento registra il numero totale di tentativi. `CLAUDE_CODE_MAX_RETRIES` ha un valore predefinito di 10 ed è limitato a 15. A partire da v2.1.199, puoi impostare `CLAUDE_CODE_RETRY_WATCHDOG` per aumentare il valore predefinito e rimuovere il limite.1537L'attributo `attempt` sull'evento registra il numero di tentativi. `CLAUDE_CODE_MAX_RETRIES` ha un valore predefinito di 10 ed è limitato a 15. A partire da v2.1.199, puoi impostare `CLAUDE_CODE_RETRY_WATCHDOG` per aumentare il valore predefinito e rimuovere il limite.

1532 1538 

1533Quando la richiesta esaurisce tutti i tentativi su un errore transitorio, `attempt` è uguale a uno più di quel limite effettivo: 11 per impostazione predefinita, e mai più di 16 a meno che il watchdog non sia impostato. Un valore inferiore indica un errore non ritentabile come una risposta `400`, o una causa con il suo proprio budget di tentativi più piccolo. Ad esempio, Claude Code ritenta un errore nel caricamento delle credenziali AWS o Google Cloud al massimo due volte.1539Quando la richiesta esaurisce tutti i nuovi tentativi su un errore transitorio, `attempt` è al massimo uno più di quel limite effettivo: 11 per impostazione predefinita.

1540 

1541Anche un valore inferiore può indicare che i nuovi tentativi sono stati esauriti: `attempt` riparte da `1` ogni volta che Claude Code invia di nuovo la richiesta dopo un errore di streaming.

1534 1542 

1535Per distinguere una sessione che si è ripresa da una che si è bloccata, raggruppa gli eventi per `session.id` e verifica se esiste un evento `api_request` successivo dopo l'errore.1543Per distinguere una sessione che si è ripresa da una che si è bloccata, raggruppa gli eventi per `session.id` e verifica se esiste un evento `api_request` successivo dopo l'errore.

1536 1544 


1699 1707 

1700La scelta dei backend di metriche, log e tracce determina i tipi di analisi che puoi eseguire:1708La scelta dei backend di metriche, log e tracce determina i tipi di analisi che puoi eseguire:

1701 1709 

1702<h3 id="for-metrics">1710<span id="for-metrics" />

1703 Per le metriche1711 

1712<h3 id="backends-for-metrics">

1713 Backend per le metriche

1704</h3>1714</h3>

1705 1715 

1706* **Database di serie temporali**: Calcoli di velocità, metriche aggregate1716* **Database di serie temporali**: Calcoli di velocità, metriche aggregate

1707* **Archivi colonnari**: Query complesse, analisi di utenti univoci1717* **Archivi colonnari**: Query complesse, analisi di utenti univoci

1708* **Piattaforme di osservabilità complete**: Query avanzate, visualizzazione, avvisi1718* **Piattaforme di osservabilità complete**: Query avanzate, visualizzazione, avvisi

1709 1719 

1710<h3 id="for-events/logs">1720<span id="for-events/logs" />

1711 Per eventi/log1721 

1722<h3 id="backends-for-events-and-logs">

1723 Backend per eventi e log

1712</h3>1724</h3>

1713 1725 

1714* **Sistemi di aggregazione dei log**: Ricerca full-text, analisi dei log1726* **Sistemi di aggregazione dei log**: Ricerca full-text, analisi dei log

1715* **Archivi colonnari**: Analisi degli eventi strutturati1727* **Archivi colonnari**: Analisi degli eventi strutturati

1716* **Piattaforme di osservabilità complete**: Correlazione tra metriche e eventi1728* **Piattaforme di osservabilità complete**: Correlazione tra metriche e eventi

1717 1729 

1718<h3 id="for-traces">1730<span id="for-traces" />

1719 Per tracce1731 

1732<h3 id="backends-for-traces">

1733 Backend per le tracce

1720</h3>1734</h3>

1721 1735 

1722Scegli un backend che supporti l'archiviazione di tracce distribuite e la correlazione degli span:1736Scegli un backend che supporti l'archiviazione di tracce distribuite e la correlazione degli span:

Details

91| `-y, --yes` | Accetta il comando di installazione visualizzato senza il prompt `Run this command now?`. Ignorato quando il comando viene eseguito all'interno di una sessione Claude Code, ad esempio dallo strumento Bash o da un hook. Richiede Claude Code v2.1.229 o successivo |91| `-y, --yes` | Accetta il comando di installazione visualizzato senza il prompt `Run this command now?`. Ignorato quando il comando viene eseguito all'interno di una sessione Claude Code, ad esempio dallo strumento Bash o da un hook. Richiede Claude Code v2.1.229 o successivo |

92| `--accept-command <sha256>` | Accetta il comando di installazione visualizzato il cui `sha256` un'esecuzione precedente [`--json`](#plugin-json-result) ha riportato in `shownCommand`, al posto di `-y`. Non può essere combinato con `-y`. Vedi [Accetta un comando di installazione visualizzato](#accept-a-displayed-install-command). Richiede Claude Code v2.1.271 o successivo |92| `--accept-command <sha256>` | Accetta il comando di installazione visualizzato il cui `sha256` un'esecuzione precedente [`--json`](#plugin-json-result) ha riportato in `shownCommand`, al posto di `-y`. Non può essere combinato con `-y`. Vedi [Accetta un comando di installazione visualizzato](#accept-a-displayed-install-command). Richiede Claude Code v2.1.271 o successivo |

93| `--json` | Stampa il risultato come un oggetto JSON sull'ultima riga di stdout invece del messaggio leggibile, per l'uso negli script. Vedi [Formato risultato JSON](#plugin-json-result). Richiede Claude Code v2.1.268 o successivo |93| `--json` | Stampa il risultato come un oggetto JSON sull'ultima riga di stdout invece del messaggio leggibile, per l'uso negli script. Vedi [Formato risultato JSON](#plugin-json-result). Richiede Claude Code v2.1.268 o successivo |

94| `--marketplace <source>` | Installa `<plugin>`, indicato con il suo nome semplice, dal marketplace in `<source>`, aggiungendo prima il marketplace se non l'hai ancora aggiunto. Vedi [Aggiungi un marketplace e installa con un solo comando](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command). Richiede Claude Code v2.1.292 o successivo |

94 95 

95Esegui `claude plugin install --help` nella tua shell per vedere ogni opzione che la tua versione supporta.96Esegui `claude plugin install --help` nella tua shell per vedere ogni opzione che la tua versione supporta.

96 97 

Details

185 185 

186Puoi caricare un plugin per una singola sessione in tre modi: da una directory o un archivio `.zip` sul disco con `--plugin-dir`, da un URL con `--plugin-url`, o da una variabile di ambiente quando non puoi aggiungere un flag. Ogni plugin carica solo per quella sessione, e niente viene scritto nelle tue impostazioni per esso. Quando modifichi i file del plugin durante la sessione, esegui `/reload-plugins` per caricare le modifiche.186Puoi caricare un plugin per una singola sessione in tre modi: da una directory o un archivio `.zip` sul disco con `--plugin-dir`, da un URL con `--plugin-url`, o da una variabile di ambiente quando non puoi aggiungere un flag. Ogni plugin carica solo per quella sessione, e niente viene scritto nelle tue impostazioni per esso. Quando modifichi i file del plugin durante la sessione, esegui `/reload-plugins` per caricare le modifiche.

187 187 

188<h4 id="from-a-directory-or-zip">188<span id="from-a-directory-or-zip" />

189 Da una directory o `.zip`189 

190<h4 id="load-a-plugin-from-a-directory-or-zip">

191 Caricare un plugin da una directory o `.zip`

190</h4>192</h4>

191 193 

192Quando avvii `claude` dalla tua shell, passa `--plugin-dir` con la directory radice del plugin o un archivio `.zip` di esso. Ripeti il flag per caricare diversi plugin:194Quando avvii `claude` dalla tua shell, passa `--plugin-dir` con la directory radice del plugin o un archivio `.zip` di esso. Ripeti il flag per caricare diversi plugin:


196```198```

197 199 

198<h4 id="load-a-folder-of-plugins">200<h4 id="load-a-folder-of-plugins">

199 Da una cartella di plugin201 Caricare una cartella di plugin

200</h4>202</h4>

201 203 

202Per caricare diversi plugin da un posto, passa una cartella che li contiene, come `--plugin-dir ./plugins`. Caricare una cartella di plugin richiede Claude Code v2.1.265 o successivo.204Per caricare diversi plugin da un posto, passa una cartella che li contiene, come `--plugin-dir ./plugins`. Caricare una cartella di plugin richiede Claude Code v2.1.265 o successivo.


212 214 

213Un messaggio appare nella sessione per ciascuno di questi cambiamenti. Se caricare o scaricare un plugin a metà conversazione [invaliderebbe la cache del prompt](/docs/it/prompt-caching#enabling-or-disabling-a-plugin), il cambiamento viene mantenuto invece, e il messaggio ti dice di eseguire `/reload-plugins` per applicarlo.215Un messaggio appare nella sessione per ciascuno di questi cambiamenti. Se caricare o scaricare un plugin a metà conversazione [invaliderebbe la cache del prompt](/docs/it/prompt-caching#enabling-or-disabling-a-plugin), il cambiamento viene mantenuto invece, e il messaggio ti dice di eseguire `/reload-plugins` per applicarlo.

214 216 

215<h4 id="fetch-an-archive-from-a-url-for-one-session">217<span id="fetch-an-archive-from-a-url-for-one-session" />

216 Da un URL218 

219<h4 id="load-a-plugin-from-a-url">

220 Caricare un plugin da un URL

217</h4>221</h4>

218 222 

219Quando avvii `claude` dalla tua shell, passa `--plugin-url` con l'indirizzo di un archivio `.zip`, come un artefatto di build che il tuo CI pubblica:223Quando avvii `claude` dalla tua shell, passa `--plugin-url` con l'indirizzo di un archivio `.zip`, come un artefatto di build che il tuo CI pubblica:


228 232 

229Se Claude Code non riesce a recuperare l'archivio, o l'archivio non è valido, si avvia senza il plugin e registra un errore di caricamento del plugin che puoi rivedere nella scheda **Errori** del gestore `/plugin`.233Se Claude Code non riesce a recuperare l'archivio, o l'archivio non è valido, si avvia senza il plugin e registra un errore di caricamento del plugin che puoi rivedere nella scheda **Errori** del gestore `/plugin`.

230 234 

231<h4 id="from-an-environment-variable">235<span id="from-an-environment-variable" />

232 Da una variabile di ambiente236 

237<h4 id="load-plugins-from-an-environment-variable">

238 Caricare plugin da una variabile d'ambiente

233</h4>239</h4>

234 240 

235Per caricare plugin in una sessione in cui non puoi aggiungere il flag `--plugin-dir`, elenca i loro percorsi assoluti nella variabile di ambiente [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/it/env-vars#variables) invece. Claude Code carica ogni percorso come carica un percorso `--plugin-dir`. Questi plugin caricano in aggiunta a quelli che passi con `--plugin-dir`. [Le impostazioni di progetto e locali non possono impostare questa variabile](/docs/it/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` richiede Claude Code v2.1.280 o successivo.241Per caricare plugin in una sessione in cui non puoi aggiungere il flag `--plugin-dir`, elenca i loro percorsi assoluti nella variabile di ambiente [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/it/env-vars#variables) invece. Claude Code carica ogni percorso come carica un percorso `--plugin-dir`. Questi plugin caricano in aggiunta a quelli che passi con `--plugin-dir`. [Le impostazioni di progetto e locali non possono impostare questa variabile](/docs/it/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` richiede Claude Code v2.1.280 o successivo.

Details

413 How users accept a headersHelper command413 How users accept a headersHelper command

414</h3>414</h3>

415 415 

416Un utente accetta il comando di una voce del plugin ogni volta che installa o aggiorna quel singolo plugin da solo. Lo fanno dalla vista propria del plugin in `/plugin`, o con `claude plugin install` o `claude plugin update`. Claude Code mostra il comando e l'URL dell'archive, ed esegue il comando solo dopo che l'utente accetta.416Un utente accetta il comando di una voce del plugin ogni volta che installa o aggiorna quel singolo plugin da solo. Claude Code mostra il comando e l'URL dell'archive, ed esegue il comando solo dopo che l'utente accetta.

417 

418Gli utenti possono installare o aggiornare il plugin all'interno di una sessione di Claude Code in un terminale, nella propria shell senza alcuna sessione in esecuzione, o nell'estensione VS Code:

419 

420* **Sessione nel terminale**: dalla vista propria del plugin in `/plugin`.

421* **Shell**: con `claude plugin install` o `claude plugin update`.

422* **Estensione VS Code**: dalla [finestra di dialogo **Manage plugins**](/docs/it/vs-code#manage-plugins), con la versione 2.1.290 o successiva dell'estensione.

417 423 

418In una shell non interattiva, passa [`--yes`](/docs/it/plugins/cli-reference#plugin-install) per accettare il comando. Per accettare solo il comando che un'esecuzione `--json` precedente ha visualizzato, passa [`--accept-command`](/docs/it/plugins/cli-reference#plugin-install) con lo `sha256` che l'esecuzione ha segnalato.424In una shell non interattiva, passa [`--yes`](/docs/it/plugins/cli-reference#plugin-install) per accettare il comando. Per accettare solo il comando che un'esecuzione `--json` precedente ha visualizzato, passa [`--accept-command`](/docs/it/plugins/cli-reference#plugin-install) con lo `sha256` che l'esecuzione ha segnalato.

419 425 

420Claude Code esegue solo il comando che ha mostrato, per l'URL dell'archive che ha mostrato. Se il comando della voce o l'URL dell'archive sono cambiati nel frattempo, Claude Code rifiuta l'installazione o l'aggiornamento. Un cambiamento nella stringa di query da solo non conta.426Claude Code esegue solo il comando che ha mostrato, per l'URL dell'archive che ha mostrato. Se il comando della voce o l'URL dell'archive sono cambiati nel frattempo, Claude Code rifiuta l'installazione o l'aggiornamento. Un cambiamento nella sola stringa di query non conta, tranne che nell'estensione VS Code o con `--accept-command`.

421 427 

422<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">428<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">

423 Installs and updates that refuse a command instead of asking429 Installs and updates that refuse a command instead of asking

Details

189 189 

190* **Scope**: ambito utente per impostazione predefinita. Passa `--scope project` o `--scope local` per cambiarlo.190* **Scope**: ambito utente per impostazione predefinita. Passa `--scope project` o `--scope local` per cambiarlo.

191* **Quando i plugin si caricano**: i plugin che installa si caricano la prossima volta che avvii Claude Code, o quando esegui `/reload-plugins` in una sessione già aperta.191* **Quando i plugin si caricano**: i plugin che installa si caricano la prossima volta che avvii Claude Code, o quando esegui `/reload-plugins` in una sessione già aperta.

192* **Il marketplace deve essere aggiunto prima**: su una macchina in cui nessuno ha ancora aperto una sessione Claude Code interattiva, il marketplace ufficiale non è registrato, quindi uno script che installa da esso esegue `claude plugin marketplace add anthropics/claude-plugins-official` prima dell'installazione.192* **Il marketplace su una nuova macchina**: su una macchina in cui nessuno ha ancora aperto una sessione Claude Code interattiva, il marketplace ufficiale non è registrato, quindi uno script che installa da esso esegue `claude plugin marketplace add anthropics/claude-plugins-official` prima dell'installazione. Vedi [Aggiungere e installare dalla tua shell](#add-and-install-from-your-shell).

193 193 

194```bash theme={null}194```bash theme={null}

195claude plugin install formatter@your-org --scope project195claude plugin install formatter@your-org --scope project


232 Aggiungi un marketplace e installa in un comando232 Aggiungi un marketplace e installa in un comando

233</h3>233</h3>

234 234 

235Per installare un plugin da un marketplace che non hai ancora aggiunto, esegui `/plugin install` in una sessione Claude Code e nomina la fonte del marketplace con `--marketplace`. Richiede Claude Code v2.1.275 o successivo.235Per installare un plugin da un marketplace che non hai ancora aggiunto, indica la fonte del marketplace con `--marketplace` nel comando di installazione, in una sessione o dalla tua shell. La fonte accetta [le stesse forme di `/plugin marketplace add`](#add-a-marketplace), come GitHub `owner/repo`, un URL git o un percorso locale. Dai il nome del plugin da solo, senza un suffisso `@marketplace`.

236 

237<h4 id="add-and-install-in-a-session">

238 Aggiungi e installa in una sessione

239</h4>

240 

241Esegui `/plugin install` in una sessione Claude Code con il plugin e la fonte. Richiede Claude Code v2.1.275 o successivo. In una sessione, la fonte non può contenere spazi.

236 242 

237```text theme={null}243```text theme={null}

238/plugin install deploy-helper --marketplace your-org/plugins244/plugin install deploy-helper --marketplace your-org/plugins

239```245```

240 246 

241La fonte accetta [le stesse forme di `/plugin marketplace add`](#add-a-marketplace), come GitHub `owner/repo`, un URL git o un percorso locale, tranne che non può contenere spazi. Dai il nome del plugin da solo, senza un suffisso `@marketplace`.

242 

243Se non hai ancora aggiunto quel marketplace, Claude Code mostra la fonte che ha risolto e ti chiede di confermare prima di aggiungerla. Una volta aggiunto il marketplace, i dettagli del plugin si aprono e scegli un [ambito di installazione](#install-a-plugin). Se la fonte corrisponde a un marketplace che hai già aggiunto, Claude Code salta la conferma e apre i dettagli del plugin in quel marketplace.247Se non hai ancora aggiunto quel marketplace, Claude Code mostra la fonte che ha risolto e ti chiede di confermare prima di aggiungerla. Una volta aggiunto il marketplace, i dettagli del plugin si aprono e scegli un [ambito di installazione](#install-a-plugin). Se la fonte corrisponde a un marketplace che hai già aggiunto, Claude Code salta la conferma e apre i dettagli del plugin in quel marketplace.

244 248 

249<h4 id="add-and-install-from-your-shell">

250 Aggiungi e installa dalla tua shell

251</h4>

252 

253Nella tua shell, senza avviare una sessione, esegui `claude plugin install` con il plugin e la fonte. Richiede Claude Code v2.1.292 o successivo.

254 

255```bash theme={null}

256claude plugin install deploy-helper --marketplace your-org/plugins

257```

258 

259Il comando della shell aggiunge il marketplace senza un passaggio di conferma. Un marketplace che hai già aggiunto da quella fonte viene riutilizzato. Uno nuovo viene aggiunto con gli stessi [controlli delle policy dell'organizzazione](/docs/it/plugins/org#restrict-what-users-can-install) di `claude plugin marketplace add` e viene dichiarato nelle tue impostazioni utente anche quando passi `--scope project`.

260 

261Se non hai ancora aggiunto quel marketplace, il comando stampa `Successfully added marketplace: <name> (declared in user settings)` e poi [installa il plugin](#install-from-your-shell).

262 

245<h3 id="add-a-private-marketplace">263<h3 id="add-a-private-marketplace">

246 Aggiungi un marketplace privato264 Aggiungi un marketplace privato

247</h3>265</h3>

Details

185| Mette `official` accanto a `claude` o `anthropic`, come `official-claude-tools` | Error |185| Mette `official` accanto a `claude` o `anthropic`, come `official-claude-tools` | Error |

186| Ha `claude`, `anthropic`, o `anthropics` come parola intera da qualche parte, come `mcp-for-claude` | Warning |186| Ha `claude`, `anthropic`, o `anthropics` come parola intera da qualche parte, come `mcp-for-claude` | Warning |

187 187 

188L'errore recita `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, e l'avviso recita `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` e `claude plugin tag` rifiutano un nome che genera l'errore. Solo questi comandi controllano il nome. Claude Code installa e carica comunque un plugin il cui nome rifiutano.188L'errore recita `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, e l'avviso recita `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` e `claude plugin tag` rifiutano un nome che genera l'errore. Claude Code installa e carica comunque un plugin il cui nome rifiutano.

189 189 

190<h3 id="displayname">190<h3 id="displayname">

191 `displayName`191 `displayName`

Details

64 64 

65| Field | Type | Description |65| Field | Type | Description |

66| :- | :- | :- |66| :- | :- | :- |

67| `name` | string | Identificatore del marketplace: lettere, cifre, `.`, `_` e `-`, che iniziano con una lettera o una cifra, e nessun `..`. `claude plugin validate` non riesce con qualsiasi altro nome, perché Claude Code non può installare plugin da un marketplace che ne usa uno. Gli utenti digitano il nome dopo `@` in un [plugin id](/docs/it/plugins/loading#find-where-a-plugin-came-from) come `my-plugin@my-marketplace` quando installano un plugin. Consulta [Reserved names](#reserved-names) |67| `name` | string | Identificatore del marketplace: lettere, cifre, `.`, `_` e `-`, che iniziano con una lettera o una cifra, e nessun `..`. `claude plugin validate` non riesce con qualsiasi altro nome, perché Claude Code [non può installare plugin da un marketplace che ne usa uno](/docs/it/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name). Gli utenti digitano il nome dopo `@` in un [plugin id](/docs/it/plugins/loading#find-where-a-plugin-came-from) come `my-plugin@my-marketplace` quando installano un plugin. Consulta [Reserved names](#reserved-names) |

68| `owner` | object | Informazioni del manutentore. `name` è obbligatorio; `email` e `url` sono facoltativi |68| `owner` | object | Informazioni del manutentore. `name` è obbligatorio; `email` e `url` sono facoltativi |

69| `plugins` | array | [Plugin entries](#plugin-entries). Ogni voce è convalidata da sola, quindi una voce non valida non fa fallire il marketplace |69| `plugins` | array | [Plugin entries](#plugin-entries). Ogni voce è convalidata da sola, quindi una voce non valida non fa fallire il marketplace |

70| `$schema` | string | URL dello schema JSON per l'autocompletamento dell'editor. Ignorato al momento del caricamento |70| `$schema` | string | URL dello schema JSON per l'autocompletamento dell'editor. Ignorato al momento del caricamento |

Details

138| `$.mcp.call` | Chiama uno strumento su un server MCP connesso, secondo le regole di permesso della sessione |138| `$.mcp.call` | Chiama uno strumento su un server MCP connesso, secondo le regole di permesso della sessione |

139| `$.model.complete` | Usa il piano o la chiave API dell'utente per le chiamate al modello |139| `$.model.complete` | Usa il piano o la chiave API dell'utente per le chiamate al modello |

140| `$.prompt.submit` | Invia un prompt e può inviarlo come se fossero parole dell'utente stesso |140| `$.prompt.submit` | Invia un prompt e può inviarlo come se fossero parole dell'utente stesso |

141| `$.session.send` | Invia un messaggio che viene letto dal Claude di un'altra sessione o di un subagent |141| `$.session.send` | Invia un messaggio che viene letto dal Claude di un'altra sessione, di un subagent o di un [compagno di team](/docs/it/agent-teams) |

142 142 

143Nella riga `hooks:`, [`tool.call`](/docs/it/plugins/mods/reference#tools) e [`prompt.submit`](/docs/it/plugins/mods/reference#prompts-and-what-claude-reads) indicano che il mod vede ogni chiamata a uno strumento e ogni prompt, e può modificarli. [`session.append`](/docs/it/plugins/mods/reference#session) indica che il mod può riscrivere ogni riga della conversazione prima che venga memorizzata. [`ui.render{component=AskUserQuestion}`](/docs/it/plugins/mods/interface#change-what-claude-code-already-draws) indica che il mod può ridisegnare la finestra di dialogo che Claude usa per porre una domanda all'utente. `tool.check` indica che il mod può approvare o negare una chiamata a uno strumento prima che compaia una richiesta di permesso. [Sapere cosa succede per impostazione predefinita](#know-what-happens-by-default) elenca quali delle tue regole e dei tuoi hook hanno la precedenza sulla sua risposta.143Nella riga `hooks:`, [`tool.call`](/docs/it/plugins/mods/reference#tools) e [`prompt.submit`](/docs/it/plugins/mods/reference#prompts-and-what-claude-reads) indicano che il mod vede ogni chiamata a uno strumento e ogni prompt, e può modificarli. [`session.append`](/docs/it/plugins/mods/reference#session) indica che il mod può riscrivere ogni riga della conversazione prima che venga memorizzata. [`ui.render{component=AskUserQuestion}`](/docs/it/plugins/mods/interface#change-what-claude-code-already-draws) indica che il mod può ridisegnare la finestra di dialogo che Claude usa per porre una domanda all'utente. `tool.check` indica che il mod può approvare o negare una chiamata a uno strumento prima che compaia una richiesta di permesso. [Sapere cosa succede per impostazione predefinita](#know-what-happens-by-default) elenca quali delle tue regole e dei tuoi hook hanno la precedenza sulla sua risposta.

144 144 

Details

79 Chiamare un modello79 Chiamare un modello

80</h2>80</h2>

81 81 

82Un mod può porre a un modello una domanda propria, al di fuori della conversazione, per un piccolo compito come classificare o riassumere un testo. `$.model.complete` invia un prompt a un modello con le credenziali della tua sessione e si risolve con la risposta. Non ha cronologia della conversazione.82Un mod può inviare richieste proprie a un modello per un piccolo compito come classificare o riassumere un testo. `$.model.complete` invia il tuo prompt da solo, mentre `$.model.fork({ prompt })` invia la conversazione corrente con il tuo prompt alla fine.

83 

84Questa tabella confronta il contenuto di ciascuna richiesta:

85 

86| Nella richiesta | `$.model.complete` | `$.model.fork` |

87| :- | :- | :- |

88| Modello | Il `model` che passi | Il modello della sessione |

89| Prompt di sistema | Un breve [blocco di attribuzione](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), seguito dal tuo `system` se ne passi uno | Il prompt di sistema della sessione |

90| Messaggi | Un solo messaggio utente, il tuo `prompt` | La conversazione fino a quel momento, seguita dal tuo `prompt` come messaggio utente |

91| CLAUDE.md e altro contesto del progetto | Non incluso | Incluso, come nell'ultima richiesta della conversazione |

92| Strumenti | Nessuno | Gli strumenti di Claude, che il modello non può chiamare |

93 

94Un fork ripete l'ultima richiesta della conversazione, così la Claude API ne serve la maggior parte dalla [cache dei prompt](/docs/it/prompt-caching) finché la conversazione è ancora nella cache.

95 

96Entrambe le chiamate usano le credenziali della sessione, quindi vengono addebitate al piano, alla chiave API o al provider cloud dell'utente. [I tipi per la tua build](/docs/it/plugins/mods/create#get-the-types-for-your-build) documentano ogni metodo di `$.model`.

97 

98<h3 id="send-one-prompt">

99 Inviare un singolo prompt

100</h3>

101 

102Passa `model` e `prompt` a `$.model.complete`. `prompt` diventa il messaggio utente. Per dare istruzioni al modello, come un ruolo o un formato di output, passa anche `system`, che diventa il prompt di sistema.

83 103 

84Questo hook risponde a un comando `/triage`, [registrato come comando](#add-a-command), chiedendo a un modello piccolo di etichettare il testo digitato dopo di esso:104Questo hook risponde a un comando `/triage`, [registrato come comando](#add-a-command), chiedendo a un modello piccolo di etichettare il testo digitato dopo di esso:

85 105 


100})120})

101```121```

102 122 

103Quando esegui `/triage the export button does nothing`, il mod invia quel testo al modello e stampa la sua risposta, ad esempio `Label: bug`. La conversazione di Claude non fa parte della richiesta. Quando il modello non risponde, l'etichetta è `unknown`.123Quando esegui `/triage the export button does nothing`, il mod invia quel testo al modello e stampa la sua risposta, ad esempio `Label: bug`. Quando il modello non risponde, l'etichetta è `unknown`.

124 

125Un errore della Claude API non fa rifiutare la chiamata, quindi controlla `r.isAnswered` e leggi `r.reason` quando è `false`. La chiamata viene rifiutata per una richiesta che Claude Code non invierebbe, ad esempio un modello bloccato dalla tua organizzazione.

126 

127[I tipi per la tua build](/docs/it/plugins/mods/create#get-the-types-for-your-build) elencano le altre opzioni, come `effort`, e i [limiti](/docs/it/plugins/mods/reference#limits) indicano il valore predefinito di `maxTokens`.

128 

129<h3 id="use-prompt-caching">

130 Usare il prompt caching

131</h3>

132 

133`$.model.complete` supporta il [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) della Claude API. L'API memorizza nella cache l'inizio di una richiesta, chiamato prefisso, fino a un [punto di interruzione della cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) che imposti tu. Quando ogni chiamata inizia con lo stesso contenuto statico lungo, come istruzioni o materiale di riferimento, imposta un punto di interruzione alla fine di quel contenuto. Le chiamate successive lo leggono quindi dalla cache invece di pagarne il prezzo pieno di input.

134 

135Per impostare un punto di interruzione, passa `prompt` come array di blocchi `{ text }` invece che come stringa e aggiungi `cache: true` all'ultimo blocco del contenuto statico. Claude Code invia quel blocco con il campo `cache_control` dell'API. `system` accetta la stessa forma ad array. Per scegliere tra i due, consulta [Scegliere tra `prompt` e `system`](#choose-between-prompt-and-system).

136 

137<Note>

138 Gli array di blocchi richiedono Claude Code v2.1.292 o successivo. Le versioni precedenti rifiutano un array in `prompt` con un errore che termina con `takes { model, prompt } (host check)` e omettono dalla richiesta un array in `system`.

139</Note>

140 

141Questa versione dell'[hook `/triage`](#send-one-prompt) invia un lungo insieme di regole di etichettatura prima del testo da etichettare, con un punto di interruzione dopo le regole. `RULES` è una tua stringa:

142 

143```javascript theme={null}

144on('command.run', { command: 'triage' }, async ($, e) => {

145 const r = await $.model.complete({

146 model: 'haiku',

147 prompt: [

148 // Identical on every call, so it forms the cached prefix

149 { text: RULES, cache: true },

150 // Changes on every call, so it goes after the breakpoint

151 { text: e.args },

152 ],

153 })

154 return { text: 'Label: ' + (r.isAnswered ? r.text.trim() : 'unknown') }

155})

156```

157 

158Il TTL e il numero di punti di interruzione hanno questi limiti:

159 

160* **TTL**: una voce della cache dura cinque minuti dopo l'ultimo utilizzo. Il TTL deriva dalle impostazioni di Claude Code dell'utente, non dalla chiamata. Per un'ora, imposta [`subagentPromptCacheTtl`](/docs/it/prompt-caching#choose-the-ttl-yourself) su `1h`.

161* **Punti di interruzione per richiesta**: l'API ne accetta [fino a quattro](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints), e uno in più viene restituito come `api-error` in `r.reason`

162 

163<h4 id="choose-between-prompt-and-system">

164 Scegliere tra `prompt` e `system`

165</h4>

166 

167Metti il contenuto statico condiviso dalle tue chiamate all'inizio di `prompt`, a meno che tu non sappia che le tue richieste vanno direttamente alla Claude API:

168 

169* **Direttamente alla Claude API, con una chiave API o un abbonamento Claude**: funzionano entrambi i campi

170* **Tramite [Amazon Bedrock](/docs/it/amazon-bedrock), [Claude Platform on AWS](/docs/it/claude-platform-on-aws), [Agent Platform di Google Cloud](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) o un [gateway LLM](/docs/it/llm-gateway)**: usa `prompt`. Claude Code inizia il prompt di sistema con un [blocco di attribuzione](/docs/it/llm-gateway-protocol#system-prompt-attribution-block) la cui impronta deriva dall'inizio del messaggio utente. L'endpoint `api.anthropic.com` rimuove quel blocco prima della memorizzazione nella cache. Gli altri endpoint lo ricevono come parte del prompt, quindi un punto di interruzione in `system` può non trovare corrispondenza nella cache quando `prompt` inizia in modo diverso.

171* **In un mod eseguito da altre persone**: usa `prompt`, perché non sei tu a scegliere il loro provider

172 

173`system` precede `prompt` nel prefisso, quindi un punto di interruzione in `prompt` copre anche `system`, e una chiamata con un `system` diverso non trova corrispondenza nella cache.

104 174 

105Un errore della Claude API non fa rifiutare la chiamata, quindi controlla `r.isAnswered` e leggi `r.reason` quando è `false`. La chiamata viene rifiutata per una richiesta che Claude Code non invierebbe, ad esempio un modello bloccato dalla tua organizzazione. [I tipi per la tua build](/docs/it/plugins/mods/create#get-the-types-for-your-build) elencano le altre opzioni, come `effort`, e i [limiti](/docs/it/plugins/mods/reference#limits) indicano il valore predefinito di `maxTokens`.175<h4 id="check-for-cache-hits">

176 Verificare i riscontri nella cache

177</h4>

106 178 

107`$.model.fork({ prompt })` pone invece una domanda sulla conversazione corrente, con lo stesso modello e lo stesso prompt di sistema, così la Claude API ne serve la maggior parte dalla cache dei prompt.179Il risultato di `$.model.complete` ha un oggetto `usage` con i [campi della cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#tracking-cache-performance) dell'API. `usage.cache_creation_input_tokens` conta i token che la chiamata ha scritto nella cache e `usage.cache_read_input_tokens` conta i token che ha letto dalla cache. Aspettati una scrittura alla prima chiamata e letture nelle chiamate successive entro il TTL.

108 180 

109Queste chiamate usano il piano o la chiave API dell'utente.181Se ogni chiamata scrive e nessuna legge, il prefisso differisce tra le chiamate oppure le chiamate sono più distanti del TTL. Per un prefisso che differisce, consulta [Scegliere tra `prompt` e `system`](#choose-between-prompt-and-system).

182 

183Se entrambi i campi restano a zero nelle chiamate a cui il modello ha risposto, non è stato memorizzato nulla nella cache. Verifica ciascuna di queste cause:

184 

185* **Il prefisso è troppo corto**: l'API non memorizza nella cache un prefisso inferiore alla [lunghezza minima](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations) del modello e non restituisce alcun errore

186* **Il prompt caching è disabilitato**: quando al modello si applica una [variabile `DISABLE_PROMPT_CACHING`](/docs/it/prompt-caching#disable-prompt-caching), Claude Code rimuove i punti di interruzione e invia il testo senza cache

187* **Il tuo gateway rimuove `cache_control`**: un gateway può [rimuovere il campo e restituire comunque un esito positivo](/docs/it/prompt-caching#where-the-cache-lives)

188* **Un altro mod riscrive l'inizio del testo**: Claude Code lo [invia quindi senza punti di interruzione](#what-a-model-complete-hook-receives)

189 

190<h3 id="what-a-model-complete-hook-receives">

191 Cosa riceve un hook `model.complete`

192</h3>

193 

194Se agganci l'evento [`model.complete`](/docs/it/plugins/mods/reference#mods-api-calls) per ispezionare o modificare le richieste di altri mod, leggi il testo da questi campi:

195 

196* **`e.prompt`**: sempre una stringa. Quando il chiamante ha passato un array, è il testo dei blocchi concatenato in ordine.

197* **`e.system`**: una stringa costruita allo stesso modo, oppure assente quando il chiamante non ha passato alcun `system`

198* **`e.promptBlocks` ed `e.systemBlocks`**: gli array del chiamante, ciascuno presente quando il chiamante ha passato un array per quel campo

199 

200Claude Code invia le stringhe che il tuo hook passa a `next` e usa gli array che passi insieme a esse per posizionare i [punti di interruzione della cache](#use-prompt-caching). Mantiene i blocchi iniziali che corrispondono ancora all'inizio della stringa, con i relativi punti di interruzione, e invia il resto della stringa senza punti di interruzione. Ad esempio, `next({ ...e, prompt: e.prompt + NOTE })` mantiene i punti di interruzione del chiamante, mentre un hook che modifica l'inizio di `prompt` li rimuove.

110 201 

111<h2 id="run-work-in-the-background">202<h2 id="run-work-in-the-background">

112 Eseguire lavoro in background203 Eseguire lavoro in background


140| Chiamata | Cosa vede l'utente |231| Chiamata | Cosa vede l'utente |

141| :- | :- |232| :- | :- |

142| `$.ui.status(text)` | Una riga sotto il prompt che rimane finché non la modifichi. Inizia con `⚠` e il nome del mod, come in `⚠ my-mod: checks: 3 passing`. |233| `$.ui.status(text)` | Una riga sotto il prompt che rimane finché non la modifichi. Inizia con `⚠` e il nome del mod, come in `⚠ my-mod: checks: 3 passing`. |

143| `$.ui.toast(text)` | Una notifica toast in alto a destra, con il nome del mod sopra il testo, che scompare dopo qualche secondo |234| `$.ui.toast(text)` | Una notifica toast con il nome del mod che scompare dopo qualche secondo. È un riquadro in alto a destra nel [rendering a schermo intero](/docs/it/fullscreen), e una riga a destra sotto il prompt nel renderer classico. |

144| `$.ui.log(text)` | Una riga attenuata nella trascrizione che Claude non legge. Inizia con `●` e il nome del mod, come in `● my-mod: build finished`. |235| `$.ui.log(text)` | Una riga attenuata nella trascrizione che Claude non legge. Inizia con `●` e il nome del mod, come in `● my-mod: build finished`. |

145 236 

146<h3 id="start-a-turn-from-a-background-job">237<h3 id="start-a-turn-from-a-background-job">


159 Inviare e ricevere messaggi tra sessioni250 Inviare e ricevere messaggi tra sessioni

160</h2>251</h2>

161 252 

162Un mod può inviare un messaggio di testo semplice a un'altra delle tue sessioni o a uno dei subagent di questa sessione, e osservare i messaggi che arrivano e partono. `$.session.send({ to, text })` ne invia uno, con la stessa consegna effettuata dallo strumento SendMessage. `to` è `{ sessionId }` per una sessione, `{ agentId }` per un subagent ottenuto da `$.agent.list()`, oppure l'indirizzo stringa da cui proviene un messaggio ricevuto. La chiamata si risolve non appena il messaggio viene messo in coda, con `{ isDelivered: true }`. Quando non è stato consegnato nulla, si risolve con `{ isDelivered: false, reason }`, e `reason` ne indica il motivo.253Un mod può inviare un messaggio di testo semplice a un'altra delle tue sessioni, a uno dei subagent di questa sessione o a un membro del suo [team di agenti](/docs/it/agent-teams). Può anche osservare i messaggi che arrivano e partono.

254 

255Per inviarne uno, chiama `$.session.send({ to, text })`, che effettua la stessa consegna dello strumento SendMessage. Imposta `to` in base a chi riceve il messaggio:

256 

257* **Un'altra delle tue sessioni**: `{ sessionId }`

258* **Un subagent o un membro del team**: `{ agentId }`, con un id ottenuto da `$.agent.list()`

259* **Il mittente di un messaggio che hai ricevuto**: l'indirizzo stringa da cui proviene quel messaggio

260 

261La chiamata si risolve non appena il messaggio viene messo in coda, con `{ isDelivered: true }`. Quando non è stato consegnato nulla, si risolve con `{ isDelivered: false, reason }`, e `reason` ne indica il motivo.

163 262 

164Questo hook risponde a un comando `/ping`, [registrato come comando](#add-a-command), chiedendo uno stato alla sessione il cui id digiti dopo di esso:263Questo hook risponde a un comando `/ping`, [registrato come comando](#add-a-command), chiedendo uno stato alla sessione il cui id digiti dopo di esso:

165 264 

Details

281 Ottieni le definizioni dei tipi per la tua versione281 Ottieni le definizioni dei tipi per la tua versione

282</h3>282</h3>

283 283 

284Ogni volta che Claude Code carica o ricarica un mod da una directory che passi a `--plugin-dir`, oppure un mod [che Claude ha scritto per te](#ask-claude-for-a-mod), scrive dei file di dichiarazione TypeScript, con estensione `.d.ts`, in `.claude-plugin/types/` all'interno della directory del mod. Questi descrivono esattamente gli eventi, i metodi dell'API dei mod e gli elementi presenti nella versione di Claude Code che stai eseguendo, così il tuo editor può completare automaticamente e verificare i tipi dei tuoi hook. Per consultare le dichiarazioni online, leggi [`mods/types/claude-code.d.ts`](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) nel repository di Claude Code, la cui prima riga indica la versione che lo ha scritto. La directory contiene questi file:284Quando Claude Code carica un mod da `--plugin-dir` in una sessione interattiva, oppure un mod [che Claude ha scritto per te](#ask-claude-for-a-mod), scrive dei file di dichiarazione TypeScript nella directory `.claude-plugin/types/` del mod. Questi descrivono esattamente gli eventi, i metodi dell'API dei mod e gli elementi presenti nella versione di Claude Code che stai eseguendo, così il tuo editor può completare automaticamente e verificare i tipi dei tuoi hook. La directory contiene questi file:

285 285 

286| Percorso | Cosa dichiara |286| Percorso | Cosa dichiara |

287| :- | :- |287| :- | :- |

Details

145 145 

146Dopo che Claude modifica o scrive un file `.mdx`, una riga attenuata nella trascrizione indica il nome del file. Non viene registrato nulla per un altro tipo di file, né per una chiamata rifiutata o non riuscita. La visione che Claude ha della chiamata non cambia, perché l'hook restituisce il risultato che ha ricevuto.146Dopo che Claude modifica o scrive un file `.mdx`, una riga attenuata nella trascrizione indica il nome del file. Non viene registrato nulla per un altro tipo di file, né per una chiamata rifiutata o non riuscita. La visione che Claude ha della chiamata non cambia, perché l'hook restituisce il risultato che ha ricevuto.

147 147 

148Per modificare una chiamata, passa argomenti modificati a `next`. Per riprovare una chiamata, chiama di nuovo `next(e)`: un hook che vede `isError` nel primo risultato può eseguire lo strumento una seconda volta e restituire quel risultato. Per rispondere tu stesso a una chiamata, restituisci un oggetto con un campo `result`, come `{ result: 'Skipped by my-mod' }`, senza chiamare `next`. In questo caso non compare alcuna richiesta di permesso e lo strumento non viene eseguito, quindi il risultato che restituisci è tutto ciò che Claude sa di quanto è accaduto.148Il tuo hook può anche modificare una chiamata, riprovarla, rispondervi tu stesso o nasconderne il risultato:

149 

150* **Modificare la chiamata**: passa argomenti modificati a `next`.

151* **Riprovare la chiamata**: chiama di nuovo `next(e)`. Un hook che vede `isError` nel primo risultato può eseguire lo strumento una seconda volta e restituire quel risultato.

152* **Rispondere tu stesso alla chiamata**: restituisci un oggetto con un campo `result`, senza chiamare `next`, e per uno strumento integrato dai a `result` la forma che ha il risultato di quello strumento nei [tipi per la tua build](/docs/it/plugins/mods/create#get-the-types-for-your-build). Non compare alcuna richiesta di permesso e lo strumento non viene eseguito, quindi il risultato che restituisci è tutto ciò che Claude sa di quanto è accaduto.

153* **Nascondere il risultato a Claude**: restituisci `{ deny: reason }` dopo `await next(e)`. Claude legge il tuo motivo al posto di ciò che `next` ha restituito. Quando lo strumento è stato eseguito, il deny impedisce a Claude di vederne il risultato e non annulla nulla di ciò che lo strumento ha fatto. Quando lo strumento è stato eseguito con successo, il motivo segue una nota come `Bash ran, and a plugin withheld its result:`.

149 154 

150Gli hook nelle [impostazioni gestite](/docs/it/server-managed-settings) della tua organizzazione vengono eseguiti prima dell'hook `tool.call` di qualsiasi mod, e un blocco da parte di uno di essi è definitivo.155Gli hook nelle [impostazioni gestite](/docs/it/server-managed-settings) della tua organizzazione vengono eseguiti prima dell'hook `tool.call` di qualsiasi mod, e un blocco da parte di uno di essi è definitivo.

151 156 


225 230 

226| Per fare questo | Restituisci questo |231| Per fare questo | Restituisci questo |

227| :- | :- |232| :- | :- |

228| Riscrivere il prompt. Il messaggio nella trascrizione mostra il nuovo testo. | `next({ ...e, text: newText })` |233| Riscrivere il prompt. La trascrizione e la tua [cronologia dei prompt](/docs/it/interactive-mode#command-history) mostrano il nuovo testo. | `next({ ...e, text: newText })` |

229| Aggiungere testo, dopo il prompt, che solo Claude legge | `next({ ...e, context: [...(e.context ?? []), extraText] })` |234| Aggiungere testo, dopo il prompt, che solo Claude legge | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

230| Impedire l'invio del prompt | `{ drop: 'the reason' }` |235| Impedire l'invio del prompt | `{ drop: 'the reason' }` |

231 236 


245 250 

246Quando invii un prompt come `open a PR for this change`, il tuo messaggio appare invariato nella trascrizione, e Claude legge anche una riga come `Current branch: feature/auth` dopo di esso. Un prompt che non menziona una pull request passa invariato, e `git` non viene eseguito.251Quando invii un prompt come `open a PR for this change`, il tuo messaggio appare invariato nella trascrizione, e Claude legge anche una riga come `Current branch: feature/auth` dopo di esso. Un prompt che non menziona una pull request passa invariato, e `git` non viene eseguito.

247 252 

248Per bloccare un prompt, restituisci `{ drop: 'the reason' }` senza chiamare `next`. Se il tuo hook restituisce un `drop` dopo che la sua chiamata a `next(e)` ha lasciato passare il prompt, il turno viene comunque eseguito e l'hook [non riesce](#handle-a-hook-that-fails) con un messaggio che include `a drop after its next() was answered`.253Per bloccare un prompt, restituisci `{ drop: 'the reason' }` senza chiamare `next`. Il testo torna nel campo di input del prompt dell'utente, che vede `Prompt dropped by a hook:` seguito dal tuo motivo, quindi rivolgi il motivo all'utente. Se il tuo hook restituisce un `drop` dopo che la sua chiamata a `next(e)` ha lasciato passare il prompt, il turno viene comunque eseguito e l'hook [non riesce](#handle-a-hook-that-fails) con un messaggio che include `a drop after its next() was answered`.

249 254 

250[Altri eventi](/docs/it/plugins/mods/reference#prompts-and-what-claude-reads) coprono il resto di ciò che Claude legge: `prompt.section` per ogni sezione del prompt di sistema, `prompt.context` per il contesto inviato con il primo messaggio e `skill.prompt` per il testo di una skill. Il testo di questi hook che cambia tra una richiesta e l'altra [invalida la cache dei prompt](/docs/it/prompt-caching).255[Altri eventi](/docs/it/plugins/mods/reference#prompts-and-what-claude-reads) coprono il resto di ciò che Claude legge: `prompt.section` per ogni sezione del prompt di sistema, `prompt.context` per il contesto inviato con il primo messaggio e `skill.prompt` per il testo di una skill. Il testo di questi hook che cambia tra una richiesta e l'altra [invalida la cache dei prompt](/docs/it/prompt-caching).

251 256 


281 286 

282`result.usage` contiene i conteggi di token che la Claude API riporta per una richiesta, più il `model` che ha risposto: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. L'hook viene eseguito anche per le richieste dei subagent, quindi controlla `e.agentId` quando vuoi solo la conversazione principale.287`result.usage` contiene i conteggi di token che la Claude API riporta per una richiesta, più il `model` che ha risposto: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. L'hook viene eseguito anche per le richieste dei subagent, quindi controlla `e.agentId` quando vuoi solo la conversazione principale.

283 288 

289Per vedere le chiamate agli strumenti che l'API ha eseguito autonomamente durante la richiesta, come le chiamate allo [strumento advisor](/docs/it/advisor), leggi `result.serverToolUses`. Claude Code non esegue queste chiamate, quindi nessun hook `tool.call` o `tool.check` si attiva per esse. Il campo è assente quando la risposta non contiene chiamate di questo tipo e richiede Claude Code v2.1.290 o successivo.

290 

284<h3 id="hook-the-settings-hook-events">291<h3 id="hook-the-settings-hook-events">

285 Gestire gli eventi degli hook delle impostazioni292 Gestire gli eventi degli hook delle impostazioni

286</h3>293</h3>


369* **`tool.check`**: restituisci `{ decision: 'deny', reason: 'the reason' }`376* **`tool.check`**: restituisci `{ decision: 'deny', reason: 'the reason' }`

370* **`plugin.register`**: restituisci `{ refuse: 'the reason' }`, come mostrato in [Rifiutare i mod quando il tuo controllo fallisce](/docs/it/plugins/mods/admin#refuse-mods-when-your-check-fails)377* **`plugin.register`**: restituisci `{ refuse: 'the reason' }`, come mostrato in [Rifiutare i mod quando il tuo controllo fallisce](/docs/it/plugins/mods/admin#refuse-mods-when-your-check-fails)

371 378 

379Su `tool.call`, un `deny` restituito dopo che `next` è stato risolto [nasconde il risultato a Claude](#guard-or-change-a-tool-call).

380 

372<h2 id="next-steps">381<h2 id="next-steps">

373 Passaggi successivi382 Passaggi successivi

374</h2>383</h2>

Details

10 10 

11Questa mappa mostra dove un mod può disegnare in una sessione del terminale:11Questa mappa mostra dove un mod può disegnare in una sessione del terminale:

12 12 

13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Mappa di una sessione del terminale di Claude Code. Un mod può aggiungere un riquadro come barra laterale a destra, un toast in alto a destra della trascrizione, una riga di log nella trascrizione, una fascia sopra il prompt e una riga di stato sotto il prompt. Un mod può ridisegnare i messaggi, le righe delle chiamate agli strumenti e lo spinner. Il prompt appartiene a Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Mappa di una sessione del terminale di Claude Code con il rendering a schermo intero. Un mod può aggiungere un riquadro come barra laterale a destra, un toast in alto a destra della trascrizione, una riga di log nella trascrizione, una fascia sopra il prompt e una riga di stato sotto il prompt. Un mod può ridisegnare i messaggi, le righe delle chiamate agli strumenti e lo spinner. Il prompt appartiene a Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />

14 14 

15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Mappa di una sessione del terminale di Claude Code. Un mod può aggiungere un riquadro come barra laterale a destra, un toast in alto a destra della trascrizione, una riga di log nella trascrizione, una fascia sopra il prompt e una riga di stato sotto il prompt. Un mod può ridisegnare i messaggi, le righe delle chiamate agli strumenti e lo spinner. Il prompt appartiene a Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Mappa di una sessione del terminale di Claude Code con il rendering a schermo intero. Un mod può aggiungere un riquadro come barra laterale a destra, un toast in alto a destra della trascrizione, una riga di log nella trascrizione, una fascia sopra il prompt e una riga di stato sotto il prompt. Un mod può ridisegnare i messaggi, le righe delle chiamate agli strumenti e lo spinner. Il prompt appartiene a Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />

16 16 

17In un terminale più stretto, il riquadro si trova sopra il prompt anziché accanto alla trascrizione.17In un terminale più stretto, il riquadro si trova sopra il prompt anziché accanto alla trascrizione.

18 18 


324| `title` | L'etichetta della scheda del pannello quando è aperto più di un pannello |324| `title` | L'etichetta della scheda del pannello quando è aperto più di un pannello |

325| `focus` | Richiede il [focus della tastiera](#know-which-keys-your-mod-can-receive) |325| `focus` | Richiede il [focus della tastiera](#know-which-keys-your-mod-can-receive) |

326| `closeOnEscape` | Fa sì che Esc chiuda il pannello |326| `closeOnEscape` | Fa sì che Esc chiuda il pannello |

327| `holdToasts` | Trattiene i toast, i piccoli avvisi di [`$.ui.toast`](/docs/it/plugins/mods/api#show-something-without-starting-a-turn), finché il pannello non si chiude |327| `holdToasts` | Nel terminale, trattiene i toast finché è questo il pannello mostrato. Vedi [Trattieni i toast dietro una finestra di dialogo](#hold-toasts-behind-a-dialog). |

328| `rows` | L'altezza da richiedere quando il pannello si trova sopra il prompt. Il valore predefinito è un terzo dello spazio. |328| `rows` | L'altezza da richiedere quando il pannello si trova sopra il prompt. Il valore predefinito è un terzo dello spazio. |

329| `columns` | La larghezza da richiedere quando il pannello si trova accanto alla trascrizione |329| `columns` | La larghezza da richiedere quando il pannello si trova accanto alla trascrizione |

330 330 


337 337 

338Per consentire a un comando di aprire il pannello mentre Claude sta lavorando, aggiungi `immediate: true` quando [registri il comando](/docs/it/plugins/mods/api#add-a-command). Senza di esso, un comando digitato durante un turno attende la fine del turno.338Per consentire a un comando di aprire il pannello mentre Claude sta lavorando, aggiungi `immediate: true` quando [registri il comando](/docs/it/plugins/mods/api#add-a-command). Senza di esso, un comando digitato durante un turno attende la fine del turno.

339 339 

340<h4 id="hold-toasts-behind-a-dialog">

341 Trattieni i toast dietro una finestra di dialogo

342</h4>

343 

344Passa `holdToasts: true` a `$.ui.open` quando il pannello è una finestra di dialogo a cui l'utente risponde e che poi lascia, così i toast non compaiono mentre decide. Nel terminale, la trattenuta dura finché è quel pannello a essere mostrato, e un toast generato in quel lasso di tempo attende la fine della trattenuta.

345 

346Claude Code trattiene i toast degli altri mod e le proprie notifiche di breve durata, oltre a quelli che il tuo mod genera con [`$.ui.toast`](/docs/it/plugins/mods/api#show-something-without-starting-a-turn). Ometti il campo in un pannello che resta aperto, così l'utente continua a vederli.

347 

340<h4 id="when-a-pane-waits-for-a-wider-terminal">348<h4 id="when-a-pane-waits-for-a-wider-terminal">

341 Quando un pannello attende un terminale più ampio349 Quando un pannello attende un terminale più ampio

342</h4>350</h4>

Details

64| :- | :- | :- |64| :- | :- | :- |

65| [`tool.call`](/docs/it/plugins/mods/events#guard-or-change-a-tool-call) | Uno strumento sta per essere eseguito | `next(e)`, `{ deny: reason }` oppure `{ result }` |65| [`tool.call`](/docs/it/plugins/mods/events#guard-or-change-a-tool-call) | Uno strumento sta per essere eseguito | `next(e)`, `{ deny: reason }` oppure `{ result }` |

66| [`tool.check`](/docs/it/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code decide se una chiamata a uno strumento può essere eseguita, dopo gli hook `tool.call` e `PreToolUse`. `next(e)` si risolve nella decisione raggiunta dalle regole, dalla modalità di permesso e da quegli hook. | `{ decision }`, che è `allow`, `ask` o `deny` |66| [`tool.check`](/docs/it/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code decide se una chiamata a uno strumento può essere eseguita, dopo gli hook `tool.call` e `PreToolUse`. `next(e)` si risolve nella decisione raggiunta dalle regole, dalla modalità di permesso e da quegli hook. | `{ decision }`, che è `allow`, `ask` o `deny` |

67| `tool.describe` | Una volta per ogni strumento, quando la sua descrizione viene inviata per la prima volta a Claude | `{ description }`, facoltativamente con `isDeferred` impostato su `true` per mettere lo strumento dietro la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search) o su `false` per caricarlo subito |67| `tool.describe` | Una volta per ogni strumento, quando la sua descrizione viene inviata per la prima volta a Claude. Una seconda volta per uno strumento MCP quando Claude lo carica tramite la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search), con `e.description` impostato sul testo che Claude legge per lo strumento caricato. | `{ description }`, facoltativamente con `isDeferred` impostato su `true` per mettere lo strumento dietro la ricerca degli strumenti o su `false` per caricarlo subito |

68 68 

69<h4 id="agent-and-organization-fields-on-tool-check">69<h4 id="agent-and-organization-fields-on-tool-check">

70 Campi dell'agente e dell'organizzazione su `tool.check`70 Campi dell'agente e dell'organizzazione su `tool.check`


133| `session.end` | La sessione termina, oppure viene eseguito `/clear`, `/resume` o `/branch`. `e.reason` è `clear`, `resume`, `logout`, `prompt_input_exit` o `other`. `/branch` riporta `resume`. | `next(e)` |133| `session.end` | La sessione termina, oppure viene eseguito `/clear`, `/resume` o `/branch`. `e.reason` è `clear`, `resume`, `logout`, `prompt_input_exit` o `other`. `/branch` riporta `resume`. | `next(e)` |

134| `session.compact` | La conversazione sta per essere compattata | `{ skip: reason }` |134| `session.compact` | La conversazione sta per essere compattata | `{ skip: reason }` |

135| [`session.receive`](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions) | Un messaggio arriva da un altro agente o da un'altra sessione, o sta per esservi inviato. Consulta [Inviare e ricevere messaggi tra sessioni](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` per `receive`, `{ isDelivered: false, reason }` per `send` |135| [`session.receive`](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions) | Un messaggio arriva da un altro agente o da un'altra sessione, o sta per esservi inviato. Consulta [Inviare e ricevere messaggi tra sessioni](/docs/it/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` per `receive`, `{ isDelivered: false, reason }` per `send` |

136| `session.append` | Una volta per ogni riga che la conversazione conserva, come un prompt, un blocco di risposta, il risultato di uno strumento o un avviso, prima che venga memorizzata | `next({ ...e, message })` per riscrivere il `content` della riga |136| `session.append` | Una volta per ogni riga che la conversazione conserva, come un prompt, un blocco di risposta, il risultato di uno strumento o un avviso, prima che venga memorizzata | `next({ ...e, message })` con un `message.content` modificato, per riscrivere i blocchi di testo della riga o il `content` di un blocco `tool_result` al suo interno |

137| `session.attach`, `session.detach` | Un'altra app si connette alla sessione o si disconnette da essa | `next(e)` |137| `session.attach`, `session.detach` | Un'altra app si connette alla sessione o si disconnette da essa | `next(e)` |

138| `session.measure` | Dopo ogni turno e quando cambia la percentuale utilizzata di un limite del piano | `next(e)` |138| `session.measure` | Dopo ogni turno e quando cambia la percentuale utilizzata di un limite del piano | `next(e)` |

139 139 


209| [`$.ui`](/docs/it/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |209| [`$.ui`](/docs/it/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

210| [`$.command`](/docs/it/plugins/mods/api#add-a-command) | `register`, `run`, `list` |210| [`$.command`](/docs/it/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

211| [`$.tool`](/docs/it/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |211| [`$.tool`](/docs/it/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

212| `$.agent` | `register`, `spawn`, `list` |212| `$.agent` | `register`, `spawn`, `list`. `list()` restituisce i subagent e i compagni di squadra di questa sessione, ciascuno con uno `status` tra `pending`, `running`, `waiting`, `idle`, `completed`, `failed` o `killed`, dove `idle` e `waiting` richiedono Claude Code v2.1.289 o versioni successive. |

213| [`$.model`](/docs/it/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |213| [`$.model`](/docs/it/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |

214| [`$.prompt`](/docs/it/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude legge il testo di `submit({ text })` dopo una frase che indica il tuo mod come mittente. `submit({ text, asUser: true })` invia il testo come parole dell'utente stesso, senza quella frase. |214| [`$.prompt`](/docs/it/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude legge il testo di `submit({ text })` dopo una frase che indica il tuo mod come mittente. `submit({ text, asUser: true })` invia il testo come parole dell'utente stesso, senza quella frase. |

215| `$.turn` | `abort` |215| `$.turn` | `abort` |


317| Timeout di `$.process.run` | 30 secondi per impostazione predefinita, 10 minuti al massimo |317| Timeout di `$.process.run` | 30 secondi per impostazione predefinita, 10 minuti al massimo |

318| `maxTokens` di `$.model.complete` | 1024 per impostazione predefinita, fino a 64.000 o al limite di output del modello |318| `maxTokens` di `$.model.complete` | 1024 per impostazione predefinita, fino a 64.000 o al limite di output del modello |

319| `$.fs.read` e `$.fs.write` | 4 MiB per un singolo file |319| `$.fs.read` e `$.fs.write` | 4 MiB per un singolo file |

320| Il motivo `drop` di un hook o il motivo `deny` di `config.set` | 4.096 caratteri. La parte finale di un motivo più lungo viene troncata, e il drop o il deny si applica comunque. Il troncamento richiede Claude Code v2.1.292 o versioni successive; nelle versioni precedenti l'hook invece [non riesce](/docs/it/plugins/mods/events#handle-a-hook-that-fails). |

320| Testo in un singolo albero | Vengono disegnati i primi 100.000 caratteri |321| Testo in un singolo albero | Vengono disegnati i primi 100.000 caratteri |

321| Il `language` o il `path` di un `Code`, il `value` di un'opzione `Select` o il `module` di un `Client` | 10.000 caratteri. Se uno è più lungo, Claude Code [disegna la propria versione del sito](/docs/it/plugins/mods/interface#build-a-tree-from-elements). |322| Il `language` o il `path` di un `Code`, il `value` di un'opzione `Select` o il `module` di un `Client` | 10.000 caratteri. Se uno è più lungo, Claude Code [disegna la propria versione del sito](/docs/it/plugins/mods/interface#build-a-tree-from-elements). |

322| L'`href` di un `Link` | 2.048 caratteri. Un `href` più lungo impedisce il disegno dell'intero albero. |323| L'`href` di un `Link` | 2.048 caratteri. Un `href` più lungo impedisce il disegno dell'intero albero. |


325| Ridisegni di `$.ui.invalidate('ui.render')` | Limitati a 10 al secondo, o 30 nel terminale per il riquadro visibile, la fascia espansa e la riga di suggerimento sotto il prompt. Le chiamate che arrivano prima vengono accorpate. |326| Ridisegni di `$.ui.invalidate('ui.render')` | Limitati a 10 al secondo, o 30 nel terminale per il riquadro visibile, la fascia espansa e la riga di suggerimento sotto il prompt. Le chiamate che arrivano prima vengono accorpate. |

326| `$.ui.toast` | Mostrato per 4 secondi, a meno che tu non passi `{ timeoutMs }` |327| `$.ui.toast` | Mostrato per 4 secondi, a meno che tu non passi `{ timeoutMs }` |

327| Un riquadro aperto senza che l'utente lo abbia richiesto | Posizionato a partire da 144 colonne del terminale, 110 dopo che l'utente lo ha aperto una volta |328| Un riquadro aperto senza che l'utente lo abbia richiesto | Posizionato a partire da 144 colonne del terminale, 110 dopo che l'utente lo ha aperto una volta |

329| Scope, come funzioni, blocchi e cicli, annidati l'uno dentro l'altro in un singolo file di un modulo degli hook | 2.000 |

328| Nomi di comandi, strumenti, tipi di subagent e riquadri | Lettere, cifre, `_` e `-`, fino a 64 caratteri |330| Nomi di comandi, strumenti, tipi di subagent e riquadri | Lettere, cifre, `_` e `-`, fino a 64 caratteri |

329| Un singolo test di `claude plugin test` | 5 secondi, a meno che il test non imposti `timeoutMs` |331| Un singolo test di `claude plugin test` | 5 secondi, a meno che il test non imposti `timeoutMs` |

330 332 

Details

110* `returned neither { value } nor { deny }`: uno stub per una chiamata della mods API ha restituito un valore semplice, il che fa fallire il test110* `returned neither { value } nor { deny }`: uno stub per una chiamata della mods API ha restituito un valore semplice, il che fa fallire il test

111* `no implementation for` seguito da un nome: il tuo mod ha effettuato quella chiamata e nessuno stub risponde111* `no implementation for` seguito da un nome: il tuo mod ha effettuato quella chiamata e nessuno stub risponde

112 112 

113Il kit esporta anche mock in memoria che rispondono per te a un intero namespace. `mock.clock(on)` risponde a [`$.clock`](/docs/it/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` risponde a `$.store` da uno store che inizia con quelle voci, e `mock.env(on, { CI: 'true' })` risponde a `$.env.get` da quelle variabili. `mock.clock` restituisce un orologio mock che il tuo test fa avanzare, così un test di un timer non deve attendere. `mock.store` non restituisce nulla, quindi per verificare cosa ha salvato il tuo mod, scrivi tu stesso i due stub `store` come fa il [test di disegno](#test-a-drawing).113Il kit esporta anche mock pronti all'uso per l'orologio, lo store, le variabili d'ambiente e le righe aggiunte alla conversazione:

114 

115* **`mock.clock(on)`**: risponde a [`$.clock`](/docs/it/plugins/mods/api#run-work-in-the-background) e restituisce un orologio mock che il tuo test fa avanzare, così un test di un timer non deve attendere.

116* **`mock.store(on, { count: 7 })`**: risponde a `$.store` da uno store che inizia con quelle voci. Non restituisce nulla, quindi per verificare cosa ha salvato il tuo mod, scrivi tu stesso i due stub `store` come fa il [test di disegno](#test-a-drawing).

117* **`mock.env(on, { CI: 'true' })`**: risponde a `$.env.get` da quelle variabili.

118* **`mock.session(on)`**: restituisce una sessione mock il cui metodo `appended()` elenca le righe che il tuo mod ha aggiunto con [`$.session.append`](/docs/it/plugins/mods/reference#session), a partire dalla più vecchia; richiede Claude Code v2.1.293 o successiva.

114 119 

115<h3 id="follow-the-test-kit’s-rules">120<h3 id="follow-the-test-kit’s-rules">

116 Seguire le regole del test kit121 Seguire le regole del test kit


168 Consultare cosa restituisce uno stub173 Consultare cosa restituisce uno stub

169</h3>174</h3>

170 175 

171Ogni chiamata della mods API che il tuo mod effettua in un test ha bisogno di uno stub che risponda al posto di Claude Code, tranne le poche a cui risponde il kit stesso: le chiamate [`$.ui.invalidate`](/docs/it/plugins/mods/interface#redraw-when-something-changes) e [`$.state`](/docs/it/plugins/mods/interface#keep-state). Per le chiamate `$.clock`, usa `mock.clock(on)`, altrimenti il `$.clock.now()` del tuo mod fallisce con `no implementation for clock.now`.176Ogni chiamata della mods API che il tuo mod effettua in un test ha bisogno di uno stub che risponda al posto di Claude Code, tranne le poche a cui risponde il kit stesso: le chiamate [`$.ui.invalidate`](/docs/it/plugins/mods/interface#redraw-when-something-changes), [`$.state`](/docs/it/plugins/mods/interface#keep-state) e `$.session.append`. Per le chiamate `$.clock`, usa `mock.clock(on)`, altrimenti il `$.clock.now()` del tuo mod fallisce con `no implementation for clock.now`.

172 177 

173Questa tabella elenca quelle che i mod usano più spesso. La prima colonna è la chiamata che il tuo mod effettua o l'evento che passa con `next(e)`. La seconda è la funzione da passare a `on` con quel nome, così la riga `$.store.get` diventa `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Un `'...'` in uno stub indica un testo da compilare:178Questa tabella elenca quelle che i mod usano più spesso. La prima colonna è la chiamata che il tuo mod effettua o l'evento che passa con `next(e)`. La seconda è la funzione da passare a `on` con quel nome, così la riga `$.store.get` diventa `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Un `'...'` in uno stub indica un testo da compilare:

174 179 

Details

116 116 

117Imposta o modifica il valore. La fine della riga indica la relativa voce `pluginConfigs` in `settings.json`.117Imposta o modifica il valore. La fine della riga indica la relativa voce `pluginConfigs` in `settings.json`.

118 118 

119<h3 id="code-nested-too-deep-to-scan-more-than-2000-scopes">

120 `code nested too deep to scan: more than 2000 scopes`

121</h3>

122 

123La riga inizia con il nome del mod, seguito da `hooks module did not load:`, dal file e da `code nested too deep to scan: more than 2000 scopes`. Un file in un modulo degli hook non può annidare scope, come funzioni, blocchi e cicli, oltre [2.000 livelli di profondità](/docs/it/plugins/mods/reference#limits). [`claude plugin validate`](/docs/it/plugins/mods/create#check-what-claude-code-reads-from-your-mod) segnala lo stesso motivo.

124 

125Riscrivi il codice in modo che i suoi scope siano annidati meno in profondità.

126 

119<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">127<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">

120 Nessun mod si carica in una directory aperta per la prima volta128 Nessun mod si carica in una directory aperta per la prima volta

121</h3>129</h3>


132 140 

133Avvialo senza il flag.141Avvialo senza il flag.

134 142 

143<h3 id="claude-code-stops-asking-to-enable-hot-reloading">

144 Claude Code non chiede più di attivare il ricaricamento a caldo

145</h3>

146 

147Claude scrive un mod in una sessione interattiva, non viene caricato nulla e Claude Code non chiede più [se attivare il ricaricamento a caldo](/docs/it/plugins/mods/create#ask-claude-for-a-mod). Se la domanda si chiude tre volte senza che sia stata scelta una risposta, il ricaricamento a caldo resta disattivato. Ad esempio, la domanda si chiude in questo modo quando imposti [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout) e il tempo scade prima che tu risponda. Questa impostazione si applica qui perché Claude Code pone la domanda nella stessa [finestra di dialogo delle domande usata da `AskUserQuestion`](/docs/it/tools-reference#question-auto-continue-timeout). Una domanda che chiudi tu stesso non conta ai fini delle tre.

148 

149Per eseguire il mod, [copia la sua directory fuori dalla cartella dei mod](/docs/it/plugins/mods/create#use-the-mod-in-other-sessions), poi nella tua shell avvia una nuova sessione con `--plugin-dir`, come in `claude --plugin-dir ~/mods/git-branch`.

150 

135<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">151<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">

136 Un hook viene saltato o un mod viene scaricato152 Un hook viene saltato o un mod viene scaricato

137</h2>153</h2>


209 Un disegno non appare o non risponde225 Un disegno non appare o non risponde

210</h2>226</h2>

211 227 

212Il mod è stato caricato, ma il suo riquadro, la sua banda o i suoi controlli non si comportano come ti aspetti.228Il mod è stato caricato, ma il suo riquadro, la sua banda, il suo toast o i suoi controlli non si comportano come ti aspetti.

213 229 

214<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">230<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

215 Un riquadro o una banda è vuota o mostra il contenuto abituale di Claude Code231 Un riquadro o una banda è vuota o mostra il contenuto abituale di Claude Code


247 263 

248Apri il riquadro da un comando o da un pulsante, oppure controlla il risultato `isPlaced` della chiamata. Consulta [Aprire un riquadro al momento giusto](/docs/it/plugins/mods/interface#open-a-pane-at-the-right-time).264Apri il riquadro da un comando o da un pulsante, oppure controlla il risultato `isPlaced` della chiamata. Consulta [Aprire un riquadro al momento giusto](/docs/it/plugins/mods/interface#open-a-pane-at-the-right-time).

249 265 

266<h3 id="a-toast-doesn’t-appear">

267 Un toast non appare

268</h3>

269 

270Il tuo mod chiama [`$.ui.toast`](/docs/it/plugins/mods/api#show-something-without-starting-a-turn) in una sessione interattiva del terminale e non vedi il toast. Per confermare che la chiamata sia stata eseguita, cerca nel [log di debug](#read-the-debug-log) una riga con il nome del tuo mod e il testo del toast, come in `$.ui.toast (first-mod): build finished`. Poi verifica cause come queste:

271 

272* **La riga relativa alla chiamata manca**: cerca una riga che spieghi perché Claude Code ha rifiutato la chiamata, come in `first-mod: $.ui.toast dropped: timeoutMs is a whole number of ms, 1 to 60000`.

273* **Un riquadro sta trattenendo i toast**: il tuo mod o un altro ha passato [`holdToasts`](/docs/it/plugins/mods/interface#hold-toasts-behind-a-dialog) quando ha aperto il riquadro visualizzato. Chiudi il riquadro per terminare la trattenuta. Se il riquadro è tuo ed è pensato per restare aperto, rimuovi `holdToasts` dalla sua chiamata `$.ui.open` e apri di nuovo il riquadro.

274* **Il toast è sotto il prompt**: nel [renderer classico](/docs/it/fullscreen#enable-fullscreen-rendering), guarda a destra sotto il prompt. Lì un toast è una singola riga che inizia con il nome del mod, anziché una casella in alto a destra.

275* **Il tuo mod ha generato un toast più recente**: nel renderer classico, un toast più recente del tuo mod può prendere il posto di uno visualizzato o in attesa di essere visualizzato. Il log di debug contiene un'altra riga per il toast più vecchio, che termina con `gave way, cut short` se era visualizzato, oppure con `gave way, unseen` se non è mai apparso. Per mostrare entrambi i messaggi, inseriscili in un unico toast.

276* **Il tempo del toast è scaduto prima che venisse disegnato**: nel rendering a schermo intero, Claude Code disegna al massimo tre toast alla volta, quindi il tempo di un toast può scadere prima che venga disegnato. Il log di debug contiene un'altra riga per quel toast, che termina con `left the stack, never drawn`. Quando il tuo mod ne genera diversi contemporaneamente, inserisci i messaggi in un unico toast.

277 

278Prima della v2.1.290, Claude Code scartava un toast generato entro due secondi dall'ultimo mostrato per il tuo mod, e la riga del log di debug relativa al toast scartato riportava `within 2000ms of the last; dropped`.

279 

250<h3 id="hotkeys-do-nothing">280<h3 id="hotkeys-do-nothing">

251 I tasti di scelta rapida non fanno nulla281 I tasti di scelta rapida non fanno nulla

252</h3>282</h3>

Details

110}110}

111```111```

112 112 

113Nel tuo shell, esegui `claude plugin validate .` nel repository per controllare il file prima di eseguire il push.113Nella tua shell, esegui `claude plugin validate .` nel repository prima di eseguire il push. Per sapere cosa controlla l'esecuzione, vedi [Convalida una directory](/docs/it/plugins/cli-reference#validate-a-directory).

114 114 

115[Crea un marketplace](/docs/it/plugins/create-marketplace) copre il layout con diversi plugin in un repository.115[Crea un marketplace](/docs/it/plugins/create-marketplace) copre il layout con diversi plugin in un repository.

116 116 


129* Aggiungi il marketplace una volta: `claude plugin marketplace add your-org/your-marketplace`, dove l'argomento è una scorciatoia GitHub `owner/repo`, un URL o un percorso129* Aggiungi il marketplace una volta: `claude plugin marketplace add your-org/your-marketplace`, dove l'argomento è una scorciatoia GitHub `owner/repo`, un URL o un percorso

130* Installa il plugin: `claude plugin install deploy-helper@your-marketplace`130* Installa il plugin: `claude plugin install deploy-helper@your-marketplace`

131* Oppure fai entrambi da dentro una sessione: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Richiede Claude Code v2.1.275 o successivo. Vedi [Aggiungi un marketplace e installa in un comando](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command)131* Oppure fai entrambi da dentro una sessione: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Richiede Claude Code v2.1.275 o successivo. Vedi [Aggiungi un marketplace e installa in un comando](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command)

132* Oppure fai entrambi dalla shell in un solo comando: `claude plugin install deploy-helper --marketplace your-org/your-marketplace`. Richiede Claude Code v2.1.292 o successivo

132 133 

133<h3 id="ship-updates-to-users">134<h3 id="ship-updates-to-users">

134 Spedisci aggiornamenti agli utenti135 Spedisci aggiornamenti agli utenti

Details

163 `Invalid marketplace source format`163 `Invalid marketplace source format`

164</h3>164</h3>

165 165 

166È stato eseguito `/plugin marketplace add <source>` o `claude plugin marketplace add <source>` e Claude Code ha risposto `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.166Hai eseguito `/plugin marketplace add <source>`, `claude plugin marketplace add <source>` o `claude plugin install <plugin> --marketplace <source>` e Claude Code ha risposto `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.

167 167 

168Claude Code accetta una fonte in una di queste forme:168Claude Code accetta una fonte in una di queste forme:

169 169 


237* **Si possiede il marketplace**: mettere il file in quella posizione e re-aggiungere il marketplace237* **Si possiede il marketplace**: mettere il file in quella posizione e re-aggiungere il marketplace

238* **Qualcun altro lo ospita**: chiedere al proprietario la fonte esatta che pubblica238* **Qualcun altro lo ospita**: chiedere al proprietario la fonte esatta che pubblica

239 239 

240<h3 id="cannot-install-plugins-from-a-marketplace-with-this-name">

241 `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name`

242</h3>

243 

244Hai aggiunto un marketplace e il [`name`](/docs/it/plugins/marketplace-reference#top-level-fields) nel suo `marketplace.json` non è valido come parte dopo `@` in un [id di plugin](/docs/it/plugins/loading#find-where-a-plugin-came-from) come `my-plugin@my-marketplace`. Claude Code rifiuta l'aggiunta e non registra nulla.

245 

246Il resto del messaggio indica la regola per il nome. In questo esempio, `_internal` viola la regola perché inizia con `_`:

247 

248```text theme={null}

249Cannot add marketplace "_internal": Claude Code cannot install plugins from a marketplace with this name. Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

250```

251 

252Dai al marketplace un nome che rispetti quella regola, quindi aggiungilo di nuovo:

253 

254* **Il marketplace è tuo**: modifica `name` in `marketplace.json`, ad esempio in `internal-tools`

255* **Lo ospita qualcun altro**: chiedi al proprietario di cambiare il nome

256 

257Prima della v2.1.295, Claude Code segnalava come riuscita l'aggiunta di questo esempio.

258 

240<h3 id="ssh-authentication-failed-or-https-authentication-failed">259<h3 id="ssh-authentication-failed-or-https-authentication-failed">

241 `SSH authentication failed` or `HTTPS authentication failed`260 `SSH authentication failed` or `HTTPS authentication failed`

242</h3>261</h3>


568 `Marketplace "<name>" is already added from a different source`587 `Marketplace "<name>" is already added from a different source`

569</h3>588</h3>

570 589 

571Hai confermato l'aggiunta di un marketplace tramite [`/plugin install <plugin> --marketplace <source>`](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command), e il catalogo che Claude Code ha recuperato da quella sorgente ha lo stesso nome di un marketplace che hai già aggiunto da una sorgente diversa. Claude Code mantiene il marketplace esistente invece di sostituirlo, e il plugin non viene installato.590Hai indicato una nuova sorgente di marketplace con [`--marketplace <source>` nel comando di installazione](/docs/it/plugins/install#add-a-marketplace-and-install-in-one-command), in una sessione o dalla shell. Il catalogo che Claude Code ha recuperato da quella sorgente ha lo stesso nome di un marketplace che hai già aggiunto da una sorgente diversa. Claude Code mantiene il marketplace esistente invece di sostituirlo, e il plugin non viene installato.

572 591 

573Il messaggio completo è simile a questo:592Il messaggio completo è simile a questo:

574 593 


786 805 

787Claude Code copia i record inutilizzabili nel file `.set-aside` e li elimina dall'elenco. Claude Code non legge mai le copie di nuovo e le copie invecchiano secondo la pianificazione [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays).806Claude Code copia i record inutilizzabili nel file `.set-aside` e li elimina dall'elenco. Claude Code non legge mai le copie di nuovo e le copie invecchiano secondo la pianificazione [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays).

788 807 

808<h3 id="does-not-load-so-claude-code-ignores-the-whole-file">

809 `does not load (...), so Claude Code ignores the whole file`

810</h3>

811 

812Il comando ha funzionato. Il file di impostazioni indicato dall'avviso contiene un errore, quindi Claude Code ignora l'intero file, compreso tutto ciò che il comando vi ha scritto, finché non lo correggi.

813 

814Correggi l'errore indicato dall'avviso. Per un valore che Claude Code non accetta, [Fix a broken settings file](/docs/it/settings#fix-a-broken-settings-file) spiega come fare. Quindi esegui di nuovo il comando se la sua modifica non è più presente nel file.

815 

816L'avviso segue la riga di esito positivo di `claude plugin install`, `enable`, `disable` o `claude plugin marketplace add` nella tua shell:

817 

818```text theme={null}

819⚠ /home/user/.claude/settings.json does not load (its "permissions" is not valid), so Claude Code ignores the whole file, including anything this command wrote there. Fix the file, then run this command again if its change is missing. If a newer Claude Code wrote the file, update Claude Code instead.

820```

821 

822Il testo tra parentesi indica l'errore:

823 

824* **`its "<key>" is not valid`**: l'impostazione tra virgolette contiene un valore che Claude Code non accetta. Cerca l'impostazione nel [riferimento delle impostazioni](/docs/it/settings-reference) per conoscere i valori ammessi. Quando più di un valore non è valido, il testo indica la prima impostazione e conta le altre, come in `its "permissions" and 1 other value are not valid`.

825* **`it is not a JSON object`**: il livello superiore del file non è un oggetto JSON, ad esempio un file il cui livello superiore è un array.

826 

789<h3 id="a-plugin-you-disabled-still-loads">827<h3 id="a-plugin-you-disabled-still-loads">

790 `Disabled in ~/.claude/settings.json but still loads`828 `Disabled in ~/.claude/settings.json but still loads`

791</h3>829</h3>


812 850 

813Se l'organizzazione pre-installa i plugin, lo fa attraverso le impostazioni gestite al suo posto. Vedere [Pre-install and require plugins](/docs/it/plugins/org#pre-install-and-require-plugins).851Se l'organizzazione pre-installa i plugin, lo fa attraverso le impostazioni gestite al suo posto. Vedere [Pre-install and require plugins](/docs/it/plugins/org#pre-install-and-require-plugins).

814 852 

853<h3 id="a-plugin-stays-installed-after-plugin-uninstall-on-windows">

854 Un plugin resta installato dopo `plugin uninstall` su Windows

855</h3>

856 

857Su Windows, esegui `claude plugin uninstall` con ambito di progetto o locale e il comando segnala l'esito positivo, ma `claude plugin list` o `/plugin` elencano ancora il plugin.

858 

859`installed_plugins.json` conteneva due record di installazione del plugin per la cartella del progetto, ciascuno con una grafia diversa del percorso della cartella, e una disinstallazione ne rimuove uno solo. Per verificarlo, esegui `claude plugin list --json` nella tua shell. La riga rimanente del plugin ha un `projectPath` che scrive la cartella in modo diverso da quella in cui hai eseguito la disinstallazione, ad esempio `c:\work\app` per `C:\work\app`.

860 

861Esegui di nuovo lo stesso comando di disinstallazione, con lo stesso `--scope`, dalla stessa cartella. La seconda esecuzione non trova alcun record con la propria grafia del percorso, quindi rimuove quello con l'altra grafia. Per un'installazione con ambito di progetto:

862 

863```shell theme={null}

864claude plugin uninstall <name>@<marketplace> --scope project

865```

866 

867Quindi esegui di nuovo `claude plugin list --json` per verificare che la riga sia scomparsa.

868 

869Prima della v2.1.295, la seconda esecuzione non riesce con `Plugin "<name>" is not installed in project scope`. Esegui `claude update`, quindi esegui di nuovo la disinstallazione.

870 

815<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">871<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

816 `Failed to load hooks from <path>` and hooks that don't fire872 `Failed to load hooks from <path>` and hooks that don't fire

817</h3>873</h3>


835 891 

836Se lo stderr mostra il percorso del plugin tagliato a uno spazio, il comando in forma shell dell'hook utilizza `${CLAUDE_PLUGIN_ROOT}` al di fuori delle virgolette e il percorso di installazione contiene uno spazio. Avvolgere la variabile tra virgolette doppie o utilizzare [exec form](/docs/it/hooks#exec-form-and-shell-form). Per trovare la variabile non quotata, eseguire `claude plugin validate` sulla directory del plugin e cercare il suo [avviso di quotazione](/docs/it/plugins/manifest-reference#quoting-and-path-separators).892Se lo stderr mostra il percorso del plugin tagliato a uno spazio, il comando in forma shell dell'hook utilizza `${CLAUDE_PLUGIN_ROOT}` al di fuori delle virgolette e il percorso di installazione contiene uno spazio. Avvolgere la variabile tra virgolette doppie o utilizzare [exec form](/docs/it/hooks#exec-form-and-shell-form). Per trovare la variabile non quotata, eseguire `claude plugin validate` sulla directory del plugin e cercare il suo [avviso di quotazione](/docs/it/plugins/manifest-reference#quoting-and-path-separators).

837 893 

894Se l'avviso riporta `Failed to run: Plugin directory does not exist: <path>`, consulta [`Plugin directory does not exist`](#plugin-directory-does-not-exist).

895 

838Per qualsiasi altro errore, eseguire il comando dell'hook da soli dalla directory del plugin per vedere l'output completo o catturare lo stderr completo con [debug logging](/docs/it/hooks#debug-hooks).896Per qualsiasi altro errore, eseguire il comando dell'hook da soli dalla directory del plugin per vedere l'output completo o catturare lo stderr completo con [debug logging](/docs/it/hooks#debug-hooks).

839 897 

840<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">898<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">


869 </Step>927 </Step>

870</Steps>928</Steps>

871 929 

930<h3 id="plugin-directory-does-not-exist">

931 `Plugin directory does not exist: <path>`

932</h3>

933 

934Esegui prima `/reload-plugins` nel prompt di Claude Code, anche se il messaggio dice di reinstallare. L'hook di un plugin non riesce con `Failed to run: Plugin directory does not exist: <path> (<plugin> — run /plugin to reinstall)`, e l'hook non viene eseguito, quando la directory da cui la tua sessione ha caricato gli hook del plugin non esiste più sul disco. [`Plugin directory not found at path: <path>`](#plugin-directory-not-found-at-path) è un messaggio diverso, relativo a una voce del marketplace.

935 

936Il ricaricamento carica gli hook del plugin dalla sua directory attuale. L'errore viene mostrato una sola volta per sessione per ogni evento e comando dell'hook, quindi il fatto che l'hook non segnali più nulla non conferma la correzione. Leggi invece l'output del ricaricamento:

937 

938* **`Reloaded:` senza riga di errori**: gli hook del plugin non puntano più alla directory mancante

939* **`N errors during load. Run /plugin for details.`**: apri la scheda **Errors** in `/plugin` e segui la voce di questa pagina relativa al messaggio mostrato

940* **Una riga che termina con `Run /reload-plugins --force to apply.`**: non è stato ricaricato nulla e gli hook continuano a non riuscire. Esegui `/reload-plugins --force` nel prompt di Claude Code

941 

872<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">942<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

873 `Invalid MCP server config for "<server>"` and MCP servers that don't start943 `Invalid MCP server config for "<server>"` and MCP servers that don't start

874</h3>944</h3>


1063 1133 

1064Hai eseguito `claude plugin validate <path>`, o `/plugin validate <path>` in una sessione, e ha stampato `Found N errors` e `Validation failed`, quindi è uscito con codice 1.1134Hai eseguito `claude plugin validate <path>`, o `/plugin validate <path>` in una sessione, e ha stampato `Found N errors` e `Validation failed`, quindi è uscito con codice 1.

1065 1135 

1066Il validatore legge il manifest nel percorso che fornisci: `.claude-plugin/plugin.json` per una directory di plugin, o `.claude-plugin/marketplace.json` per una directory di marketplace. Per un marketplace, antepone i problemi nel manifest proprio di una voce con l'indice della voce, come `plugins[1] plugin.json → json: ...`.1136Il validatore legge il manifest nel percorso che fornisci: `.claude-plugin/plugin.json` per una directory di plugin, `.claude-plugin/marketplace.json` per una directory di marketplace, o entrambi per una directory che li contiene entrambi. Per un marketplace, antepone i problemi nel manifest proprio di una voce con l'indice della voce, come `plugins[1] plugin.json → json: ...`. Prima della v2.1.289, Claude Code convalidava una directory che li contiene entrambi solo come marketplace.

1067 1137 

1068La tabella copre i messaggi che fermano la convalida e due avvisi, `No frontmatter block found` e `Unknown field '<key>'`, che la fermano solo quando passi `--strict`. Altri avvisi, come una descrizione mancante, non sono elencati.1138La tabella copre i messaggi che fermano la convalida e due avvisi, `No frontmatter block found` e `Unknown field '<key>'`, che la fermano solo quando passi `--strict`. Altri avvisi, come una descrizione mancante, non sono elencati.

1069 1139 

remote-control.md +53 −20

Details

364 Limitazioni364 Limitazioni

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 sola sessione remota alla volta. Usa la [modalità server](#start-a-remote-control-session) per eseguire più sessioni simultanee da un unico 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). 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.368* **Il processo locale deve restare in esecuzione**: Remote Control viene eseguito come processo locale. Se chiudi il terminale, esci dall'app Desktop o da VS Code, o interrompi in altro modo il processo `claude`, la sessione va offline finché non la [riattivi](#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 arrestate in modo anomalo in modalità server**: se una sessione servita da `claude remote-control` si arresta in modo anomalo, inviale un messaggio da un dispositivo connesso. Claude Code la servirà di nuovo. Non devi riavviare il server. Richiede Claude Code v2.1.238 o versioni successive.

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 di 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, oppure un proxy, una VPN o un 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 prolungata della rete**: se la tua macchina è attiva ma non riesce a raggiungere la rete, cosa fare dipende dalla modalità:

372 * **Modalità server**: Claude Code si arrende dopo circa 10 minuti e il processo `claude remote-control` esce. Esegui `claude remote-control` di nuovo per avviare una nuova sessione.372 * **Modalità server**: Claude Code rinuncia dopo circa 10 minuti e il processo `claude remote-control` termina. Esegui di nuovo `claude remote-control` per avviare una nuova sessione.

373 * **Sessione interattiva**: continua a lavorare localmente. Claude Code continua a riprovare finché dura l'interruzione e si ricollega automaticamente quando la rete ritorna.373 * **Sessione interattiva**: continua a lavorare in locale. Claude Code riprova per tutta la durata dell'interruzione e si riconnette da solo quando la rete torna disponibile.

374* **Allegati che non vengono scaricati**: se un file che alleghi dal telefono o dal browser non può essere scaricato sulla tua macchina, Claude riceve comunque il tuo messaggio e i file che sono stati scaricati. Al posto dei file mancanti, Claude Code aggiunge al messaggio una nota come `[1 of 3 attachments did not arrive]`.374* **Allegati che non vengono scaricati**: se un file che alleghi dal telefono o dal browser non può essere scaricato sulla tua macchina, Claude riceve comunque il tuo messaggio e i file che sono stati scaricati. Al posto dei file mancanti, Claude Code aggiunge al messaggio una nota come `[1 of 3 attachments did not arrive]`.

375* **Heartbeat di presenza non riusciti**: se una sessione interattiva si disconnette con `could not reach the Remote Control server for about 30 minutes`, esegui `/remote-control` per riconnetterti.375* **Errori degli heartbeat di presenza**: se una sessione interattiva si disconnette con `could not reach the Remote Control server for about 30 minutes`, esegui `/remote-control` per riconnetterti.

376* **I dialoghi inoltrati scadono**: Claude Code mantiene aperte le richieste di permesso e le domande `AskUserQuestion` finché non rispondi. Quando Claude Code inoltra un altro tipo di dialogo alla sessione remota, come il prompt di scelta del modello mostrato dopo un rifiuto di sicurezza, attende cinque minuti per impostazione predefinita, quindi chiude il dialogo e continua con il valore predefinito senza azione del dialogo. Imposta [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry) per regolare o disabilitare la scadenza. Richiede Claude Code v2.1.224 o successivo.376* **Le finestre di dialogo inoltrate scadono**: Claude Code mantiene aperte le richieste di permesso e le domande di `AskUserQuestion` finché non rispondi. Quando Claude Code inoltra alla sessione remota un altro tipo di finestra di dialogo, come il prompt di scelta del modello mostrato dopo un rifiuto per motivi di sicurezza, attende cinque minuti per impostazione predefinita, poi chiude la finestra di dialogo e prosegue con l'opzione predefinita senza azione. Imposta [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry) per modificare o disattivare la scadenza. Richiede Claude Code v2.1.224 o versioni successive.

377* **Il prompt di consenso dei crediti di utilizzo di Fable non viene inoltrato**: Claude Code mostra il [prompt di consenso dei crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) a metà sessione solo dove la sessione viene eseguita, non sul tuo dispositivo. Quando la sessione viene eseguita in un terminale e nessuno lì risponde prima che Claude Code chiuda il prompt, il turno termina senza inviare la richiesta; consulta [The prompt to confirm went unanswered](/docs/it/errors#the-prompt-to-confirm-went-unanswered).377* **Il prompt di consenso ai crediti di utilizzo di Fable non viene inoltrato**: Claude Code mostra il [prompt di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) durante la sessione solo dove la sessione è in esecuzione, non sul tuo dispositivo. Quando la sessione è in esecuzione in un terminale e nessuno risponde lì prima che Claude Code chiuda il prompt, il turno termina senza inviare la richiesta; consulta [The prompt to confirm went unanswered](/docs/it/errors#the-prompt-to-confirm-went-unanswered).

378* **Alcuni comandi sono solo locali**: i comandi che vengono eseguiti solo nell'interfaccia del terminale, come `/plugin` o `/resume`, funzionano solo dalla CLI locale, indipendentemente dal fatto che tu passi un argomento o meno. Anche `/claude-api` non è disponibile quando lo digiti da mobile o web. Claude può comunque [caricare quella skill autonomamente](/docs/it/skills#work-on-claude-api-projects) lì. I seguenti funzionano da mobile e web:378* **Alcuni comandi sono solo locali**: i comandi che funzionano solo nell'interfaccia del terminale, come `/plugin` o `/resume`, funzionano solo dalla CLI locale, indipendentemente dal fatto che tu passi un argomento. Anche `/claude-api` non è disponibile quando lo digiti da mobile o dal web. Claude può comunque [caricare quella skill autonomamente](/docs/it/skills#work-on-claude-api-projects) in quei contesti. I seguenti funzionano da mobile e dal web:

379 * Comandi di output di testo: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` stampa l'URL di fatturazione invece di aprire un browser. `/reload-plugins` funziona solo quando la sessione viene eseguita in un terminale interattivo; una sessione senza uno lo rifiuta.379 * Comandi con output testuale: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` stampa l'URL di fatturazione invece di aprire un browser. `/reload-plugins` funziona solo quando la sessione è in esecuzione in un terminale interattivo; una sessione senza terminale interattivo lo rifiuta.

380 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passa il valore come argomento, ad esempio `/model sonnet` o `/effort high`. Da mobile e web, `/model` e `/effort` prendono l'argomento al posto del picker del terminale o del cursore.380 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passa il valore come argomento, ad esempio `/model sonnet` o `/effort high`. Da mobile e dal web, `/model` e `/effort` accettano l'argomento al posto del selettore o del cursore del terminale.

381 * `/mcp`: dall'app mobile, restituisce un riepilogo di testo dello stato del server invece di aprire il picker. Sul web, `/mcp` da solo apre una directory dei [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) invece di restituire il riepilogo. I [sottocomandi](/docs/it/commands#all-commands) `reconnect`, `enable` e `disable` funzionano da entrambi. `/mcp reconnect` senza un nome di server riprova ogni server che ha fallito o ha bisogno di autenticazione.381 * `/mcp`: dall'app mobile, restituisce un riepilogo testuale dello stato dei server invece di aprire il selettore. Sul web, `/mcp` da solo apre una directory di [connettori claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) invece di restituire il riepilogo. I [sottocomandi](/docs/it/commands#all-commands) `reconnect`, `enable` e `disable` funzionano da entrambi quando la sessione è in esecuzione in un terminale interattivo. `/mcp reconnect` senza nome del server riprova con ogni server che ha avuto un errore o che richiede l'autenticazione. Per autorizzare un connettore claude.ai senza il selettore, consulta [Autorizza di nuovo un connettore dalla tua shell](#authorize-a-connector-again-from-your-shell).

382 * `/config`: dall'app mobile, passa `key=value` per impostare un'impostazione, o eseguilo senza argomento per elencare le chiavi che puoi impostare. Sul web, `/config` apre invece la sezione Claude Code delle tue impostazioni e ignora il testo dopo il comando.382 * `/config`: dall'app mobile, passa `key=value` per definire un'impostazione, oppure eseguilo senza argomenti per elencare le chiavi che puoi impostare. Sul web, `/config` apre invece la sezione Claude Code delle tue impostazioni e ignora il testo dopo il comando.

383 * Su Team e Enterprise, `/usage-credits` da mobile o web non invia una [richiesta di crediti di utilizzo al tuo amministratore](/docs/it/costs#add-usage-credits-to-your-subscription). L'invio richiede una conferma che appare solo nella CLI interattiva, quindi il comando ti dice di eseguirlo lì invece.383 * Nei piani Team ed Enterprise, `/usage-credits` da mobile o dal web non invia una [richiesta di crediti di utilizzo al tuo amministratore](/docs/it/costs#add-usage-credits-to-your-subscription). L'invio richiede una conferma che appare solo nella CLI interattiva, quindi il comando ti indica di eseguirlo lì.

384 * `/autocompact`, da v2.1.221: passa la dimensione della finestra come argomento, ad esempio `/autocompact 500k`. Senza argomento, stampa la dimensione della finestra corrente come testo invece di aprire il dialogo che il comando mostra in una sessione di terminale.384 * `/autocompact`, dalla v2.1.221: passa la dimensione della finestra come argomento, ad esempio `/autocompact 500k`. Senza argomenti, stampa come testo la dimensione attuale della finestra invece di aprire la finestra di dialogo che il comando mostra in una sessione del terminale.

385 * `/advisor`, da v2.1.260: passa il modello come argomento, ad esempio `/advisor opus`, o passa `off` per disattivare l'advisor. Entrambe le forme si applicano solo alla sessione corrente e lasciano invariato il tuo valore predefinito salvato. Senza argomento, stampa l'advisor corrente come testo invece di aprire il picker.385 * `/advisor`, dalla v2.1.260: passa il modello come argomento, ad esempio `/advisor opus`, oppure passa `off` per disattivare l'advisor. Entrambe le forme si applicano solo alla sessione corrente e lasciano invariata la tua impostazione predefinita salvata. Senza argomenti, stampa come testo l'advisor attuale invece di aprire il selettore.

386 * `/output-style`, da v2.1.269: passa il nome dello stile come argomento, ad esempio `/output-style concise`, o eseguilo senza argomento per elencare gli stili. Da mobile e web, puoi elencare e selezionare solo gli [stili incorporati](/docs/it/output-styles#built-in-output-styles). Per utilizzare uno [stile personalizzato](/docs/it/output-styles#create-a-custom-output-style), selezionalo nella sessione stessa.386 * `/output-style`, dalla v2.1.269: passa il nome dello stile come argomento, ad esempio `/output-style concise`, oppure eseguilo senza argomenti per elencare gli stili. Da mobile e dal web, puoi elencare e selezionare solo gli [stili integrati](/docs/it/output-styles#built-in-output-styles). Per usare uno [stile personalizzato](/docs/it/output-styles#create-a-custom-output-style), selezionalo nella sessione stessa.

387 * `/focus`, da v2.1.281: passa `on` o `off` come argomento, ad esempio `/focus on`, o eseguilo senza argomento per attivare/disattivare la [visualizzazione focus](/docs/it/commands#all-commands). Entrambe le forme si applicano solo alla sessione corrente e lasciano invariata la tua selezione salvata.387 * `/focus`, dalla v2.1.281: passa `on` o `off` come argomento, ad esempio `/focus on`, oppure eseguilo senza argomenti per attivare o disattivare la [vista focus](/docs/it/commands#all-commands). Entrambe le forme si applicano solo alla sessione corrente e lasciano invariata la tua selezione salvata.

388 

389<h2 id="authorize-a-connector-again-from-your-shell">

390 Autorizzare di nuovo un connettore dalla tua shell

391</h2>

392 

393Quando un connettore di claude.ai richiede l'autenticazione in una sessione che gestisci tramite Remote Control, il pannello `/mcp` non è disponibile dall'app mobile o dal web. Ottieni il link di autorizzazione da un terminale sulla macchina in cui è in esecuzione la sessione, poi apri il link sul dispositivo che stai usando. Non puoi eseguire il comando dall'app mobile o dal web. Una riga che invii da lì e che inizia con `!` arriva a Claude come messaggio e non viene eseguita in [modalità shell](/docs/it/interactive-mode#shell-mode-with-prefix).

394 

395<Steps>

396 <Step title="Ottieni il link di autorizzazione">

397 In un terminale sulla macchina in cui è in esecuzione la sessione, ad esempio tramite SSH, esegui `claude mcp login` con il nome del connettore tra virgolette. Il nome di un connettore inizia con `claude.ai`, ad esempio `claude.ai Slack` per il connettore Slack. Il seguente comando ottiene il link per il connettore Slack:

398 

399 ```bash theme={null}

400 claude mcp login "claude.ai Slack" --no-browser

401 ```

402 

403 Il comando stampa un link di claude.ai e termina. Apri il link nel tuo browser e completa l'autorizzazione su claude.ai. `--no-browser` impedisce al comando di aprire un browser su quella macchina, che potrebbe non essere il dispositivo che stai usando.

404 </Step>

405 

406 <Step title="Usa il connettore in una sessione">

407 Avvia una nuova sessione, oppure riconnetti il connettore nella sessione già in esecuzione:

408 

409 * **Nuova sessione**: una sessione che avvii dopo l'autorizzazione si connette al connettore senza ulteriori passaggi.

410 * **Sessione in esecuzione**: esegui `/mcp reconnect` con lo stesso nome e senza virgolette, nel prompt di Claude Code oppure dall'app mobile o dal web. Per verificare che la tua sessione accetti il comando da lì, consulta la voce `/mcp` in [quali comandi funzionano da mobile e web](#limitations).

411 

412 Il seguente comando riconnette il connettore Slack:

413 

414 ```text theme={null}

415 /mcp reconnect claude.ai Slack

416 ```

417 

418 Nel terminale, Claude Code stampa `Successfully reconnected to claude.ai Slack`. Dall'app mobile o dal web, la risposta è `Reconnected "claude.ai Slack".`

419 </Step>

420</Steps>

388 421 

389<h2 id="troubleshooting">422<h2 id="troubleshooting">

390 Troubleshooting423 Troubleshooting

Details

191 Jitter191 Jitter

192</h3>192</h3>

193 193 

194Per evitare che ogni sessione colpisca l'API nello stesso momento, lo scheduler aggiunge un offset deterministico ai tempi di attivazione:194Un'attività pianificata può essere eseguita in un orario diverso da quello indicato dalla sua pianificazione. Se le attività di ogni sessione venissero eseguite esattamente come pianificato, molte di esse chiamerebbero l'API nello stesso momento, quindi Claude Code sposta l'orario di esecuzione di ogni attività. Le attività ricorrenti vengono eseguite in ritardo, mentre le attività una tantum pianificate allo scoccare dell'ora o della mezz'ora vengono eseguite un po' in anticipo.

195 195 

196* Le attività ricorrenti si attivano fino a 30 minuti dopo l'ora pianificata (o fino a metà dell'intervallo, per le attività che vengono eseguite più frequentemente di ogni ora). Un processo orario pianificato per `:00` potrebbe attivarsi in qualsiasi momento fino a `:30`.196<h4 id="how-late-a-recurring-task-runs">

197* Le attività una tantum pianificate per l'inizio o la fine dell'ora si attivano fino a 90 secondi prima.197 Quanto in ritardo viene eseguita un'attività ricorrente

198</h4>

198 199 

199L'offset è derivato dall'ID dell'attività, quindi la stessa attività ottiene sempre lo stesso offset. Se il timing esatto è importante, scegliete un minuto che non sia `:00` o `:30`, ad esempio `3 9 * * *` invece di `0 9 * * *`, e il jitter una tantum non si applicherà.200Quando crei un'attività ricorrente, Claude Code le assegna un ritardo fisso e lo aggiunge a ogni esecuzione. Il ritardo viene calcolato a partire dall'ID dell'attività, quindi la stessa attività viene eseguita ogni volta con lo stesso numero di minuti di ritardo, anche quando la sessione è inattiva e non c'è nient'altro in esecuzione.

201 

202Le attività eseguite più spesso ottengono ritardi più brevi, e 30 minuti è il ritardo massimo che un'attività può ottenere. Questi sono gli intervalli di ritardo per alcune pianificazioni comuni:

203 

204| L'attività viene eseguita | Il ritardo è compreso tra |

205| :- | :- |

206| Ogni 10 minuti | 0 e 5 minuti |

207| Ogni 30 minuti | 0 e 15 minuti |

208| Ogni ora, o meno spesso, ad esempio ogni giorno | 0 e 30 minuti |

209 

210Ad esempio, `7,37 * * * *` pianifica un'attività per `:07` e `:37`, che distano 30 minuti, quindi il suo ritardo è compreso tra 0 e 15 minuti. Se il ritardo di questa attività è di 14 minuti, viene eseguita a `:21` e `:51` ogni ora. Cambiare la pianificazione a un minuto diverso sposta l'orario di esecuzione, e il ritardo viene comunque aggiunto.

211 

212<h4 id="when-a-one-shot-task-runs-early">

213 Quando un'attività una tantum viene eseguita in anticipo

214</h4>

215 

216Un'attività una tantum pianificata per `:00` o `:30` viene eseguita fino a 90 secondi prima. Claude Code non sposta un'attività una tantum pianificata per qualsiasi altro minuto, quindi quando il timing è importante, pianificala lontano dall'ora e dalla mezz'ora esatte: `3 9 * * *` invece di `0 9 * * *`.

200 217 

201<h3 id="seven-day-expiry">218<h3 id="seven-day-expiry">

202 Scadenza di sette giorni219 Scadenza di sette giorni

Details

74 74 

75Puoi estendere ogni livello [aggiungendo le tue regole](#add-your-own-rules). I controlli incorporati non possono essere rimossi individualmente, ma puoi [disabilitare ogni livello](#disable-or-uninstall) indipendentemente.75Puoi estendere ogni livello [aggiungendo le tue regole](#add-your-own-rules). I controlli incorporati non possono essere rimossi individualmente, ma puoi [disabilitare ogni livello](#disable-or-uninstall) indipendentemente.

76 76 

77<h3 id="on-each-file-edit">77<span id="on-each-file-edit" />

78 Su ogni modifica di file78 

79<h3 id="checks-on-each-file-edit">

80 Controlli su ogni modifica di file

79</h3>81</h3>

80 82 

81Quando Claude scrive in un file, il plugin scansiona il nuovo contenuto per pattern noti rischiosi. Questa è una corrispondenza di pattern senza chiamata al modello, quindi non aggiunge alcun costo di utilizzo.83Quando Claude scrive in un file, il plugin scansiona il nuovo contenuto per pattern noti rischiosi. Questa è una corrispondenza di pattern senza chiamata al modello, quindi non aggiunge alcun costo di utilizzo.


91 93 

92Puoi [aggiungere i tuoi pattern](#add-custom-per-edit-patterns) a questo livello con un file `security-patterns.yaml`.94Puoi [aggiungere i tuoi pattern](#add-custom-per-edit-patterns) a questo livello con un file `security-patterns.yaml`.

93 95 

94<h3 id="at-the-end-of-each-turn">96<span id="at-the-end-of-each-turn" />

95 Alla fine di ogni turno97 

98<h3 id="checks-at-the-end-of-each-turn">

99 Controlli alla fine di ogni turno

96</h3>100</h3>

97 101 

98Un turno è un round di risposta di Claude: invii un messaggio, Claude lavora e risponde, e il turno termina. Dopo ogni turno, il plugin calcola un git diff di tutto ciò che è cambiato nell'albero di lavoro durante il turno, incluse le modifiche dagli strumenti di modifica di Claude, dai comandi Bash e dai subagent, e lo invia a una revisione Claude separata focalizzata sulla sicurezza. La revisione viene eseguita in background, quindi la risposta di Claude non viene ritardata. Se la revisione trova problemi, Claude viene ripromptato con i risultati e li affronta come follow-up.102Un turno è un round di risposta di Claude: invii un messaggio, Claude lavora e risponde, e il turno termina. Dopo ogni turno, il plugin calcola un git diff di tutto ciò che è cambiato nell'albero di lavoro durante il turno, incluse le modifiche dagli strumenti di modifica di Claude, dai comandi Bash e dai subagent, e lo invia a una revisione Claude separata focalizzata sulla sicurezza. La revisione viene eseguita in background, quindi la risposta di Claude non viene ritardata. Se la revisione trova problemi, Claude viene ripromptato con i risultati e li affronta come follow-up.


107 111 

108Vedi sia il risultato che la risoluzione di Claude direttamente nella tua sessione. La revisione copre fino a 30 file modificati per turno e si attiva al massimo tre volte di seguito prima di cedere il controllo a te.112Vedi sia il risultato che la risoluzione di Claude direttamente nella tua sessione. La revisione copre fino a 30 file modificati per turno e si attiva al massimo tre volte di seguito prima di cedere il controllo a te.

109 113 

110<h3 id="on-each-commit-or-push-claude-makes">114<span id="on-each-commit-or-push-claude-makes" />

111 Su ogni commit o push che Claude fa115 

116<h3 id="checks-on-each-commit-or-push-claude-makes">

117 Controlli su ogni commit o push che Claude fa

112</h3>118</h3>

113 119 

114Quando Claude esegue `git commit` o `git push` attraverso il suo strumento Bash, il plugin esegue una revisione agentica più profonda della modifica in background. Questa revisione legge il codice circostante, inclusi i chiamanti, i sanitizer e i file correlati, per decidere se un risultato è reale prima di segnalarlo. Il contesto aggiuntivo mantiene bassi i falsi positivi su pattern che sembrano pericolosi in isolamento ma sono sicuri nel tuo codebase.120Quando Claude esegue `git commit` o `git push` attraverso il suo strumento Bash, il plugin esegue una revisione agentica più profonda della modifica in background. Questa revisione legge il codice circostante, inclusi i chiamanti, i sanitizer e i file correlati, per decidere se un risultato è reale prima di segnalarlo. Il contesto aggiuntivo mantiene bassi i falsi positivi su pattern che sembrano pericolosi in isolamento ma sono sicuri nel tuo codebase.

Details

403 403 

404* Il [file MCP gestito](/docs/it/managed-mcp) con ambito enterprise nel suo percorso di sistema standard: `/etc/claude-code/managed-mcp.json` sugli host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sugli host macOS. Usalo per flotte bloccate in cui possono essere caricati solo i server elencati dall'amministratore. Consulta [controllo esclusivo con managed-mcp.json](/docs/it/managed-mcp#exclusive-control-with-managed-mcp-json) per le regole di precedenza. Quando questo file si trova sull'host del runner, Claude Code ignora i server MCP che il control plane di Anthropic fornisce a una sessione, inclusi i connettori di claude.ai, e li nomina in un avviso sullo stderr del processo figlio della sessione, che il runner registra al livello di log `debug`. Prima della v2.1.229, quelle sessioni terminavano all'avvio con `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.404* Il [file MCP gestito](/docs/it/managed-mcp) con ambito enterprise nel suo percorso di sistema standard: `/etc/claude-code/managed-mcp.json` sugli host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sugli host macOS. Usalo per flotte bloccate in cui possono essere caricati solo i server elencati dall'amministratore. Consulta [controllo esclusivo con managed-mcp.json](/docs/it/managed-mcp#exclusive-control-with-managed-mcp-json) per le regole di precedenza. Quando questo file si trova sull'host del runner, Claude Code ignora i server MCP che il control plane di Anthropic fornisce a una sessione, inclusi i connettori di claude.ai, e li nomina in un avviso sullo stderr del processo figlio della sessione, che il runner registra al livello di log `debug`. Prima della v2.1.229, quelle sessioni terminavano all'avvio con `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

405* La chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle [impostazioni gestite](/docs/it/managed-settings) sull'host del runner: fornisce server HTTP e SSE senza assumere il controllo esclusivo, quindi i server delle altre fonti vengono comunque caricati. Richiede Claude Code v2.1.259 o successiva.405* La chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle [impostazioni gestite](/docs/it/managed-settings) sull'host del runner: fornisce server HTTP e SSE senza assumere il controllo esclusivo, quindi i server delle altre fonti vengono comunque caricati. Richiede Claude Code v2.1.259 o successiva.

406* `<repo>/.mcp.json`: ambito di progetto. Esegui il commit del file nel repository; i suoi server vengono approvati automaticamente nelle sessioni cloud.406* `<repo>/.mcp.json`: ambito di progetto. Esegui il commit del file nel repository; i suoi server vengono approvati automaticamente nelle sessioni cloud. In una sessione con più repository, [viene caricato al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories).

407 407 

408Quando la distribuzione dei connettori è abilitata per la tua organizzazione, il control plane di Anthropic fornisce i connettori che hai configurato su claude.ai alle sessioni create in modo interattivo tramite una configurazione MCP fornita dal server, instradata attraverso `api.anthropic.com`. Le sessioni create in modo programmatico, come i [dispatch da CLI](/docs/it/self-hosted-environments-testing#run-the-test-loop), non ricevono i connettori; fornisci loro i server MCP tramite una qualsiasi delle altre fonti elencate in questa sezione. Il token OAuth del processo figlio non include uno scope per recuperare direttamente i connettori, quindi il processo figlio non tenta autonomamente quel recupero; la distribuzione è gestita dal server.408Quando la distribuzione dei connettori è abilitata per la tua organizzazione, il control plane di Anthropic fornisce i connettori che hai configurato su claude.ai alle sessioni create in modo interattivo tramite una configurazione MCP fornita dal server, instradata attraverso `api.anthropic.com`. Le sessioni create in modo programmatico, come i [dispatch da CLI](/docs/it/self-hosted-environments-testing#run-the-test-loop), non ricevono i connettori; fornisci loro i server MCP tramite una qualsiasi delle altre fonti elencate in questa sezione. Il token OAuth del processo figlio non include uno scope per recuperare direttamente i connettori, quindi il processo figlio non tenta autonomamente quel recupero; la distribuzione è gestita dal server.

409 409 


543exit 0543exit 0

544```544```

545 545 

546L'hook spinge Claude a committare e spingere prima della fine della sessione, e rimane silenzioso quando la directory non è un repository git o non ha un remoto.546L'hook chiede a Claude di fare il commit e il push prima che la sessione termini, e rimane silenzioso quando la directory non è un repository git o non ha un remoto. Per una sessione con più repository, consulta [cosa indica `$CLAUDE_PROJECT_DIR`](#repository-settings-in-sessions-with-several-repositories).

547 547 

548<h2 id="permissions-and-tool-approval">548<h2 id="permissions-and-tool-approval">

549 Autorizzazioni e approvazione degli strumenti549 Autorizzazioni e approvazione degli strumenti


572 572 

573Impostare `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` per seminare da un percorso diverso, o puntarlo a una directory vuota per disabilitare la semina.573Impostare `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` per seminare da un percorso diverso, o puntarlo a una directory vuota per disabilitare la semina.

574 574 

575Il `.claude/settings.json` committato nel repository si sovrappone come impostazioni del progetto. Le sessioni leggono anche [`managed-settings.json`](/docs/it/settings#where-settings-live) dal percorso di sistema standard nell'immagine del runner. Se le sue chiavi si applicano insieme alle [impostazioni gestite dal server](/docs/it/server-managed-settings) segue [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources): per impostazione predefinita, quando l'organizzazione fornisce qualsiasi chiave gestita dal server, le sessioni ignorano il file dell'immagine del runner a parte le [chiavi che Claude Code legge da ogni fonte di amministrazione](/docs/it/managed-settings#keys-read-from-every-admin-source), come il blocco `env`, i blocchi sandbox, i percorsi binari sandbox e `forceRemoteSettingsRefresh`. Consultare [settings precedence](/docs/it/settings#settings-precedence).575Il `.claude/settings.json` committato nel repository si sovrappone come impostazioni di progetto. In una sessione con più repository, [ha effetto al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories). Le sessioni leggono anche [`managed-settings.json`](/docs/it/settings#where-settings-live) dal percorso di sistema standard nell'immagine del runner. Se le sue chiavi si applicano insieme alle [impostazioni gestite dal server](/docs/it/server-managed-settings) dipende da [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources): per impostazione predefinita, quando la tua organizzazione fornisce chiavi gestite dal server, le sessioni ignorano il file dell'immagine del runner, ad eccezione delle [chiavi che Claude Code legge da ogni fonte di amministrazione](/docs/it/managed-settings#keys-read-from-every-admin-source), come il blocco `env`, i blocchi della sandbox, i percorsi dei binari della sandbox e `forceRemoteSettingsRefresh`. Consulta [precedenza delle impostazioni](/docs/it/settings#settings-precedence).

576 576 

577Quando il piano di controllo di Anthropic fornisce una sessione con [hook Claude Code](/docs/it/hooks), il runner li installa insieme, non sopra, la propria configurazione. Richiede Claude Code v2.1.229 o successivo.577Quando il piano di controllo di Anthropic fornisce una sessione con [hook Claude Code](/docs/it/hooks), il runner li installa insieme, non sopra, la propria configurazione. Richiede Claude Code v2.1.229 o successivo.

578 578 


584 584 

585Lo snapshot di `~/.claude/` dell'host acquisito dal runner esclude la directory `projects/`. La posizione di archiviazione predefinita della memoria automatica si trova in quella directory. Se vi inserisci file di memoria, il runner non li copia nelle sessioni e questi non attivano la memoria automatica.585Lo snapshot di `~/.claude/` dell'host acquisito dal runner esclude la directory `projects/`. La posizione di archiviazione predefinita della memoria automatica si trova in quella directory. Se vi inserisci file di memoria, il runner non li copia nelle sessioni e questi non attivano la memoria automatica.

586 586 

587<h3 id="repository-settings-in-sessions-with-several-repositories">

588 Impostazioni dei repository nelle sessioni con più repository

589</h3>

590 

591In una sessione con più repository, Claude Code legge le impostazioni di progetto dalla directory in cui si avvia la sessione, quindi al massimo il `.claude/settings.json` di un solo repository ha effetto come impostazioni di progetto. Un hook definito nel file di un altro repository non viene eseguito, una regola deny al suo interno non si applica e il relativo `env` non viene impostato.

592 

593* **`--capacity 1`, il valore predefinito, con il checkout integrato**: la sessione si avvia nel primo repository del suo elenco di repository. Il `.claude/settings.json` di quel repository ha effetto come impostazioni di progetto e il suo `.mcp.json` viene caricato, mentre quelli degli altri repository no.

594* **Un `--capacity` superiore a uno, oppure un [hook `checkout`](#checkout)**: la sessione si avvia in una directory per sessione che contiene i checkout. Il `.claude/settings.json` di nessun repository ha effetto come impostazioni di progetto, il `.mcp.json` di nessun repository viene caricato e [`$CLAUDE_PROJECT_DIR`](/docs/it/hooks#reference-scripts-by-path) in un comando di hook corrisponde a quella directory, non a un checkout.

595 

596Il `CLAUDE.md` e le skill di ciascun repository vengono caricati ovunque si avvii la sessione. Il runner passa ogni repository a Claude Code come [directory aggiuntiva](/docs/it/permissions#additional-directories-grant-file-access-not-configuration), quindi Claude Code legge anche le chiavi `enabledPlugins` ed `extraKnownMarketplaces` dal `.claude/settings.json` di ciascun repository.

597 

598Per eseguire un hook o applicare una regola di permesso in ogni sessione, inseriscili in `~/.claude/settings.json` sull'host del runner. Il runner [copia il file dell'host in ogni sessione](#how-each-session’s-config-is-assembled), ovunque si avvii la sessione. Scrivi un percorso in una regola `Read` o `Edit` come [pattern](/docs/it/permissions#read-and-edit) assoluto con `//` o relativo alla home con `~/`, perché gli altri pattern sono ancorati alla fonte delle impostazioni o alla directory corrente.

599 

587<h3 id="repository-committed-permission-rules">600<h3 id="repository-committed-permission-rules">

588 Regole di autorizzazione committate nel repository601 Regole di autorizzazione committate nel repository

589</h3>602</h3>

Details

87 87 

88 Poiché gli hook eseguono comandi shell, gli utenti in sessioni interattive vedono una [finestra di dialogo di approvazione della sicurezza](#security-approval-dialogs) prima che Claude Code li applichi.88 Poiché gli hook eseguono comandi shell, gli utenti in sessioni interattive vedono una [finestra di dialogo di approvazione della sicurezza](#security-approval-dialogs) prima che Claude Code li applichi.

89 89 

90 Per configurare il classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) in modo che conosca quali repository, bucket e domini la vostra organizzazione ritiene affidabili, fornire un blocco `autoMode` nello stesso modo; vedere [Configurare la modalità auto](/docs/it/auto-mode-config) per come le voci `autoMode` influenzano ciò che il classificatore blocca e avvertimenti importanti sui campi `environment`, `allow`, `soft_deny` e `hard_deny`.90 Per configurare il classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) in modo che conosca quali repository, bucket e domini la tua organizzazione ritiene affidabili, fornisci un blocco `autoMode` nello stesso modo; consulta [Configurare la modalità auto](/docs/it/auto-mode-config) per come le voci `autoMode` influenzano ciò che il classificatore blocca e avvertimenti importanti sui campi `environment`, `allow`, `soft_deny` e `hard_deny`.

91 </Step>91 </Step>

92 92 

93 <Step title="Salvare e distribuire">93 <Step title="Salvare e distribuire">

94 Salvare le modifiche. I client di Claude Code ricevono le impostazioni aggiornate al prossimo avvio o ciclo di polling orario.94 Salva le modifiche. I client di Claude Code ricevono le impostazioni aggiornate al prossimo avvio o ciclo di polling orario.

95 

96 L'editor confronta il tuo JSON con lo schema JSON pubblicato per le impostazioni di Claude Code. Se trova un problema in un JSON che viene analizzato correttamente, mostra un avviso e cambia l'etichetta del pulsante di salvataggio. L'etichetta è **Update with errors** quando le impostazioni sono già salvate e **Add with errors** quando non è ancora stata salvata alcuna impostazione. Quel pulsante salva comunque, perché un avviso dello schema non blocca il salvataggio.

97 

98 Lo schema [può essere in ritardo rispetto alle versioni più recenti](/docs/it/settings#edit-a-settings-file), quindi l'editor può segnalare una chiave o un valore documentato nel [riferimento delle impostazioni](/docs/it/settings-reference#all-settings). Claude Code riceve le chiavi e i valori che hai salvato ed esegue [la propria convalida](#invalid-entries-in-delivered-settings) quando li carica.

95 </Step>99 </Step>

96</Steps>100</Steps>

97 101 

settings.md +41 −41

Details

402 402 

403Claude Code legge le impostazioni da quattro file, e un'organizzazione può anche fornire impostazioni gestite dalla console claude.ai. Ogni fonte ha un ambito: l'insieme di persone e progetti a cui si applica un'impostazione salvata in essa, che sia solo tu, tutti in un progetto o tutti nella tua organizzazione.403Claude Code legge le impostazioni da quattro file, e un'organizzazione può anche fornire impostazioni gestite dalla console claude.ai. Ogni fonte ha un ambito: l'insieme di persone e progetti a cui si applica un'impostazione salvata in essa, che sia solo tu, tutti in un progetto o tutti nella tua organizzazione.

404 404 

405| Ambito | File | Chi interessa | Usarlo per |405| Ambito | File | Chi interessa | Usalo per |

406| :- | :- | :- | :- |406| :- | :- | :- | :- |

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` | Te, in ogni progetto su questa macchina | Preferenze personali: tema, modalità editor, modello predefinito, le tue regole di permesso 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, esegui il commit in modo che i tuoi colleghi lo ricevano | Permessi del team, hook, plugin e le variabili d'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` | Te, solo in questo progetto. Claude Code lo tiene fuori da git quando crea il file; se lo crei manualmente, aggiungilo tu stesso a `.gitignore` | Override personali per un progetto e test prima di condividere |

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à |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 tua directory home, e un `.claude` semplice è la cartella `.claude` all'interno del tuo progetto.

413 413 

414<span id="where-each-file-applies" />414<span id="where-each-file-applies" />

415 415 


419 Confrontare l'ambito di ogni file di impostazioni419 Confrontare l'ambito di ogni file di impostazioni

420</h3>420</h3>

421 421 

422Supponiamo che abbiate tre progetti sulla vostra macchina, `website/`, `api/`, e `acme-app/`, un vostro collega ha il suo clone di `acme-app/`, e avviate una [sessione cloud](#settings-in-cloud-sessions) su `acme-app/`.422Supponi di avere tre progetti sulla tua macchina, `website/`, `api/` e `acme-app/`, che un tuo collega abbia il proprio clone di `acme-app/` e che tu avvii una [sessione cloud](#settings-in-cloud-sessions) su `acme-app/`.

423 423 

424Il grafico sottostante mostra in quali di quelle cartelle si applica un'impostazione quando avviate Claude Code da esse. Fate clic su un file di impostazioni per vedere le cartelle che raggiunge.424Il grafico sottostante mostra in quali di quelle cartelle si applica un'impostazione quando avvii Claude Code da esse. Fai clic su un file di impostazioni per vedere le cartelle che raggiunge.

425 425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**: ogni progetto sulla vostra macchina, e nulla su quella del vostro collega o nella sessione cloud428* **`~/.claude/settings.json`**: ogni progetto sulla tua macchina, e nulla su quella del tuo collega o nella sessione cloud

429* **`acme-app/.claude/settings.json`**: il vostro `acme-app/`. Raggiunge il clone del vostro collega e la sessione cloud solo se eseguite il commit del file nel controllo di versione; fino a quando non lo fate, è un file sul vostro disco come qualsiasi altro e nessun altro lo ha429* **`acme-app/.claude/settings.json`**: il tuo `acme-app/`. Raggiunge il clone del tuo collega e la sessione cloud solo se esegui il commit del file nel controllo di versione; finché non lo fai, è un file sul tuo disco come qualsiasi altro e nessun altro lo ha

430* **`acme-app/.claude/settings.local.json`**: il vostro `acme-app/` solo. Claude Code lo aggiunge alle vostre esclusioni git globali la prima volta che scrive il file, quindi rimane fuori dai vostri commit; se create il file manualmente, [aggiungetelo a `.gitignore` voi stessi](#keep-personal-settings-out-of-a-repository)430* **`acme-app/.claude/settings.local.json`**: solo il tuo `acme-app/`. Claude Code lo aggiunge alle tue esclusioni git globali la prima volta che scrive il file, quindi rimane fuori dai tuoi commit; se crei il file manualmente, [aggiungilo tu stesso a `.gitignore`](#keep-personal-settings-out-of-a-repository)

431* **Impostazioni gestite**, che sia un file `managed-settings.json`, una politica MDM, o [impostazioni gestite dal server](/docs/it/server-managed-settings) dalla console claude.ai: ogni progetto su ogni macchina a cui la vostra organizzazione lo distribuisce, o a cui accedete con il vostro account organizzativo. Solo le impostazioni gestite dal server raggiungono la sessione cloud431* **Impostazioni gestite**, che si tratti di un file `managed-settings.json`, di una politica MDM o di [impostazioni gestite dal server](/docs/it/server-managed-settings) dalla console claude.ai: ogni progetto su ogni macchina a cui la tua organizzazione le distribuisce, o a cui accedi con l'account della tua organizzazione. Solo le impostazioni gestite dal server raggiungono la sessione cloud

432 432 

433<span id="which-files-you-have" />433<span id="which-files-you-have" />

434 434 

435<h3 id="find-or-create-your-settings-files">435<h3 id="find-or-create-your-settings-files">

436 Trovare o creare i vostri file di impostazioni436 Trovare o creare i tuoi file di impostazioni

437</h3>437</h3>

438 438 

439L'installazione di Claude Code non crea alcun file di impostazioni. Se la vostra macchina o il vostro progetto ne ha già uno, è venuto da una di queste fonti:439L'installazione di Claude Code non crea alcun file di impostazioni. Se la tua macchina o il tuo progetto ne ha già uno, proviene da una di queste fonti:

440 440 

441* **Gestito**: la vostra organizzazione lo distribuisce. Non lo create o modificate.441* **Gestito**: lo distribuisce la tua organizzazione. Non lo crei né lo modifichi tu.

442* **Progetto condiviso**: un progetto che già utilizza Claude Code potrebbe averne uno sottoposto a commit. Se no, createlo in `.claude/settings.json` nella cartella del progetto.442* **Progetto condiviso**: un progetto che utilizza già Claude Code potrebbe averne uno sottoposto a commit. In caso contrario, crealo in `.claude/settings.json` nella cartella del progetto.

443* **Utente** e **Progetto locale**: createli voi stessi, o lasciate che Claude Code li crei. Scrive `~/.claude/settings.json` la prima volta che cambiate un'opzione nel menu `/config` che memorizza nelle impostazioni utente, come il tema, e `.claude/settings.local.json` la prima volta che date un'approvazione permanente su un prompt di autorizzazione, come "Sì, e non chiedere di nuovo" per un comando Bash. Poche opzioni `/config`, incluso **Show tips**, vengono salvate in `.claude/settings.local.json` invece che nel file utente.443* **Utente** e **Progetto locale**: creali tu stesso, oppure lascia che sia Claude Code a crearli. Scrive `~/.claude/settings.json` la prima volta che modifichi un'opzione nel menu `/config` che memorizza nelle impostazioni utente, come il tema, e `.claude/settings.local.json` la prima volta che dai un'approvazione permanente a una richiesta di permesso, come "Sì, e non chiedere di nuovo" per un comando Bash. Alcune opzioni di `/config`, tra cui **Show tips**, vengono invece salvate in `.claude/settings.local.json` anziché nel file utente.

444 444 

445<Info>445<Info>

446 Su Windows, `~/.claude` significa `%USERPROFILE%\.claude`. Per mantenere i file della home directory altrove, impostate [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars); Claude Code memorizza quindi le vostre impostazioni, la cronologia delle sessioni, e i plugins lì invece.446 Su Windows, `~/.claude` significa `%USERPROFILE%\.claude`. Per tenere i file della directory home altrove, imposta [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars); Claude Code memorizzerà quindi lì le tue impostazioni, la cronologia delle sessioni e i plugin.

447</Info>447</Info>

448 448 

449Claude Code mantiene anche un quinto file, [`~/.claude.json`](/docs/it/claude-directory#ce-claude-json), che scrive per se stesso; non dovete modificarlo. Contiene la vostra sessione di accesso, configurazioni [MCP server](/docs/it/mcp), stato per progetto come decisioni di fiducia, e le [chiavi di configurazione globale](/docs/it/settings-reference#global-config-settings) che `/config` scrive per voi.449Claude Code mantiene anche un quinto file, [`~/.claude.json`](/docs/it/claude-directory#ce-claude-json), che scrive per sé; non hai bisogno di modificarlo. Contiene la tua sessione di accesso, le configurazioni dei [server MCP](/docs/it/mcp), lo stato per progetto come le decisioni di fiducia e le [chiavi di configurazione globale](/docs/it/settings-reference#global-config-settings) che `/config` scrive per te.

450 450 

451<h3 id="share-settings-with-your-team">451<h3 id="share-settings-with-your-team">

452 Condividere le impostazioni con il vostro team452 Condividere le impostazioni con il tuo team

453</h3>453</h3>

454 454 

455Eseguite il commit di `.claude/settings.json` in modo che tutti coloro che clonano il repository ottengano le stesse autorizzazioni, hooks, e plugins. Ogni collega può comunque sostituirlo per se stesso nel proprio `.claude/settings.local.json`, quindi le eccezioni personali non hanno bisogno di un commit. Per un file team completo, vedete [le impostazioni condivise di un team](/docs/it/settings-example#a-teams-shared-settings).455Esegui il commit di `.claude/settings.json` in modo che tutti coloro che clonano il repository ricevano gli stessi permessi, hook e plugin. Ogni collega può comunque sovrascriverlo per sé nel proprio `.claude/settings.local.json`, quindi le eccezioni personali non richiedono un commit. Per un file di team completo, consulta [le impostazioni condivise di un team](/docs/it/settings-example#a-teams-shared-settings).

456 456 

457Parte di quello che eseguite il commit attende fino a quando ogni collega [non si fida della cartella](/docs/it/permissions#project-allow-rules-and-workspace-trust), e poche chiavi non hanno mai effetto da un file di repository; [Troubleshoot a setting that doesn't apply](#common-cases) copre entrambi.457Parte di ciò di cui esegui il commit resta in attesa finché ogni collega non [considera attendibile la cartella](/docs/it/permissions#project-allow-rules-and-workspace-trust), e alcune chiavi non hanno mai effetto da un file del repository; [Risolvere i problemi di un'impostazione che non si applica](#common-cases) tratta entrambi i casi.

458 458 

459<span id="local-settings-file" />459<span id="local-settings-file" />

460 460 


465<span id="keep-personal-settings-out-of-the-repository" />465<span id="keep-personal-settings-out-of-the-repository" />

466 466 

467<h3 id="keep-personal-settings-out-of-a-repository">467<h3 id="keep-personal-settings-out-of-a-repository">

468 Mantenere le impostazioni personali fuori da un repository468 Tenere le impostazioni personali fuori da un repository

469</h3>469</h3>

470 470 

471Per cambiare un'impostazione per voi stessi in un progetto senza cambiarla per i vostri colleghi, salvatela in `.claude/settings.local.json` all'interno del progetto. Claude Code applica quel file sopra il `.claude/settings.json` sottoposto a commit, quindi se il file del vostro team imposta `"model": "claude-sonnet-5"` e volete Opus, mettete `"model": "claude-opus-5-5"` nel vostro file locale e solo le vostre sessioni cambiano.471Per modificare un'impostazione solo per te in un progetto senza cambiarla per i tuoi colleghi, salvala in `.claude/settings.local.json` all'interno del progetto. Claude Code applica quel file sopra il `.claude/settings.json` sottoposto a commit, quindi se il file del tuo team imposta `"model": "claude-sonnet-5"` e tu vuoi Opus, inserisci `"model": "claude-opus-5-5"` nel tuo file locale e cambiano solo le tue sessioni.

472 472 

473Claude Code scrive anche in questo file, lo mantiene fuori dai vostri commit, e applica le sue regole di autorizzazione senza il passaggio di fiducia:473Claude Code scrive anche in questo file, lo tiene fuori dai tuoi commit e applica le sue regole allow senza il passaggio di attendibilità:

474 474 

475* **Claude Code lo scrive anche.** Quando Claude chiede il permesso di eseguire un comando Bash e scegliete "Sì, e non chiedere di nuovo", Claude Code salva quella [approvazione di autorizzazione](/docs/it/permissions#permission-system) qui come una regola `allow`.475* **Anche Claude Code lo scrive.** Quando Claude chiede il permesso di eseguire un comando Bash e scegli "Sì, e non chiedere di nuovo", Claude Code salva qui quell'[approvazione del permesso](/docs/it/permissions#permission-system) come regola `allow`.

476* **Non dovete gitignore voi stessi, a meno che non l'abbiate creato manualmente.** La prima volta che Claude Code scrive il file in un repository git che non lo ignora già, aggiunge `**/.claude/settings.local.json` al vostro file di esclusioni git globale, quindi il file rimane fuori dai vostri commit in ogni repository. Quel file è `core.excludesFile` quando la vostra configurazione git globale lo imposta su un percorso assoluto o con prefisso `~`; altrimenti è `$XDG_CONFIG_HOME/git/ignore`, o `~/.config/git/ignore` quando `XDG_CONFIG_HOME` non è impostato. Se avete creato il file manualmente e Claude Code non ha ancora scritto in esso, aggiungetelo a `.gitignore` voi stessi.476* **Non devi aggiungerlo tu a gitignore, a meno che tu non l'abbia creato manualmente.** La prima volta che Claude Code scrive il file in un repository git che non lo ignora già, aggiunge `**/.claude/settings.local.json` al tuo file di esclusioni git globale, così il file rimane fuori dai tuoi commit in ogni repository. Quel file è `core.excludesFile` quando la tua configurazione git globale lo imposta su un percorso assoluto o con prefisso `~`; altrimenti è `$XDG_CONFIG_HOME/git/ignore`, oppure `~/.config/git/ignore` quando `XDG_CONFIG_HOME` non è impostato. Se hai creato il file manualmente e Claude Code non vi ha ancora scritto, aggiungilo tu stesso a `.gitignore`.

477* **Le sue regole di autorizzazione non attendono la fiducia mentre il file rimane non tracciato.** Poiché il file è vostro e non del repository, Claude Code applica le sue regole `allow` senza il passaggio [workspace trust](/docs/it/permissions#project-allow-rules-and-workspace-trust) che richiede per il file sottoposto a commit. Se il file è tracciato da git, il passaggio di fiducia si applica anche ad esso; vedete [When your local settings file needs trust](/docs/it/permissions#when-your-local-settings-file-needs-trust).477* **Le sue regole allow non attendono l'attendibilità finché il file resta non tracciato.** Poiché il file è tuo e non del repository, Claude Code applica le sue regole `allow` senza il passaggio di [attendibilità del workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust) che richiede per il file sottoposto a commit. Se il file è tracciato da git, il passaggio di attendibilità si applica anche a esso; consulta [Quando il tuo file di impostazioni locali richiede l'attendibilità](/docs/it/permissions#when-your-local-settings-file-needs-trust).

478 478 

479<span id="where-claude-code-looks-for-each-file" />479<span id="where-claude-code-looks-for-each-file" />

480 480 


486 Dove Claude Code mantiene il file locale in un repository git486 Dove Claude Code mantiene il file locale in un repository git

487</h4>487</h4>

488 488 

489Quando Claude chiede il permesso di eseguire un comando Bash e scegliete "Sì, e non chiedere di nuovo", Claude Code salva quella approvazione come una regola `allow` in `.claude/settings.local.json`. Se avviate Claude Code in una sottodirectory di un repository git, legge e scrive quel file alla radice del repository e applica l'approvazione in tutto il repository. In un [worktree](/docs/it/worktrees), utilizza il file alla radice del checkout principale.489Quando Claude chiede il permesso di eseguire un comando Bash e scegli "Sì, e non chiedere di nuovo", Claude Code salva quell'approvazione come regola `allow` in `.claude/settings.local.json`. Se avvii Claude Code in una sottodirectory di un repository git, legge e scrive quel file nella radice del repository e applica l'approvazione all'intero repository. In un [worktree](/docs/it/worktrees), utilizza il file nella radice del checkout principale.

490 490 

491Due regole qualificano la posizione della radice:491Due regole precisano la posizione nella radice:

492 492 

493* **Quando il file rimane con `.claude/settings.json` invece**: fuori da un repository git, quando la radice del repository è la vostra home directory, su Windows, o quando la radice del repository o la sua voce `.git` o `.claude` non è di proprietà del vostro utente.493* **Quando il file resta invece accanto a `.claude/settings.json`**: fuori da un repository git, quando la radice del repository è la tua directory home, su Windows, oppure quando la radice del repository o la sua voce `.git` o `.claude` non è di proprietà del tuo utente.

494* **I percorsi nel file non si ancorano alla radice del repository**: una regola di autorizzazione che inizia con `/` o un percorso sandbox relativo [si ancora alla directory di lavoro primaria della sessione](/docs/it/permissions#read-and-edit) invece.494* **I percorsi nel file non si ancorano alla radice del repository**: una regola di permesso che inizia con `/` o un percorso sandbox relativo [si ancora invece alla directory di lavoro primaria della sessione](/docs/it/permissions#read-and-edit).

495 495 

496Prima della v2.1.211, Claude Code manteneva il file nella directory di avvio. Legge ancora un file che una versione precedente ha lasciato lì accanto al file radice; dove entrambi impostano la stessa chiave, il valore della radice si applica, e le regole di autorizzazione da entrambi i file si applicano. L'helper [`resolveSettings()`](/docs/it/agent-sdk/typescript#resolvesettings) dell'Agent SDK legge sempre il file dalla directory di avvio.496Prima della v2.1.211, Claude Code manteneva il file nella directory di avvio. Legge ancora un file lasciato lì da una versione precedente insieme al file nella radice; dove entrambi impostano la stessa chiave, si applica il valore della radice, e si applicano le regole di permesso di entrambi i file. L'helper [`resolveSettings()`](/docs/it/agent-sdk/typescript#resolvesettings) dell'Agent SDK legge sempre il file dalla directory di avvio.

497 497 

498Claude Code legge il `.claude/settings.json` condiviso dalla [directory di lavoro primaria](/docs/it/permissions#working-directories) della sessione, quindi per utilizzare un file sottoposto a commit alla radice del repository, avviate Claude Code lì. Dopo aver [spostato la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory), Claude Code legge entrambi i file del progetto dalla nuova directory invece, posizionando il file locale secondo le stesse regole. Leggerli dalla directory in cui vi siete spostati richiede Claude Code v2.1.246 o successivo.498Claude Code legge il `.claude/settings.json` condiviso dalla [directory di lavoro primaria](/docs/it/permissions#working-directories) della sessione, quindi per utilizzare un file sottoposto a commit nella radice del repository, avvia Claude Code lì. Dopo aver [spostato la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory), Claude Code legge invece entrambi i file di progetto dalla nuova directory, posizionando il file locale secondo le stesse regole. Leggerli dalla directory in cui ti sei spostato richiede Claude Code v2.1.246 o successivo.

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


508<span id="settings-your-organization-manages" />508<span id="settings-your-organization-manages" />

509 509 

510<h3 id="check-what-your-organization-enforces">510<h3 id="check-what-your-organization-enforces">

511 Verificare cosa la vostra organizzazione applica511 Verificare cosa impone la tua organizzazione

512</h3>512</h3>

513 513 

514Se la vostra organizzazione gestisce Claude Code, alcune impostazioni sono decise per voi e nulla di quello che mettete nei vostri file cambia loro. Per vedere quali, eseguite `/status`: la riga `Setting sources` nomina la fonte gestita che si applica a voi. Le impostazioni gestite si applicano ovunque Claude Code funzioni su questa macchina; [What a developer can change](/docs/it/managed-settings#what-a-developer-can-change) copre i diritti di amministratore locale e gli strumenti diversi da Claude Code.514Se la tua organizzazione gestisce Claude Code, alcune impostazioni sono decise per te e nulla di ciò che inserisci nei tuoi file le modifica. Per vedere quali, esegui `/status`: la riga `Setting sources` indica la fonte gestita che si applica a te. Le impostazioni gestite si applicano ovunque Claude Code venga eseguito su questa macchina; [Cosa può modificare uno sviluppatore](/docs/it/managed-settings#what-a-developer-can-change) tratta i diritti di amministratore locale e gli strumenti diversi da Claude Code.

515 515 

516Le impostazioni gestite vi raggiungono attraverso i [delivery mechanisms](/docs/it/managed-settings#delivery-mechanisms) sulla pagina delle impostazioni gestite, più comunemente:516Le impostazioni gestite ti raggiungono attraverso i [meccanismi di distribuzione](/docs/it/managed-settings#delivery-mechanisms) descritti nella pagina delle impostazioni gestite, più comunemente:

517 517 

518* [Server-managed settings](/docs/it/server-managed-settings), che Claude Code recupera dalla console di amministrazione claude.ai o da un [Claude apps gateway](/docs/it/claude-apps-gateway) auto-ospitato518* [Impostazioni gestite dal server](/docs/it/server-managed-settings), che Claude Code recupera dalla console di amministrazione claude.ai o da un [gateway Claude apps](/docs/it/claude-apps-gateway) self-hosted

519* Politiche MDM o a livello di sistema operativo, e file `managed-settings.json` in una directory di sistema519* Politiche MDM o a livello di sistema operativo, e file `managed-settings.json` in una directory di sistema

520* Un host di incorporamento come Claude Desktop, attraverso l'opzione SDK `managedSettings`; vedete [Control policy from an embedding host](/docs/it/managed-settings#parent-settings-from-embedding-hosts)520* Un host di incorporamento come Claude Desktop, tramite l'opzione `managedSettings` dell'SDK; consulta [Controllare le politiche da un host di incorporamento](/docs/it/managed-settings#parent-settings-from-embedding-hosts)

521 521 

522In una sessione [Cowork](https://claude.com/docs/cowork/overview) che funziona sulla vostra macchina nell'app Claude Desktop, Claude Code non recupera le impostazioni gestite dal server dalla console di amministrazione claude.ai, e legge la politica distribuita al vostro dispositivo a meno che la configurazione Claude Desktop della vostra organizzazione non imposti `requireCoworkFullVmSandbox`. [Where and when a policy applies](/docs/it/managed-settings#where-and-when-a-policy-applies) copre Cowork e le sessioni cloud.522In una sessione [Cowork](https://claude.com/docs/cowork/overview) eseguita sulla tua macchina nell'app Claude Desktop, Claude Code non recupera le impostazioni gestite dal server dalla console di amministrazione claude.ai, e legge le politiche distribuite al tuo dispositivo a meno che la configurazione di Claude Desktop della tua organizzazione non imposti `requireCoworkFullVmSandbox`. [Dove e quando si applica una politica](/docs/it/managed-settings#where-and-when-a-policy-applies) tratta Cowork e le sessioni cloud.

523 523 

524Se siete l'amministratore, [Set up Claude Code for your organization](/docs/it/admin-setup) vi guida attraverso la scelta di cosa applicare, e [Deploy managed settings](/docs/it/managed-settings) copre la distribuzione e come confermare che una politica è in vigore.524Se sei l'amministratore, [Configurare Claude Code per la tua organizzazione](/docs/it/admin-setup) ti guida nella scelta di cosa imporre, e [Distribuire le impostazioni gestite](/docs/it/managed-settings) tratta la distribuzione e come confermare che una politica è in vigore. Per l'avviso che l'editor delle impostazioni gestite nella console di amministrazione claude.ai può mostrare, consulta [Configurare le impostazioni gestite dal server](/docs/it/server-managed-settings#configure-server-managed-settings).

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 Modificate un'impostazione527 Modificate un'impostazione


809 809 

810Una [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un [ambiente cloud](/docs/it/cloud-environments) su un clone fresco del vostro repository, non sulla vostra macchina. Questo cambia quali impostazioni la raggiungono:810Una [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un [ambiente cloud](/docs/it/cloud-environments) su un clone fresco del vostro repository, non sulla vostra macchina. Questo cambia quali impostazioni la raggiungono:

811 811 

812* **Impostazioni di progetto condivise** (`.claude/settings.json`): lette in una sessione con un repository, perché il file fa parte del clone e la sessione inizia al suo interno. Committate un'impostazione lì per applicarla in quelle sessioni. Una sessione con più repository inizia sopra i clone e legge solo i tasti `enabledPlugins` e `extraKnownMarketplaces` da ogni `.claude/settings.json` del repository, non le regole di permesso, gli hook, `env` o altre chiavi. I marketplace e i plugin che questi due tasti dichiarano ancora [non si caricano in una sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup).812* **Impostazioni di progetto condivise** (`.claude/settings.json`): lette in una sessione con un repository, perché il file fa parte del clone e la sessione inizia al suo interno. Esegui il commit di un'impostazione lì per applicarla in quelle sessioni. In un ambiente ospitato da Anthropic, una sessione con più repository inizia sopra i clone e legge solo le chiavi `enabledPlugins` e `extraKnownMarketplaces` dal `.claude/settings.json` di ogni repository, non le regole di permesso, gli hook, `env` o altre chiavi. I marketplace e i plugin che queste due chiavi dichiarano comunque [non si caricano in una sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup). Per un ambiente auto-ospitato, consulta [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

813* **Impostazioni utente e di progetto locale** (`~/.claude/settings.json` e `.claude/settings.local.json`): non lette. Entrambe rimangono sulla vostra macchina, e il file locale non è nel clone.813* **Impostazioni utente e di progetto locale** (`~/.claude/settings.json` e `.claude/settings.local.json`): non lette. Entrambe rimangono sulla vostra macchina, e il file locale non è nel clone.

814* **Impostazioni gestite**: un file `managed-settings.json` o un profilo MDM sul vostro dispositivo non raggiunge una sessione cloud. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione lo fanno; la [copertura della superficie](/docs/it/model-config#surface-coverage) elenca quali sessioni cloud le ricevono. Un [ambiente auto-ospitato](/docs/it/self-hosted-environments) legge anche il file di impostazioni gestite nella sua immagine di runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.814* **Impostazioni gestite**: un file `managed-settings.json` o un profilo MDM sul vostro dispositivo non raggiunge una sessione cloud. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione lo fanno; la [copertura della superficie](/docs/it/model-config#surface-coverage) elenca quali sessioni cloud le ricevono. Un [ambiente auto-ospitato](/docs/it/self-hosted-environments) legge anche il file di impostazioni gestite nella sua immagine di runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.

815* **`/config`**: nel vostro browser su claude.ai/code, apre la sezione Claude Code delle vostre impostazioni claude.ai invece di modificare un valore. Per modificare un'impostazione per una sessione cloud, impostate una [variabile di ambiente](/docs/it/cloud-environments#set-environment-variables) sull'ambiente, o in una sessione con un repository, committate la chiave al `.claude/settings.json` di quel repository.815* **`/config`**: nel vostro browser su claude.ai/code, apre la sezione Claude Code delle vostre impostazioni claude.ai invece di modificare un valore. Per modificare un'impostazione per una sessione cloud, impostate una [variabile di ambiente](/docs/it/cloud-environments#set-environment-variables) sull'ambiente, o in una sessione con un repository, committate la chiave al `.claude/settings.json` di quel repository.

setup.md +20 −10

Details

638 638 

639Per rimuovere Claude Code, seguite le istruzioni per il vostro metodo di installazione. Se `claude` continua a funzionare in seguito, probabilmente avete una seconda installazione o un alias shell residuo da un programma di installazione più vecchio. Consultate [Verificare le installazioni in conflitto](/docs/it/troubleshoot-install#check-for-conflicting-installations) per trovarla e rimuoverla.639Per rimuovere Claude Code, seguite le istruzioni per il vostro metodo di installazione. Se `claude` continua a funzionare in seguito, probabilmente avete una seconda installazione o un alias shell residuo da un programma di installazione più vecchio. Consultate [Verificare le installazioni in conflitto](/docs/it/troubleshoot-install#check-for-conflicting-installations) per trovarla e rimuoverla.

640 640 

641<h3 id="native-installation">641<span id="native-installation" />

642 Installazione nativa642 

643<h3 id="uninstall-a-native-installation">

644 Disinstallare un'installazione nativa

643</h3>645</h3>

644 646 

645Rimuovete il binario di Claude Code e i file di versione:647Rimuovete il binario di Claude Code e i file di versione:


660 </Tab>662 </Tab>

661</Tabs>663</Tabs>

662 664 

663<h3 id="homebrew-installation">665<span id="homebrew-installation" />

664 Installazione Homebrew666 

667<h3 id="uninstall-with-homebrew">

668 Disinstallare con Homebrew

665</h3>669</h3>

666 670 

667Rimuovete il cask Homebrew che avete installato. Se avete installato il cask stabile:671Rimuovete il cask Homebrew che avete installato. Se avete installato il cask stabile:


676brew uninstall --cask claude-code@latest680brew uninstall --cask claude-code@latest

677```681```

678 682 

679<h3 id="winget-installation">683<span id="winget-installation" />

680 Installazione WinGet684 

685<h3 id="uninstall-with-winget">

686 Disinstallare con WinGet

681</h3>687</h3>

682 688 

683Rimuovete il pacchetto WinGet:689Rimuovete il pacchetto WinGet:


686winget uninstall Anthropic.ClaudeCode692winget uninstall Anthropic.ClaudeCode

687```693```

688 694 

689<h3 id="apt-/-dnf-/-apk">695<span id="apt-/-dnf-/-apk" />

690 apt / dnf / apk696 

697<h3 id="uninstall-with-apt-dnf-or-apk">

698 Disinstallare con apt, dnf o apk

691</h3>699</h3>

692 700 

693Rimuovete il pacchetto e la configurazione del repository:701Rimuovete il pacchetto e la configurazione del repository:


716 </Tab>724 </Tab>

717</Tabs>725</Tabs>

718 726 

719<h3 id="npm">727<span id="npm" />

720 npm728 

729<h3 id="uninstall-with-npm">

730 Disinstallare con npm

721</h3>731</h3>

722 732 

723Rimuovete il pacchetto npm globale:733Rimuovete il pacchetto npm globale:

skills.md +2 −0

Details

94| `migrate` | Aggiornare il vostro codice Claude API esistente a un modello più recente | Precedente a v2.1.221 |94| `migrate` | Aggiornare il vostro codice Claude API esistente a un modello più recente | Precedente a v2.1.221 |

95| `upgrade` | Spostare la dipendenza SDK Anthropic del vostro progetto attraverso una versione principale, attualmente il pacchetto Python `anthropic` da 0.x a 1.x | v2.1.236 o successivo |95| `upgrade` | Spostare la dipendenza SDK Anthropic del vostro progetto attraverso una versione principale, attualmente il pacchetto Python `anthropic` da 0.x a 1.x | v2.1.236 o successivo |

96| `managed-agents-onboard` | Guidarvi attraverso la creazione di un nuovo Managed Agent | Precedente a v2.1.221 |96| `managed-agents-onboard` | Guidarvi attraverso la creazione di un nuovo Managed Agent | Precedente a v2.1.221 |

97| `managed-agents-onboard <url>` | Crea il Managed Agent descritto dalla pagina all'URL, ad esempio una pagina della [documentazione di Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 o successivo |

98| `managed-agents-onboard <quickstart-name>` | Crea uno dei template di guida rapida della Console, come `deep-researcher`. Se indichi una sola parola che non è il nome di un template, Claude elenca i nomi validi | v2.1.290 o successivo |

97| `prompt-audit` | Contrassegnare le istruzioni scritte per modelli più vecchi nei vostri prompt, skill e descrizioni di strumenti e proporre correzioni come diff | v2.1.221 o successivo |99| `prompt-audit` | Contrassegnare le istruzioni scritte per modelli più vecchi nei vostri prompt, skill e descrizioni di strumenti e proporre correzioni come diff | v2.1.221 o successivo |

98| `cost-optimize` | Profilare dove va la spesa Claude API del vostro progetto e proporre risparmi da opzioni come prompt caching, riduzione di token di input e output non necessari, batch processing, effort, e scelta del modello, una modifica alla volta | v2.1.247 o successivo |100| `cost-optimize` | Profilare dove va la spesa Claude API del vostro progetto e proporre risparmi da opzioni come prompt caching, riduzione di token di input e output non necessari, batch processing, effort, e scelta del modello, una modifica alla volta | v2.1.247 o successivo |

99| `build-eval` | Costruire un set di eval per la vostra app basata su Claude | v2.1.259 o successivo |101| `build-eval` | Costruire un set di eval per la vostra app basata su Claude | v2.1.259 o successivo |

sub-agents.md +4 −2

Details

609La modalità di autorizzazione della conversazione principale decide se Claude Code utilizza il valore che imposta:609La modalità di autorizzazione della conversazione principale decide se Claude Code utilizza il valore che imposta:

610 610 

611* Quando la conversazione principale è in `bypassPermissions`, `acceptEdits`, o [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il subagent viene eseguito in quella stessa modalità e Claude Code ignora il `permissionMode` che imposta. Sotto auto mode, il classificatore valuta le chiamate di strumenti del subagent con le regole di blocco e consentimento della conversazione principale. Quando il subagent finisce, il classificatore esamina anche il suo lavoro e il suo rapporto finale prima che il rapporto venga consegnato, come [Come auto mode gestisce i subagent](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) descrive.611* Quando la conversazione principale è in `bypassPermissions`, `acceptEdits`, o [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il subagent viene eseguito in quella stessa modalità e Claude Code ignora il `permissionMode` che imposta. Sotto auto mode, il classificatore valuta le chiamate di strumenti del subagent con le regole di blocco e consentimento della conversazione principale. Quando il subagent finisce, il classificatore esamina anche il suo lavoro e il suo rapporto finale prima che il rapporto venga consegnato, come [Come auto mode gestisce i subagent](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) descrive.

612* Quando la conversazione principale è in modalità `default`, `dontAsk`, o `plan`, il subagent viene eseguito nella modalità di autorizzazione che imposta, tranne `bypassPermissions`. Un subagent che dichiara `bypassPermissions` mantiene la modalità della conversazione principale. L'eccezione `bypassPermissions` richiede Claude Code v2.1.267 o successivo.612* Quando la conversazione principale è in modalità `default`, `dontAsk` o `plan`, il subagent viene eseguito nella modalità di permesso che imposti. Mantiene invece la modalità di permesso della conversazione principale in questi casi:

613 * Imposti `bypassPermissions`. L'eccezione per `bypassPermissions` richiede Claude Code v2.1.267 o successivo.

614 * Imposti `auto` e la [modalità auto non è disponibile](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per il subagent, ad esempio quando un file di impostazioni imposta [`disableAutoMode`](/docs/it/settings-reference#disableautomode) o il modello del subagent non supporta la modalità auto.

613 615 

614`permissionMode` accetta questi valori, e `manual` come alias per `default`:616`permissionMode` accetta questi valori, e `manual` come alias per `default`:

615 617 


640Implement API endpoints. Follow the conventions and patterns from the preloaded skills.642Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

641```643```

642 644 

643Il contenuto completo di ogni skill elencata viene iniettato nel contesto del subagent all'avvio. Questo campo controlla quali skills vengono precaricate, non quali skills il subagent può accedere: senza di esso, il subagent può comunque scoprire e invocare skills di progetto, utente e plugin tramite lo strumento Skill durante l'esecuzione. Per impedire a un subagent di invocare skills interamente, ometta `Skill` dall'elenco [`tools`](#available-tools) o aggiunga a `disallowedTools`.645Il contenuto completo di ogni skill elencata viene iniettato nel contesto del subagent all'avvio, fino ai primi 32 nomi distinti dell'elenco. Questo campo controlla quali skill vengono precaricate, non a quali skill il subagent può accedere: senza di esso, il subagent può comunque individuare e invocare skill di progetto, utente e plugin tramite lo strumento Skill durante l'esecuzione. Per impedire del tutto a un subagent di invocare skill, ometti `Skill` dall'elenco [`tools`](#available-tools) o aggiungilo a `disallowedTools`.

644 646 

645Non puoi precaricare skill che impostano [`disable-model-invocation: true`](/docs/it/skills#control-who-invokes-a-skill), poiché il precaricamento attinge dallo stesso insieme di skill che Claude può invocare. Questo include la skill inclusa `/verify`, che Claude non può eseguire di propria iniziativa.647Non puoi precaricare skill che impostano [`disable-model-invocation: true`](/docs/it/skills#control-who-invokes-a-skill), poiché il precaricamento attinge dallo stesso insieme di skill che Claude può invocare. Questo include la skill inclusa `/verify`, che Claude non può eseguire di propria iniziativa.

646 648 

Details

666 666 

667* WebFetch rifiuta `localhost` e qualsiasi altro nome host senza un punto, come un nome intranet nudo, prima di effettuare una richiesta. L'[errore che restituisce](/docs/it/errors#webfetch-cannot-fetch-localhost) dice a Claude di raggiungere i server locali con `curl` tramite Bash invece.667* WebFetch rifiuta `localhost` e qualsiasi altro nome host senza un punto, come un nome intranet nudo, prima di effettuare una richiesta. L'[errore che restituisce](/docs/it/errors#webfetch-cannot-fetch-localhost) dice a Claude di raggiungere i server locali con `curl` tramite Bash invece.

668* Gli URL HTTP vengono automaticamente aggiornati a HTTPS.668* Gli URL HTTP vengono automaticamente aggiornati a HTTPS.

669* Le pagine grandi vengono troncate a un limite di caratteri fisso prima dell'elaborazione.669* WebFetch legge fino a 100.000 caratteri del contenuto di una pagina per chiamata. Su Claude Code v2.1.290 o versioni successive, il risultato per una pagina più lunga indica a Claude quanta parte non è stata letta, così Claude può recuperare la parte successiva.

670* WebFetch memorizza nella cache ogni risposta per 15 minuti per impostazione predefinita, quindi i recuperi ripetuti dello stesso URL vengono restituiti rapidamente. Su Claude Code v2.1.233 o versioni successive, impostare [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/it/env-vars#variables) per modificare il tempo in cui WebFetch mantiene ogni risposta.670* WebFetch memorizza nella cache ogni risposta per 15 minuti per impostazione predefinita, quindi i recuperi ripetuti dello stesso URL vengono restituiti rapidamente. Su Claude Code v2.1.233 o versioni successive, impostare [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/it/env-vars#variables) per modificare il tempo in cui WebFetch mantiene ogni risposta.

671* Una pagina che non ha terminato il download entro cinque minuti, inclusi tutti i reindirizzamenti che WebFetch segue, fallisce con un errore di deadline. Su Claude Code v2.1.268 o versioni successive, impostare [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/it/env-vars#variables) per modificare il limite, o a `0` per rimuoverlo.671* Una pagina che non ha terminato il download entro cinque minuti, inclusi tutti i reindirizzamenti che WebFetch segue, fallisce con un errore di deadline. Su Claude Code v2.1.268 o versioni successive, impostare [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/it/env-vars#variables) per modificare il limite, o a `0` per rimuoverlo.

672* Quando un URL reindirizza a un host diverso, WebFetch restituisce un risultato di testo che nomina l'URL originale e la destinazione del reindirizzamento invece di seguirlo. Claude quindi recupera il nuovo URL con una seconda chiamata WebFetch.672* Quando un URL reindirizza a un host diverso, WebFetch restituisce un risultato di testo che nomina l'URL originale e la destinazione del reindirizzamento invece di seguirlo. Claude quindi recupera il nuovo URL con una seconda chiamata WebFetch.

Details

17| Quello che vedi | Soluzione |17| Quello che vedi | Soluzione |

18| :- | :- |18| :- | :- |

19| `command not found: claude` o `'claude' is not recognized` | [Correggi il tuo PATH](#command-not-found-claude-after-installation) |19| `command not found: claude` o `'claude' is not recognized` | [Correggi il tuo PATH](#command-not-found-claude-after-installation) |

20| `Native installation exists but ... is not in your PATH` | [Aggiungi la directory di installazione al tuo PATH](#verify-your-path) |

21| `INFO: Could not find files for the given pattern(s).` da `where.exe claude` | [Verifica se Claude Code è installato](#check-for-conflicting-installations) |

22| `zsh: permission denied: /Users/you/.zshrc` o `bash: /home/you/.bashrc: Permission denied` | [Rendi scrivibile il file di configurazione della shell](#permission-denied-when-adding-to-your-path) |

20| `syntax error near unexpected token '<'` | [Lo script di installazione restituisce HTML](#install-script-returns-html-instead-of-a-shell-script) |23| `syntax error near unexpected token '<'` | [Lo script di installazione restituisce HTML](#install-script-returns-html-instead-of-a-shell-script) |

24| `< was unexpected at this time` in CMD | [Lo script di installazione restituisce HTML](#install-script-returns-html-instead-of-a-shell-script) |

25| `The term 'System.Xml.XmlDocument' is not recognized` | [Lo script di installazione restituisce HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [Lo script di installazione ha restituito 403](#install-script-returns-html-instead-of-a-shell-script) |26| `curl: (22) The requested URL returned error: 403` | [Lo script di installazione ha restituito 403](#install-script-returns-html-instead-of-a-shell-script) |

22| `curl: (23)` o `curl: (56) Failure writing output to destination` | [Controlla la connettività o usa un programma di installazione alternativo](#curl-56-failure-writing-output-to-destination) |27| `curl: (23)` o `curl: (56) Failure writing output to destination` | [Controlla la connettività o usa un programma di installazione alternativo](#curl-56-failure-writing-output-to-destination) |

23| `Killed` durante l'installazione su Linux, o `Installation was killed before it could finish (exit code 137)` | [Libera memoria o aggiungi spazio di swap](#install-killed-on-low-memory-linux-servers) |28| `Killed` durante l'installazione su Linux | [Libera memoria o aggiungi spazio di swap](#install-killed-on-low-memory-linux-servers) |

29| `Installation was killed before it could finish` | [Libera memoria, quindi riesegui il programma di installazione](#installation-was-killed-before-it-could-finish) |

24| `Raw mode is not supported` durante l'installazione | [Riesegui il programma di installazione](#raw-mode-is-not-supported-during-install) |30| `Raw mode is not supported` durante l'installazione | [Riesegui il programma di installazione](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` durante l'installazione | [Correggi i permessi della directory di installazione](#permission-errors-during-installation) |31| `EACCES: permission denied` durante l'installazione | [Correggi i permessi della directory di installazione](#permission-errors-during-installation) |

26| `TLS connect error` o `SSL/TLS secure channel` | [Aggiorna i certificati CA](#tls-or-ssl-connection-errors) |32| `TLS connect error` o `SSL/TLS secure channel` | [Aggiorna i certificati CA](#tls-or-ssl-connection-errors) |

33| `CRYPT_E_NO_REVOCATION_CHECK` o `CRYPT_E_REVOCATION_OFFLINE` | [Aggira i controlli di revoca bloccati](#tls-or-ssl-connection-errors) |

27| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |34| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |

35| `The connection dropped while downloading the update` o `Download timed out: exceeded the total deadline` | [Esegui di nuovo l'aggiornamento o imposta il tuo proxy](#the-connection-dropped-while-downloading-the-update) |

28| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |36| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |

29| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aggiorna Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aggiorna Homebrew](#homebrew-cask-unavailable-or-outdated) |

38| `Cask 'claude-code@latest' is not installed` | [Aggiorna il cask che hai installato](#cask-is-not-installed) |

30| `'bash' is not recognized as the name of a cmdlet` | [Usa il comando del programma di installazione di Windows](#wrong-install-command-on-windows) |39| `'bash' is not recognized as the name of a cmdlet` | [Usa il comando del programma di installazione di Windows](#wrong-install-command-on-windows) |

31| `A parameter cannot be found that matches parameter name 'fsSL'` | [Usa il comando del programma di installazione di Windows](#wrong-install-command-on-windows) |40| `A parameter cannot be found that matches parameter name 'fsSL'` | [Usa il comando del programma di installazione di Windows](#wrong-install-command-on-windows) |

32| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installa una shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |41| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installa una shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |


125 134 

126Se l'installazione è riuscita ma ricevi un errore `command not found` o `not recognized` quando esegui `claude`, la directory di installazione non è nel tuo PATH. La tua shell cerca i programmi nelle directory elencate in PATH, e il programma di installazione posiziona `claude` in `~/.local/bin/claude` su macOS/Linux o `%USERPROFILE%\.local\bin\claude.exe` su Windows.135Se l'installazione è riuscita ma ricevi un errore `command not found` o `not recognized` quando esegui `claude`, la directory di installazione non è nel tuo PATH. La tua shell cerca i programmi nelle directory elencate in PATH, e il programma di installazione posiziona `claude` in `~/.local/bin/claude` su macOS/Linux o `%USERPROFILE%\.local\bin\claude.exe` su Windows.

127 136 

137Il programma di installazione rileva questo caso e lo segnala sotto `Setup notes:` nel suo output: `Native installation exists but ~/.local/bin is not in your PATH.` su macOS e Linux, oppure `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` su Windows. Insieme a quella nota stampa la correzione, ma non modifica il PATH da solo.

138 

128<Note>139<Note>

129 L'[estensione VS Code](/docs/it/vs-code) non posiziona `claude` in questa posizione. Raggruppa una copia privata della CLI all'interno della directory dell'estensione per il suo pannello di chat e non la aggiunge a PATH. Se hai installato solo l'estensione, `~/.local/bin/claude` non esisterà. Esegui l'[installazione standalone](/docs/it/setup) per utilizzare `claude` da un terminale, quindi continua di seguito.140 L'[estensione VS Code](/docs/it/vs-code) non posiziona `claude` in questa posizione. Raggruppa una copia privata della CLI all'interno della directory dell'estensione per il suo pannello di chat e non la aggiunge a PATH. Se hai installato solo l'estensione, `~/.local/bin/claude` non esisterà. Esegui l'[installazione standalone](/docs/it/setup) per utilizzare `claude` da un terminale, quindi continua di seguito.

130</Note>141</Note>

131 142 

132Controlla se la directory di installazione è nel tuo PATH elencando le tue voci PATH e filtrando per `local/bin`:143Per prima cosa controlla che il programma sia effettivamente presente, poi controlla se la sua cartella è nel tuo PATH. La correzione del PATH è permanente, quindi la applichi una sola volta. Scegli la scheda della tua piattaforma ed esegui lì i relativi comandi: nel tuo terminale su macOS e Linux, oppure in PowerShell o nel Prompt dei comandi su Windows.

133 144 

134<Tabs>145<Tabs>

135 <Tab title="macOS/Linux">146 <Tab title="macOS/Linux">

147 Controlla che il programma di installazione abbia messo il programma al suo posto:

148 

149 ```bash theme={null}

150 ls -la ~/.local/bin/claude

151 ```

152 

153 * **`No such file or directory`**: non c'è un'installazione nativa. Se non hai installato Claude Code in un altro modo, ad esempio con npm, Homebrew o un gestore di pacchetti Linux, [installa Claude Code](/docs/it/setup#install-claude-code). Se lo hai installato in un altro modo, vedi [Controlla le installazioni in conflitto](#check-for-conflicting-installations).

154 * **Un elenco per il file**: il programma è presente. Controlla poi il tuo PATH.

155 

156 Elenca le tue voci PATH e filtra per la cartella di installazione:

157 

136 ```bash theme={null}158 ```bash theme={null}

137 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"159 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

138 ```160 ```

139 161 

140 Se questo stampa `/Users/you/.local/bin` o `/home/you/.local/bin`, la directory è nel tuo PATH e puoi saltare a [Controlla le installazioni in conflitto](#check-for-conflicting-installations). Se non c'è output, aggiungilo alla tua configurazione shell.162 Se questo stampa `/Users/you/.local/bin` o `/home/you/.local/bin`, la directory è nel tuo PATH e puoi saltare a [Controlla le installazioni in conflitto](#check-for-conflicting-installations). Se non c'è output, aggiungila alla tua configurazione della shell con i due comandi per la tua shell. Il comando `echo` salva l'impostazione per ogni nuovo terminale, e `source` la applica alla finestra in cui ti trovi. Il comando `echo` non stampa nulla quando riesce.

141 163 

142 Per Zsh, il default su macOS:164 Per Zsh, il default su macOS:

143 165 


162 184 

163 In alternativa, chiudi e riapri il tuo terminale.185 In alternativa, chiudi e riapri il tuo terminale.

164 186 

165 Per altri shell come fish o Nushell, aggiungi `~/.local/bin` al tuo PATH usando la sintassi di configurazione del tuo shell, quindi riavvia il tuo terminale.187 Se il comando `echo` stampa `permission denied`, vedi [`permission denied` quando aggiungi al tuo PATH](#permission-denied-when-adding-to-your-path).

188 

189 Per altre shell come fish o Nushell, aggiungi `~/.local/bin` al tuo PATH usando la sintassi di configurazione della tua shell, quindi riavvia il tuo terminale.

166 190 

167 Verifica che la correzione abbia funzionato:191 Verifica che la correzione abbia funzionato:

168 192 

169 ```bash theme={null}193 ```bash theme={null}

170 claude --version194 claude --version

171 ```195 ```

196 

197 Se `claude` non viene ancora trovato, controlla queste cause:

198 

199 * **Il terminale è precedente alla modifica**: una finestra già aperta mantiene il suo vecchio PATH, e un terminale all'interno di un editor prende il suo PATH dall'editor. Apri una nuova finestra, oppure chiudi e riapri l'editor.

200 * **La riga non è stata salvata**: esegui `grep -n '.local/bin' ~/.zshrc`, usando il nome del file della tua shell. Se la riga è presente, la stampa con il suo numero di riga. Se non stampa nulla, esegui di nuovo i due comandi PATH.

201 * **La riga è finita nel file di un'altra shell**: esegui `echo $0` per vedere la tua shell, quindi esegui i due comandi PATH per quella shell.

172 </Tab>202 </Tab>

173 203 

174 <Tab title="Windows PowerShell">204 <Tab title="Windows PowerShell">

205 Controlla che il programma di installazione abbia messo il programma al suo posto:

206 

207 ```powershell theme={null}

208 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

209 ```

210 

211 * **`False`**: non c'è un'installazione nativa. Se non hai installato Claude Code in un altro modo, ad esempio con npm o WinGet, [installa Claude Code](/docs/it/setup#install-claude-code). Se lo hai installato in un altro modo, vedi [Controlla le installazioni in conflitto](#check-for-conflicting-installations).

212 * **`True`**: il programma è presente. Controlla poi il tuo PATH.

213 

214 Elenca le tue voci PATH e filtra per la cartella di installazione:

215 

175 ```powershell theme={null}216 ```powershell theme={null}

176 $env:PATH -split ';' | Select-String '\.local\\bin'217 $env:PATH -split ';' | Select-String '\.local\\bin'

177 ```218 ```

178 219 

179 Se non c'è output, aggiungi la directory di installazione al tuo User PATH:220 Se questo stampa `C:\Users\you\.local\bin`, la directory è nel tuo PATH e puoi saltare a [Controlla le installazioni in conflitto](#check-for-conflicting-installations). Se non c'è output, aggiungi la directory di installazione al tuo User PATH:

180 221 

181 ```powershell theme={null}222 ```powershell theme={null}

182 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')223 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')


190 ```powershell theme={null}231 ```powershell theme={null}

191 claude --version232 claude --version

192 ```233 ```

234 

235 Se `claude` non viene ancora trovato in un nuovo terminale, controlla queste cause:

236 

237 * **Il terminale viene eseguito all'interno di un editor**: prende il suo PATH dall'editor, quindi chiudi e riapri l'editor.

238 * **La modifica non è stata salvata**: esegui `[Environment]::GetEnvironmentVariable('PATH', 'User')` e cerca `.local\bin` nel PATH che stampa. Se manca, esegui di nuovo i due comandi.

193 </Tab>239 </Tab>

194 240 

195 <Tab title="Windows CMD">241 <Tab title="Windows CMD">

242 Controlla che il programma di installazione abbia messo il programma al suo posto:

243 

244 ```batch theme={null}

245 dir "%USERPROFILE%\.local\bin\claude.exe"

246 ```

247 

248 * **`File Not Found` o `The system cannot find the path specified.`**: non c'è un'installazione nativa. Se non hai installato Claude Code in un altro modo, ad esempio con npm o WinGet, [installa Claude Code](/docs/it/setup#install-claude-code). Se lo hai installato in un altro modo, vedi [Controlla le installazioni in conflitto](#check-for-conflicting-installations).

249 * **Un elenco per `claude.exe`**: il programma è presente. Controlla poi il tuo PATH.

250 

251 Elenca le tue voci PATH e filtra per la cartella di installazione:

252 

196 ```batch theme={null}253 ```batch theme={null}

197 echo %PATH% | findstr /i "local\bin"254 echo %PATH% | findstr /i "local\bin"

198 ```255 ```


204 ```batch theme={null}261 ```batch theme={null}

205 claude --version262 claude --version

206 ```263 ```

264 

265 Se `claude` non viene ancora trovato in un nuovo terminale, tieni presente che un terminale all'interno di un editor prende il suo PATH dall'editor, quindi chiudi e riapri anche l'editor.

207 </Tab>266 </Tab>

208</Tabs>267</Tabs>

209 268 


221 which -a claude280 which -a claude

222 ```281 ```

223 282 

224 Se questo non stampa nulla, nessun `claude` è ancora nel tuo PATH. Torna a [Verifica il tuo PATH](#verify-your-path).283 Se questo stampa `claude not found`, una riga `no claude in`, o nulla, nessun `claude` è nel tuo PATH. I controlli successivi mostrano se ne è installato almeno uno.

225 284 

226 Controlla le tre posizioni da cui un binario `claude` può provenire. `~/.local/bin/claude` è il programma di installazione nativo, `~/.claude/local/` è un'installazione npm locale legacy creata da versioni precedenti di Claude Code, e l'elenco npm globale mostra un'installazione `-g`:285 Controlla le tre posizioni da cui un binario `claude` può provenire. `~/.local/bin/claude` è il programma di installazione nativo, `~/.claude/local/` è un'installazione npm locale legacy creata da versioni precedenti di Claude Code, e l'elenco npm globale mostra un'installazione `-g`:

227 286 


240 ```bash theme={null}299 ```bash theme={null}

241 npm -g ls @anthropic-ai/claude-code 2>/dev/null300 npm -g ls @anthropic-ai/claude-code 2>/dev/null

242 ```301 ```

302 

303 Se `ls -la ~/.local/bin/claude` ha stampato `No such file or directory`, non c'è un'installazione nativa. Se non hai installato Claude Code in un altro modo, ad esempio con npm, Homebrew o un gestore di pacchetti Linux, [installa Claude Code](/docs/it/setup#install-claude-code). Se `~/.local/bin/claude` esiste ma `which -a claude` non lo ha elencato, la cartella non è nel tuo PATH: vedi [Verifica il tuo PATH](#verify-your-path).

243 </Tab>304 </Tab>

244 305 

245 <Tab title="Windows PowerShell">306 <Tab title="Windows PowerShell">


249 where.exe claude310 where.exe claude

250 ```311 ```

251 312 

313 Se questo stampa `INFO: Could not find files for the given pattern(s).`, nessun `claude` è nel tuo PATH.

314 

252 Controlla se il programma di installazione nativo ha posizionato un binario:315 Controlla se il programma di installazione nativo ha posizionato un binario:

253 316 

254 ```powershell theme={null}317 ```powershell theme={null}

255 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"318 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

256 ```319 ```

320 

321 * **`True`**: l'installazione nativa è presente. Se `where.exe` non ha trovato nulla, la sua cartella non è nel tuo PATH: vedi [Verifica il tuo PATH](#verify-your-path).

322 * **`False`**: non c'è un'installazione nativa. Se non hai installato Claude Code in un altro modo, ad esempio con npm o WinGet, [installa Claude Code](/docs/it/setup#install-claude-code).

257 </Tab>323 </Tab>

258</Tabs>324</Tabs>

259 325 


368 Lo script di installazione restituisce HTML invece di uno script shell434 Lo script di installazione restituisce HTML invece di uno script shell

369</h3>435</h3>

370 436 

371Quando si esegue il comando di installazione, è possibile che si veda uno di questi errori:437Il comando di installazione fallisce con uno di questi errori quando ciò che ha scaricato non è lo script di installazione.

438 

439**Bash o Zsh**: l'errore riporta la prima riga della pagina restituita.

372 440 

373```text theme={null}441```text theme={null}

374bash: line 1: syntax error near unexpected token `<'442bash: line 1: syntax error near unexpected token `<'

375bash: line 1: `<!DOCTYPE html>'443bash: line 1: `<!DOCTYPE html>'

376```444```

377 445 

378Su PowerShell, lo stesso problema appare come errori di analisi che puntano alla pagina restituita, con `iex` che tenta di eseguire HTML e CSS come PowerShell:446**PowerShell, errori di analisi**: gli errori puntano alla pagina restituita, con `iex` che tenta di eseguire HTML e CSS come PowerShell.

379 447 

380```text theme={null}448```text theme={null}

381iex : At line:1 char:2310449iex : At line:1 char:2310


384...452...

385```453```

386 454 

387La formulazione varia a seconda della versione di PowerShell e della lingua del sistema: è possibile che si veda `Missing expression after unary operator '--'` o un `ParserError` con `ParseException`. I tag HTML o CSS nel testo tra virgolette identificano questo errore. Se si scarica con `-OutFile install.ps1`, il file salvato è la stessa pagina web, quindi nemmeno questo aiuta.455La formulazione varia a seconda della versione di PowerShell e della lingua del sistema: potresti vedere invece `Missing expression after unary operator '--'` o un `ParserError` con `ParseException`. I tag HTML o CSS nel testo riportato identificano questo errore. Se invece scarichi con `-OutFile install.ps1`, il file salvato è la stessa pagina web, quindi nemmeno questo aiuta.

388 456 

389A seconda di come è stata instradata la richiesta, è possibile che si veda invece un 403 senza corpo HTML:457**PowerShell, `System.Xml.XmlDocument`**: l'errore nomina questo tipo invece di riportare la pagina.

458 

459```text theme={null}

460System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

461file, or operable program.

462```

463 

464Quando `irm` riesce ad analizzare la risposta come XML, restituisce un oggetto XML invece di testo, e `iex` tenta poi di eseguire il nome del tipo di quell'oggetto come comando. Lo script di installazione è codice PowerShell e non viene analizzato come XML, quindi anche questo errore significa che la risposta era qualcosa di diverso dallo script. La formulazione attorno al nome del tipo varia a seconda della versione di PowerShell e della lingua del sistema, ma `System.Xml.XmlDocument` rimane invariato, quindi basati sul nome del tipo.

465 

466**CMD**: vedi questo errore, seguito dall'HTML della pagina restituita.

467 

468```text theme={null}

469< was unexpected at this time.

470 

471C:\Users\you><!DOCTYPE html>...

472```

473 

474La prima riga appare nella lingua del tuo sistema, quindi cerca l'HTML che la segue.

475 

476**Un 403 senza pagina**: a seconda di come è stata instradata la richiesta, curl segnala uno stato 403 senza corpo HTML.

390 477 

391```text theme={null}478```text theme={null}

392curl: (22) The requested URL returned error: 403479curl: (22) The requested URL returned error: 403

393```480```

394 481 

395Tutti questi significano che l'URL di installazione ha restituito una pagina HTML o uno stato di errore invece dello script di installazione. Se la pagina HTML dice "App unavailable in region", Claude Code non è disponibile nel vostro paese. Vedere [paesi supportati](https://www.anthropic.com/supported-countries).482Tutti questi significano che l'URL di installazione ha restituito una pagina web, un documento XML o uno stato di errore invece dello script di installazione. Se l'output dell'errore riporta "App unavailable in region", Claude Code non è disponibile nel tuo paese. Consulta i [paesi supportati](https://www.anthropic.com/supported-countries).

396 483 

397Un 403 nudo senza corpo spesso ha la stessa causa, ma può anche provenire da un proxy aziendale o da un firewall che blocca il download. Se siete in un paese supportato e vedete ancora il 403, consultate [Verificare la connettività di rete](#check-network-connectivity) prima di provare i programmi di installazione alternativi di seguito, poiché raggiungono gli stessi host.484Un 403 nudo senza corpo spesso ha la stessa causa, ma può anche provenire da un proxy aziendale o da un firewall che blocca il download. Se sei in un paese supportato e vedi ancora il 403, segui [Verificare la connettività di rete](#check-network-connectivity) prima di provare i programmi di installazione alternativi di seguito, poiché raggiungono gli stessi host.

398 485 

399Altrimenti, questo può accadere a causa di problemi di rete, routing regionale o un'interruzione temporanea del servizio.486Altrimenti, questo può accadere a causa di problemi di rete, routing regionale o un'interruzione temporanea del servizio.

400 487 

401**Soluzioni:**488**Soluzioni:**

402 489 

4031. **Utilizzare un metodo di installazione alternativo**:4901. **Riprova dopo alcuni minuti**: il problema è spesso temporaneo. Attendi e riprova il comando originale.

491 

4922. **Usa un metodo di installazione alternativo**: a differenza di un'installazione nativa, un'installazione tramite Homebrew o WinGet [non si aggiorna da sola per impostazione predefinita](/docs/it/setup#auto-updates).

404 493 

405 Su macOS, installare tramite Homebrew:494 Su macOS, installa tramite Homebrew:

406 495 

407 ```bash theme={null}496 ```bash theme={null}

408 brew install --cask claude-code497 brew install --cask claude-code

409 ```498 ```

410 499 

411 Su Windows, installare tramite WinGet:500 Su Windows, installa tramite WinGet:

412 501 

413 ```powershell theme={null}502 ```powershell theme={null}

414 winget install Anthropic.ClaudeCode503 winget install Anthropic.ClaudeCode

415 ```504 ```

416 505 

417 Quindi eseguire `claude --version` per confermare: il comando stampa un numero di versione come `2.1.211 (Claude Code)`. Se la shell segnala che `claude` non è trovato, aprire una nuova finestra del terminale e riprovare: la sessione da cui avete installato mantiene il vecchio `PATH`.506 Quindi esegui `claude --version` per confermare: il comando stampa un numero di versione come `2.1.211 (Claude Code)`. Se la shell segnala che `claude` non è stato trovato, apri una nuova finestra del terminale e riprova: la sessione da cui hai installato mantiene il vecchio `PATH`.

418 

4192. **Riprovare dopo alcuni minuti**: il problema è spesso temporaneo. Attendere e riprovare il comando originale.

420 507 

421<h3 id="command-not-found-claude-after-installation">508<h3 id="command-not-found-claude-after-installation">

422 `command not found: claude` dopo l'installazione509 `command not found: claude` dopo l'installazione


435 522 

436Altrimenti, consulta [Verificare il tuo PATH](#verify-your-path) per la correzione su ogni piattaforma.523Altrimenti, consulta [Verificare il tuo PATH](#verify-your-path) per la correzione su ogni piattaforma.

437 524 

525<h3 id="permission-denied-when-adding-to-your-path">

526 `permission denied` quando aggiungi al PATH

527</h3>

528 

529Se il comando `echo` che aggiunge `~/.local/bin` al tuo PATH stampa `zsh: permission denied: /Users/you/.zshrc` o `bash: /home/you/.bashrc: Permission denied`, il tuo utente non può scrivere in quel file e non è stato salvato nulla. Nel terminale, verifica chi è il proprietario del file, usando il nome del file della tua shell al posto di `~/.zshrc`:

530 

531```bash theme={null}

532ls -l ~/.zshrc

533```

534 

535Il terzo campo dell'output è il proprietario.

536 

537* **Il proprietario è un altro utente, come `root`**: acquisisci la proprietà con `sudo chown $(whoami) ~/.zshrc`, che richiede diritti di amministratore.

538* **Il proprietario sei tu**: il file è di sola lettura. Rendilo scrivibile con `chmod u+w ~/.zshrc`.

539 

540Quindi esegui di nuovo i due comandi PATH per la tua shell in [Verificare il tuo PATH](#verify-your-path).

541 

438<h3 id="curl-56-failure-writing-output-to-destination">542<h3 id="curl-56-failure-writing-output-to-destination">

439 `curl: (56) Failure writing output to destination`543 `curl: (56) Failure writing output to destination`

440</h3>544</h3>

441 545 

442Il comando `curl ... | bash` scarica lo script e lo invia a Bash per l'esecuzione. Questo errore, e il correlato `curl: (23) Failure writing output to destination`, significa che Bash non ha ricevuto lo script completo. Il codice di uscita 56 indica che il download stesso è stato interrotto, e il codice di uscita 23 indica che curl non poteva scrivere ciò che ha ricevuto alla pipe, solitamente perché Bash è uscito prematuramente.546Il comando `curl ... | bash` scarica lo script e lo invia a Bash per l'esecuzione. Questo errore, e il correlato `curl: (23) Failure writing output to destination`, significa che Bash non ha ricevuto lo script completo. Il codice di uscita 56 indica che il download stesso è stato interrotto, e il codice di uscita 23 indica che curl non poteva scrivere ciò che ha ricevuto nella pipe, solitamente perché Bash è uscito prematuramente.

443 547 

444Verificare che sia possibile raggiungere `downloads.claude.ai` con il controllo in [Verificare la connettività di rete](#check-network-connectivity). Se avete raggiunto il server, il fallimento originale era probabilmente intermittente; riprovare il comando di installazione. Potete anche [provare un metodo di installazione alternativo](/docs/it/setup#install-claude-code).548Verifica di poter raggiungere `downloads.claude.ai` con il controllo in [Verificare la connettività di rete](#check-network-connectivity). Se hai raggiunto il server, il fallimento originale era probabilmente intermittente; riprova il comando di installazione. Puoi anche [provare un metodo di installazione alternativo](/docs/it/setup#install-claude-code).

445 549 

446<h3 id="homebrew-cask-unavailable-or-outdated">550<h3 id="homebrew-cask-unavailable-or-outdated">

447 Cask Homebrew non disponibile o obsoleto551 Cask Homebrew non disponibile o obsoleto

448</h3>552</h3>

449 553 

450Homebrew segnala `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` quando la copia locale dell'indice cask di Homebrew è precedente alla pubblicazione del cask. Aggiornare l'indice e riprovare:554Homebrew segnala `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` quando la copia locale dell'indice cask di Homebrew è precedente alla pubblicazione del cask. Aggiorna l'indice e riprova:

451 555 

452```bash theme={null}556```bash theme={null}

453brew update557brew update

454brew install --cask claude-code558brew install --cask claude-code

455```559```

456 560 

457Se Homebrew installa una versione di Claude Code più vecchia di quella prevista, lo stesso indice obsoleto è solitamente la causa. Il cask `claude-code` traccia il canale stabile ed è tipicamente circa una settimana dietro l'ultima versione; per la versione più recente eseguire `brew install --cask claude-code@latest`. Vedere [Configurare il canale di rilascio](/docs/it/setup#configure-release-channel) per la differenza tra i due cask.561Se Homebrew installa una versione di Claude Code più vecchia di quella prevista, la causa è solitamente lo stesso indice obsoleto. Il cask `claude-code` segue il canale stabile ed è tipicamente circa una settimana indietro rispetto all'ultima versione; per la versione più recente esegui invece `brew install --cask claude-code@latest`. Consulta [Configurare il canale di rilascio](/docs/it/setup#configure-release-channel) per la differenza tra i due cask.

562 

563<h3 id="cask-is-not-installed">

564 `Cask 'claude-code@latest' is not installed`

565</h3>

566 

567Homebrew offre due cask, `claude-code` e `claude-code@latest`. Eseguire `brew upgrade --cask claude-code@latest` quando il cask installato non è quello stampa `Error: Cask 'claude-code@latest' is not installed.` Per vedere quale cask hai, esegui questo nel terminale:

568 

569```bash theme={null}

570brew list --cask | grep claude-code

571```

572 

573Aggiorna il cask che viene stampato. Se non stampa nulla, nessuno dei due cask è installato.

458 574 

459<h3 id="tls-or-ssl-connection-errors">575<h3 id="tls-or-ssl-connection-errors">

460 Errori di connessione TLS o SSL576 Errori di connessione TLS o SSL


464 580 

465* `curl: (35) TLS connect error`581* `curl: (35) TLS connect error`

466* `schannel: next InitializeSecurityContext failed`582* `schannel: next InitializeSecurityContext failed`

467* PowerShell's `Could not create SSL/TLS secure channel`583* `Could not create SSL/TLS secure channel` di PowerShell

468* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`584* `Could not establish trust relationship for the SSL/TLS secure channel` di PowerShell

585 

586Per `CRYPT_E_NO_REVOCATION_CHECK` o `CRYPT_E_REVOCATION_OFFLINE`, vai al passaggio 4.

469 587 

470**Soluzioni:**588**Soluzioni:**

471 589 

4721. **Aggiornare i certificati CA del sistema**:5901. **Aggiorna i certificati CA del sistema**:

473 591 

474 Su Ubuntu/Debian:592 Su Ubuntu/Debian:

475 593 


479 597 

480 Su macOS, il curl di sistema utilizza l'archivio di fiducia Keychain; l'aggiornamento di macOS stesso aggiorna i certificati root.598 Su macOS, il curl di sistema utilizza l'archivio di fiducia Keychain; l'aggiornamento di macOS stesso aggiorna i certificati root.

481 599 

4822. **Su Windows, abilitare TLS 1.2** in PowerShell prima di eseguire il programma di installazione:6002. **In Windows PowerShell 5.1, abilita TLS 1.2**:

483 ```powershell theme={null}601 ```powershell theme={null}

484 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12602 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

603 ```

604 Quindi esegui il programma di installazione nella stessa finestra:

605 ```powershell theme={null}

485 irm https://claude.ai/install.ps1 | iex606 irm https://claude.ai/install.ps1 | iex

486 ```607 ```

487 608 

4883. **Verificare l'interferenza di proxy o firewall**: i proxy aziendali che eseguono l'ispezione TLS possono causare questi errori, inclusi `unable to get local issuer certificate` e `SELF_SIGNED_CERT_IN_CHAIN`. Per il passaggio di installazione, fare in modo che il download di installazione si fidi del CA del proxy aziendale:6093. **Verifica l'interferenza di proxy o firewall**: i proxy aziendali che eseguono l'ispezione TLS possono causare questi errori, inclusi `unable to get local issuer certificate` e `SELF_SIGNED_CERT_IN_CHAIN`. Per il passaggio di installazione, fai in modo che il download di installazione si fidi della CA del proxy aziendale:

489 610 

490 <Tabs>611 <Tabs>

491 <Tab title="macOS/Linux">612 <Tab title="macOS/Linux">


495 </Tab>616 </Tab>

496 617 

497 <Tab title="Windows PowerShell">618 <Tab title="Windows PowerShell">

498 Il programma di installazione PowerShell scarica tramite .NET, che convalida TLS rispetto all'archivio certificati di Windows. Chiedere al team IT di aggiungere il certificato CA del proxy all'archivio di Windows se non è già presente, quindi eseguire il programma di installazione:619 Il programma di installazione PowerShell scarica tramite .NET, che convalida TLS rispetto all'archivio certificati di Windows. Chiedi al tuo team IT di aggiungere il certificato CA del proxy all'archivio di Windows se non è già presente, quindi esegui il programma di installazione:

499 620 

500 ```powershell theme={null}621 ```powershell theme={null}

501 irm https://claude.ai/install.ps1 | iex622 irm https://claude.ai/install.ps1 | iex


503 </Tab>624 </Tab>

504 </Tabs>625 </Tabs>

505 626 

506 Per Claude Code stesso una volta installato, impostare `NODE_EXTRA_CA_CERTS` in modo che le richieste API si fidino dello stesso bundle:627 Per Claude Code stesso una volta installato, imposta `NODE_EXTRA_CA_CERTS` in modo che le richieste API si fidino dello stesso bundle:

507 628 

508 <Tabs>629 <Tabs>

509 <Tab title="macOS/Linux">630 <Tab title="macOS/Linux">


519 </Tab>640 </Tab>

520 </Tabs>641 </Tabs>

521 642 

522 Chiedere al team IT il file del certificato se non lo avete. Potete anche provare su una connessione diretta per confermare che il proxy è la causa.643 Chiedi al tuo team IT il file del certificato se non ce l'hai. Puoi anche provare su una connessione diretta per confermare che la causa è il proxy.

523 644 

5244. **Su Windows, aggirare i controlli di revoca bloccati**. Gli errori `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` e `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` significano che curl ha raggiunto il server ma la vostra rete blocca la ricerca di revoca del certificato, il che è comune dietro i firewall aziendali. Se il comando che fallisce è il `curl` che scarica `install.cmd`, rieseguirlo da un Command Prompt con `--ssl-revoke-best-effort` aggiunto:6454. **Su Windows, aggira i controlli di revoca bloccati**. Gli errori `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` e `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` significano che curl ha raggiunto il server ma la tua rete blocca la verifica di revoca del certificato, cosa comune dietro i firewall aziendali. Se il comando che fallisce è il `curl` che scarica `install.cmd`, rieseguilo da un Command Prompt aggiungendo `--ssl-revoke-best-effort`:

525 ```batch theme={null}646 ```batch theme={null}

526 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd647 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

527 ```648 ```

528 Quando i download dello script stesso colpiscono gli stessi errori, li ritenta con il controllo di revoca best-effort automaticamente, quindi il flag è necessario solo sul comando che eseguite voi stessi. Il controllo best-effort tollera un server di revoca irraggiungibile ma rifiuta comunque un certificato che è noto essere revocato, corrispondendo a come i browser gestiscono la revoca. Potete anche evitare completamente il controllo di revoca di curl eseguendo il programma di installazione PowerShell da PowerShell, che scarica tramite .NET e non fallisce quando il server di revoca è irraggiungibile:649 Quando i download dello script stesso incontrano gli stessi errori, lo script li riprova automaticamente con il controllo di revoca best-effort, quindi il flag è necessario solo sul comando che esegui tu. Il controllo best-effort tollera un server di revoca irraggiungibile ma rifiuta comunque un certificato noto come revocato, allo stesso modo in cui i browser gestiscono la revoca. Puoi anche evitare completamente il controllo di revoca di curl eseguendo il programma di installazione PowerShell da PowerShell, che scarica tramite .NET e non fallisce quando il server di revoca è irraggiungibile:

529 ```powershell theme={null}650 ```powershell theme={null}

530 irm https://claude.ai/install.ps1 | iex651 irm https://claude.ai/install.ps1 | iex

531 ```652 ```

532 Potete anche installare con `winget install Anthropic.ClaudeCode`, che evita curl completamente.653 Puoi anche installare con `winget install Anthropic.ClaudeCode`, che evita completamente curl.

533 654 

534<h3 id="failed-to-fetch-version-from-downloads-claude-ai">655<h3 id="failed-to-fetch-version-from-downloads-claude-ai">

535 `Failed to fetch version from downloads.claude.ai`656 `Failed to fetch version from downloads.claude.ai`

536</h3>657</h3>

537 658 

538Il programma di installazione non poteva raggiungere il server di download. Questo tipicamente significa che `downloads.claude.ai` è bloccato sulla vostra rete. Vedere [Verificare la connettività di rete](#check-network-connectivity).659Il programma di installazione non è riuscito a raggiungere il server di download. Questo tipicamente significa che `downloads.claude.ai` è bloccato sulla tua rete. Consulta [Verificare la connettività di rete](#check-network-connectivity).

660 

661<h3 id="the-connection-dropped-while-downloading-the-update">

662 The connection dropped while downloading the update

663</h3>

664 

665La connessione al server di download si è chiusa mentre `claude install` o `claude update` scaricava il binario di Claude Code, e i nuovi tentativi non hanno risolto. Claude Code riprova il download quando la connessione cade, il trasferimento si blocca o il file scaricato non supera la verifica del checksum, fino a tre tentativi in totale. Un errore HTTP completato, come un 404, non viene riprovato perché il server ha già risposto. Prima della v2.1.202, una singola connessione interrotta faceva fallire immediatamente il download con il semplice errore `aborted` invece di riprovare.

666 

667```text theme={null}

668The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

669```

670 

671Il testo tra parentesi indica quale tentativo è fallito e l'errore di rete sottostante. `claude update` fa precedere il messaggio da `Error: Failed to install native update` su stderr.

672 

673Un download che resta connesso ma non termina entro 10 minuti fallisce invece con `Download timed out: exceeded the total deadline`. Claude Code non riprova un download scaduto, perché una connessione troppo lenta per terminare entro la scadenza non terminerà nemmeno con un nuovo tentativo immediato. I passaggi seguenti valgono per entrambi i messaggi.

674 

675Un proxy o un gateway può chiudere un trasferimento lungo prima che termini, e il binario di Claude Code è un download di grandi dimensioni.

676 

677**Cosa fare:**

678 

679* Esegui di nuovo `claude update`. Su una rete altrimenti funzionante, il download di solito riesce all'esecuzione successiva. Per il messaggio di timeout, eseguilo di nuovo da una rete più veloce o meno limitata.

680* Se la tua rete richiede un proxy, imposta `HTTPS_PROXY` prima di eseguire il programma di installazione o `claude update`. Consulta [Verificare la connettività di rete](#check-network-connectivity).

681* Se un proxy aziendale continua a chiudere il trasferimento, chiedi al tuo team di rete di consentire il download completo da `downloads.claude.ai`. Consulta [Requisiti di accesso alla rete](/docs/it/network-config#network-access-requirements).

682* Esegui `claude doctor` dalla tua shell per la diagnostica dell'installazione

539 683 

540<h3 id="wrong-install-command-on-windows">684<h3 id="wrong-install-command-on-windows">

541 Comando di installazione errato su Windows685 Comando di installazione errato su Windows

542</h3>686</h3>

543 687 

544Se vedete `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, o `'bash' is not recognized as the name of a cmdlet`, avete copiato il comando di installazione per una shell o un sistema operativo diverso. Se il comando stampa il testo dello script invece di installare qualcosa, avete eseguito solo una parte di esso.688Se vedi `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` o `'bash' is not recognized as the name of a cmdlet`, hai copiato il comando di installazione per una shell o un sistema operativo diverso. Se il comando stampa il testo dello script invece di installare qualcosa, ne hai eseguito solo una parte.

545 689 

546* **`irm` non riconosciuto**: siete in CMD, non in PowerShell. Avete due opzioni:690* **`irm` non riconosciuto**: sei in CMD, non in PowerShell. Hai due opzioni:

547 691 

548 Aprire PowerShell cercando "PowerShell" nel menu Start, quindi eseguire il comando di installazione originale:692 Apri PowerShell cercando "PowerShell" nel menu Start, quindi esegui il comando di installazione originale:

549 693 

550 ```powershell theme={null}694 ```powershell theme={null}

551 irm https://claude.ai/install.ps1 | iex695 irm https://claude.ai/install.ps1 | iex

552 ```696 ```

553 697 

554 Oppure rimanere in CMD e utilizzare il programma di installazione CMD:698 Oppure rimani in CMD e usa invece il programma di installazione CMD:

555 699 

556 ```batch theme={null}700 ```batch theme={null}

557 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd701 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

558 ```702 ```

559 703 

560* **`&&` non è un separatore di istruzioni valido**: siete in PowerShell ma avete eseguito il comando del programma di installazione CMD. Utilizzare il programma di installazione PowerShell:704* **`&&` non è un separatore di istruzioni valido**: sei in PowerShell ma hai eseguito il comando del programma di installazione CMD. Usa il programma di installazione PowerShell:

561 ```powershell theme={null}705 ```powershell theme={null}

562 irm https://claude.ai/install.ps1 | iex706 irm https://claude.ai/install.ps1 | iex

563 ```707 ```

564 708 

565* **`A parameter cannot be found that matches parameter name 'fsSL'`**: avete eseguito il programma di installazione `curl -fsSL ... | bash` di macOS/Linux in Windows PowerShell, dove `curl` è un alias per `Invoke-WebRequest` e rifiuta i flag `-fsSL`. Utilizzare il programma di installazione PowerShell:709* **`A parameter cannot be found that matches parameter name 'fsSL'`**: hai eseguito il programma di installazione `curl -fsSL ... | bash` di macOS/Linux in Windows PowerShell, dove `curl` è un alias per `Invoke-WebRequest` e rifiuta i flag `-fsSL`. Usa invece il programma di installazione PowerShell:

566 ```powershell theme={null}710 ```powershell theme={null}

567 irm https://claude.ai/install.ps1 | iex711 irm https://claude.ai/install.ps1 | iex

568 ```712 ```

569 713 

570* **`bash` non riconosciuto**: avete eseguito il programma di installazione di macOS/Linux su Windows. Utilizzare il programma di installazione PowerShell:714* **`bash` non riconosciuto**: hai eseguito il programma di installazione di macOS/Linux su Windows. Usa invece il programma di installazione PowerShell:

571 ```powershell theme={null}715 ```powershell theme={null}

572 irm https://claude.ai/install.ps1 | iex716 irm https://claude.ai/install.ps1 | iex

573 ```717 ```

574 718 

575* **Il comando stampa il testo dello script invece di installare**: avete eseguito la metà del download del comando senza la parte che lo esegue. `irm https://claude.ai/install.ps1` da solo stampa lo script scaricato al terminale. Inviarlo a `iex` per eseguirlo:719* **Il comando stampa il testo dello script invece di installare**: hai eseguito la metà del comando che scarica senza la parte che lo esegue. `irm https://claude.ai/install.ps1` da solo stampa lo script scaricato nel terminale. Invialo a `iex` per eseguirlo:

576 720 

577 ```powershell theme={null}721 ```powershell theme={null}

578 irm https://claude.ai/install.ps1 | iex722 irm https://claude.ai/install.ps1 | iex

579 ```723 ```

580 724 

581 In CMD, `curl -fsSL https://claude.ai/install.cmd` senza `-o` stampa lo script batch invece di salvarlo. Eseguire il comando completo:725 In CMD, `curl -fsSL https://claude.ai/install.cmd` senza `-o` stampa lo script batch invece di salvarlo. Esegui il comando completo:

582 726 

583 ```batch theme={null}727 ```batch theme={null}

584 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd728 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

585 ```729 ```

586 730 

587Qualunque programma di installazione utilizziate, confermare che ha funzionato: aprire un nuovo terminale ed eseguire `claude --version`, che stampa un numero di versione come `2.1.211 (Claude Code)`.731Qualunque programma di installazione usi, verifica che abbia funzionato: apri un nuovo terminale ed esegui `claude --version`, che stampa un numero di versione come `2.1.211 (Claude Code)`.

588 732 

589<h3 id="running-scripts-is-disabled-on-this-system">733<h3 id="running-scripts-is-disabled-on-this-system">

590 `running scripts is disabled on this system`734 `running scripts is disabled on this system`


598 + CategoryInfo : SecurityError: (:) [], PSSecurityException742 + CategoryInfo : SecurityError: (:) [], PSSecurityException

599```743```

600 744 

601Lo stesso errore nomina `claude.ps1` quando eseguite `claude` dopo un'installazione npm. La politica di esecuzione di PowerShell sta bloccando gli script launcher `.ps1` che npm crea per i suoi comandi. La politica si applica ai file di script, quindi non influisce sul programma di installazione PowerShell `irm https://claude.ai/install.ps1 | iex`, che esegue il testo scaricato direttamente.745Lo stesso errore nomina `claude.ps1` quando esegui `claude` dopo un'installazione npm. La politica di esecuzione di PowerShell sta bloccando gli script launcher `.ps1` che npm crea per i suoi comandi. La politica si applica ai file di script, quindi non influisce sul programma di installazione PowerShell `irm https://claude.ai/install.ps1 | iex`, che esegue direttamente il testo scaricato.

602 746 

603**Soluzioni:**747**Soluzioni:**

604 748 

6051. **Consentire gli script creati localmente per il vostro utente**, quindi riprovare:7491. **Consenti gli script creati localmente per il tuo utente**, quindi riprova:

606 ```powershell theme={null}750 ```powershell theme={null}

607 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser751 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

608 ```752 ```

6092. **Chiamare il launcher `.cmd`**: `npm.cmd` e `claude.cmd` fanno lo stesso lavoro, e la politica non li copre.7532. **Chiama invece il launcher `.cmd`**: `npm.cmd` e `claude.cmd` fanno lo stesso lavoro, e la politica non li copre.

6103. **Utilizzare il [programma di installazione PowerShell](/docs/it/setup#install-claude-code)** invece di npm. Installa un binario piuttosto che uno script `.ps1`.7543. **Usa il [programma di installazione PowerShell](/docs/it/setup#install-claude-code)** invece di npm. Installa un binario anziché uno script `.ps1`.

611 755 

612<h3 id="the-process-cannot-access-the-file-during-windows-install">756<h3 id="the-process-cannot-access-the-file-during-windows-install">

613 `The process cannot access the file` durante l'installazione su Windows757 `The process cannot access the file` durante l'installazione su Windows

614</h3>758</h3>

615 759 

616Se il programma di installazione PowerShell fallisce con `Failed to download binary: The process cannot access the file ... because it is being used by another process`, il programma di installazione non poteva scrivere in `%USERPROFILE%\.claude\downloads`. Questo solitamente significa che un tentativo di installazione precedente è ancora in esecuzione, o il software antivirus sta scansionando un binario parzialmente scaricato in quella cartella.760Se il programma di installazione PowerShell fallisce con `Failed to download binary: The process cannot access the file ... because it is being used by another process`, il programma di installazione non è riuscito a scrivere in `%USERPROFILE%\.claude\downloads`. Questo solitamente significa che un tentativo di installazione precedente è ancora in esecuzione, o che il software antivirus sta scansionando un binario parzialmente scaricato in quella cartella.

617 761 

618Chiudere qualsiasi altra finestra PowerShell che esegue il programma di installazione e attendere che le scansioni antivirus rilascino il file. Quindi eliminare la cartella dei download ed eseguire di nuovo il programma di installazione:762Chiudi qualsiasi altra finestra PowerShell che esegue il programma di installazione e attendi che le scansioni antivirus rilascino il file. Quindi elimina la cartella dei download ed esegui di nuovo il programma di installazione:

619 763 

620```powershell theme={null}764```powershell theme={null}

621Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"765Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"


628 772 

629Se il tuo terminale segnala `'claude' is not recognized` subito dopo un aggiornamento di Claude Code su Windows, verifica se `%USERPROFILE%\.local\bin` contiene ancora `claude.exe`. Se quella directory non è affatto nel tuo PATH, consulta invece [Verificare il tuo PATH](#verify-your-path). Per aggiornarsi su Windows, Claude Code rinomina il `claude.exe` esistente come backup e sposta la nuova versione al suo posto. Se lo spostamento della nuova versione fallisce e Claude Code non riesce nemmeno a ripristinare il nome del backup, la directory conserva il backup ma non contiene `claude.exe`.773Se il tuo terminale segnala `'claude' is not recognized` subito dopo un aggiornamento di Claude Code su Windows, verifica se `%USERPROFILE%\.local\bin` contiene ancora `claude.exe`. Se quella directory non è affatto nel tuo PATH, consulta invece [Verificare il tuo PATH](#verify-your-path). Per aggiornarsi su Windows, Claude Code rinomina il `claude.exe` esistente come backup e sposta la nuova versione al suo posto. Se lo spostamento della nuova versione fallisce e Claude Code non riesce nemmeno a ripristinare il nome del backup, la directory conserva il backup ma non contiene `claude.exe`.

630 774 

631Il backup è un file nella stessa directory il cui nome inizia con `claude.exe.old.` seguito da un timestamp numerico. Eseguire quanto segue in PowerShell per rinominare il backup più recente indietro a `claude.exe`:775Il backup è un file nella stessa directory il cui nome inizia con `claude.exe.old.` seguito da un timestamp numerico. Esegui quanto segue in PowerShell per rinominare il backup più recente in `claude.exe`:

632 776 

633```powershell theme={null}777```powershell theme={null}

634Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe778Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe

635```779```

636 780 

637Quindi eseguire `claude --version` per confermare la correzione. Un `claude.exe` ripristinato stampa un numero di versione.781Quindi esegui `claude --version` per confermare la correzione. Un `claude.exe` ripristinato stampa un numero di versione.

638 782 

639Se non c'è un file `claude.exe.old.*`, o `claude` fallisce ancora dopo il rinomina, reinstallare:783Se non c'è un file `claude.exe.old.*`, o `claude` fallisce ancora dopo la ridenominazione, reinstalla:

640 784 

641```powershell theme={null}785```powershell theme={null}

642irm https://claude.ai/install.ps1 | iex786irm https://claude.ai/install.ps1 | iex

643```787```

644 788 

645Prima di v2.1.281, Claude Code potrebbe eliminare il backup mentre `claude.exe` era ancora mancante.789Prima della v2.1.281, Claude Code poteva eliminare il backup mentre `claude.exe` era ancora mancante.

646 790 

647<h3 id="install-killed-on-low-memory-linux-servers">791<h3 id="install-killed-on-low-memory-linux-servers">

648 Installazione interrotta su server Linux con poca memoria792 Installazione interrotta su server Linux con poca memoria

649</h3>793</h3>

650 794 

651Un messaggio `Killed` durante l'installazione solitamente significa che il killer out-of-memory (OOM) di Linux ha terminato il passaggio `claude install` perché il sistema ha esaurito la memoria libera. Questo è comune su piccoli VPS e istanze cloud. Lo script di installazione segnala la causa e esce con il codice 137. In questo esempio, il numero di riga e l'ID del processo variano a seconda della versione e dell'esecuzione:795Un messaggio `Killed` durante l'installazione solitamente significa che l'OOM killer (out-of-memory) di Linux ha terminato il passaggio `claude install` perché il sistema ha esaurito la memoria libera. Questo è comune su piccoli VPS e istanze cloud. Lo script di installazione segnala la causa ed esce con il codice 137. In questo esempio, il numero di riga e l'ID del processo variano a seconda della versione e dell'esecuzione:

652 796 

653```text theme={null}797```text theme={null}

654Setting up Claude Code...798Setting up Claude Code...


657Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.801Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

658```802```

659 803 

660L'installazione ha bisogno di circa 512 MB di memoria libera, e l'esecuzione di Claude Code ne ha bisogno di più. Vedere i [requisiti di sistema](/docs/it/setup#system-requirements).804L'installazione richiede circa 512 MB di memoria libera, e l'esecuzione di Claude Code ne richiede di più. Consulta i [requisiti di sistema](/docs/it/setup#system-requirements).

661 805 

662**Soluzioni:**806**Soluzioni:**

663 807 

6641. **Aggiungere spazio di swap** se il vostro server ha RAM limitata. Lo swap utilizza lo spazio su disco come memoria di overflow, permettendo all'installazione di completarsi anche con poca RAM fisica.8081. **Aggiungi spazio di swap** se il tuo server ha RAM limitata. Lo swap utilizza lo spazio su disco come memoria aggiuntiva, permettendo all'installazione di completarsi anche con poca RAM fisica.

665 809 

666 Creare un file di swap di 2 GB e abilitarlo:810 Crea un file di swap di 2 GB e abilitalo:

667 811 

668 ```bash theme={null}812 ```bash theme={null}

669 sudo fallocate -l 2G /swapfile813 sudo fallocate -l 2G /swapfile


672 sudo swapon /swapfile816 sudo swapon /swapfile

673 ```817 ```

674 818 

675 Quindi riprovare l'installazione:819 Quindi riprova l'installazione:

676 820 

677 ```bash theme={null}821 ```bash theme={null}

678 curl -fsSL https://claude.ai/install.sh | bash822 curl -fsSL https://claude.ai/install.sh | bash

679 ```823 ```

680 824 

6812. **Chiudere altri processi** per liberare memoria prima di installare.8252. **Chiudi altri processi** per liberare memoria prima di installare.

826 

8273. **Usa un'istanza più grande** se possibile. Claude Code richiede almeno 4 GB di RAM.

828 

829<h3 id="installation-was-killed-before-it-could-finish">

830 Installation was killed before it could finish

831</h3>

832 

833Lo script di installazione segnala quando il passaggio `claude install` viene terminato da un segnale. Su Linux, il codice di uscita 137 significa che il processo ha ricevuto SIGKILL, e su un host con poca memoria questo è solitamente l'OOM killer (out-of-memory) del kernel. Lo script stampa questa spiegazione ed esce con il codice 137:

834 

835```text theme={null}

836Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

837Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

838```

839 

840Per qualsiasi altro segnale fatale, e per il codice di uscita 137 su macOS, lo script stampa `Installation was killed before it could finish (exit code <N>)` con il codice di uscita effettivo e omette la spiegazione sulla memoria esaurita. Il messaggio proviene dallo script di installazione usato da macOS e Linux, che copre anche le installazioni all'interno di WSL; gli script di installazione nativi per Windows non lo stampano mai. Prima della v2.1.200, lo script usciva solo con la semplice riga `Killed` della shell.

841 

842**Cosa fare:**

682 843 

6833. **Utilizzare un'istanza più grande** se possibile. Claude Code richiede almeno 4 GB di RAM.844* Arresta altri processi per liberare memoria, quindi riesegui il programma di installazione

845* Aggiungi spazio di swap o passa a un'istanza più grande. Consulta [Installazione interrotta su server Linux con poca memoria](#install-killed-on-low-memory-linux-servers) per i comandi del file di swap.

684 846 

685<h3 id="install-hangs-in-docker">847<h3 id="install-hangs-in-docker">

686 L'installazione si blocca in Docker848 L'installazione si blocca in Docker

687</h3>849</h3>

688 850 

689Quando si installa Claude Code in un contenitore Docker, l'installazione come root in `/` può causare blocchi.851Quando installi Claude Code in un contenitore Docker, l'installazione come root in `/` può causare blocchi.

690 852 

691**Soluzioni:**853**Soluzioni:**

692 854 

6931. **Impostare una directory di lavoro** prima di eseguire il programma di installazione. Quando eseguito da `/`, il programma di installazione scansiona l'intero filesystem, il che causa un utilizzo eccessivo della memoria. L'impostazione di `WORKDIR` limita la scansione a una piccola directory:8551. **Imposta una directory di lavoro** prima di eseguire il programma di installazione. Quando viene eseguito da `/`, il programma di installazione scansiona l'intero filesystem, il che causa un utilizzo eccessivo della memoria. Impostare `WORKDIR` limita la scansione a una piccola directory:

694 ```dockerfile theme={null}856 ```dockerfile theme={null}

695 WORKDIR /tmp857 WORKDIR /tmp

696 RUN curl -fsSL https://claude.ai/install.sh | bash858 RUN curl -fsSL https://claude.ai/install.sh | bash

697 ```859 ```

698 860 

6992. **Dare a Docker più memoria** se si utilizza Docker Desktop. I contenitori di build condividono la memoria allocata alla macchina virtuale Docker Desktop, quindi aprire **Settings > Resources** in Docker Desktop, aumentare il limite di memoria e rieseguire la build.8612. **Assegna più memoria a Docker** se usi Docker Desktop. I contenitori di build condividono la memoria allocata alla macchina virtuale di Docker Desktop, quindi apri **Settings > Resources** in Docker Desktop, aumenta il limite di memoria e riesegui la build.

700 862 

701<h3 id="raw-mode-is-not-supported-during-install">863<h3 id="raw-mode-is-not-supported-during-install">

702 `Raw mode is not supported` durante l'installazione864 `Raw mode is not supported` durante l'installazione

703</h3>865</h3>

704 866 

705Quando le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione includono modifiche che necessitano di [approvazione di sicurezza](/docs/it/server-managed-settings#security-approval-dialogs), le versioni di Claude Code precedenti a 2.1.246 tentano di mostrare la finestra di dialogo di approvazione durante `claude install`. La finestra di dialogo ha bisogno di un terminale su stdin. Quando il programma di installazione esegue `claude install` da una pipe, come fa `curl -fsSL https://claude.ai/install.sh | bash`, stdin è la pipe piuttosto che un terminale, quindi l'installazione fallisce con un errore contenente `Raw mode is not supported`.867Quando le [impostazioni gestite dal server](/docs/it/server-managed-settings) della tua organizzazione includono modifiche che richiedono l'[approvazione di sicurezza](/docs/it/server-managed-settings#security-approval-dialogs), le versioni di Claude Code precedenti alla 2.1.246 tentano di mostrare la finestra di dialogo di approvazione durante `claude install`. La finestra di dialogo richiede un terminale su stdin. Quando il programma di installazione esegue `claude install` da una pipe, come fa `curl -fsSL https://claude.ai/install.sh | bash`, stdin è la pipe anziché un terminale, quindi l'installazione fallisce con un errore contenente `Raw mode is not supported`.

706 868 

707Claude Code v2.1.246 e successivi non mostrano la finestra di dialogo durante `claude install` o `claude update`. Il comando viene eseguito con le impostazioni che avete approvato l'ultima volta, e Claude Code mostra la finestra di dialogo nella vostra prossima sessione interattiva. Se la configurazione di avvio della vostra organizzazione [attende il recupero delle impostazioni](/docs/it/server-managed-settings#enforce-fail-closed-startup), come quando imposta `forceRemoteSettingsRefresh`, la finestra di dialogo appare comunque durante questi comandi, e un'esecuzione di installazione da una pipe fallisce comunque.869Claude Code v2.1.246 e successive non mostrano la finestra di dialogo durante `claude install` o `claude update`. Il comando viene eseguito con le impostazioni che hai approvato l'ultima volta, e Claude Code mostra la finestra di dialogo nella tua prossima sessione interattiva. Se la configurazione di avvio della tua organizzazione [attende il recupero delle impostazioni](/docs/it/server-managed-settings#enforce-fail-closed-startup), ad esempio quando imposta `forceRemoteSettingsRefresh`, la finestra di dialogo appare comunque durante questi comandi, e un'installazione eseguita da una pipe fallisce comunque.

708 870 

709In ogni altra configurazione, rieseguire il programma di installazione supera questo errore, perché lo script esegue il comando `install` della versione più recente anche quando chiedete di installare una versione precedente. Rieseguire il comando per la vostra piattaforma:871In ogni altra configurazione, rieseguire il programma di installazione supera questo errore, perché lo script esegue il comando `install` della versione più recente anche quando chiedi di installare una versione precedente. Riesegui il comando per la tua piattaforma:

710 872 

711<Tabs>873<Tabs>

712 <Tab title="macOS/Linux">874 <Tab title="macOS/Linux">


722 </Tab>884 </Tab>

723</Tabs>885</Tabs>

724 886 

725`claude --version` stampa la versione che la riesecuzione ha installato.887`claude --version` stampa la versione installata dalla riesecuzione.

726 888 

727<h3 id="claude-update-or-claude-doctor-hangs">889<h3 id="claude-update-or-claude-doctor-hangs">

728 `claude update` o `claude doctor` si blocca890 `claude update` o `claude doctor` si blocca

729</h3>891</h3>

730 892 

731`claude update` e `claude doctor` scansionano i file di configurazione della shell per un alias `claude` obsoleto: `~/.zshrc`, `~/.bashrc`, e `~/.config/fish/config.fish`, più su macOS il primo di `~/.bash_profile`, `~/.bash_login`, o `~/.profile` che esiste. Se impostate `ZDOTDIR`, il file Zsh è `$ZDOTDIR/.zshrc`. Quando uno di questi percorsi è una directory, Claude Code lo salta e entrambi i comandi si completano normalmente. Prima di v2.1.214, una directory in uno di questi percorsi faceva bloccare entrambi i comandi e lasciava la sezione System diagnostics di `/status` vuota. `claude doctor` si bloccava senza output; `claude update` si bloccava subito dopo aver stampato `Checking for updates`.893`claude update` e `claude doctor` scansionano i file di configurazione della shell alla ricerca di un alias `claude` obsoleto: `~/.zshrc`, `~/.bashrc` e `~/.config/fish/config.fish`, più, su macOS, il primo esistente tra `~/.bash_profile`, `~/.bash_login` o `~/.profile`. Se imposti `ZDOTDIR`, il file Zsh è invece `$ZDOTDIR/.zshrc`. Quando uno di questi percorsi è una directory, Claude Code lo salta ed entrambi i comandi si completano normalmente. Prima della v2.1.214, una directory in uno di questi percorsi faceva bloccare entrambi i comandi e lasciava vuota la sezione System diagnostics di `/status`. `claude doctor` si bloccava senza output; `claude update` si bloccava subito dopo aver stampato `Checking for updates`.

732 894 

733Se colpite il blocco su una versione precedente, trovate la directory. Nell'output di questo comando, una riga che inizia con `d` contrassegna quel percorso come una directory. Una riga `No such file or directory` significa che nulla esiste in quel percorso e non è la causa:895Se incontri il blocco su una versione precedente, trova la directory. Nell'output di questo comando, una riga che inizia con `d` indica che quel percorso è una directory. Una riga `No such file or directory` significa che in quel percorso non esiste nulla e non è la causa:

734 896 

735```bash theme={null}897```bash theme={null}

736ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish898ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish

737```899```

738 900 

739Spostare la directory da parte, o aggiornare a v2.1.214 o successivo. Poiché `claude update` si blocca sulle versioni interessate, aggiornare rieseguendo lo [script di installazione](/docs/it/setup#install-claude-code).901Sposta la directory altrove, oppure aggiorna alla v2.1.214 o successiva. Poiché `claude update` si blocca sulle versioni interessate, aggiorna invece rieseguendo lo [script di installazione](/docs/it/setup#install-claude-code).

740 902 

741<h3 id="claude-desktop-overrides-the-claude-command-on-windows">903<h3 id="claude-desktop-overrides-the-claude-command-on-windows">

742 Claude Desktop sostituisce il comando `claude` su Windows904 Claude Desktop sovrascrive il comando `claude` su Windows

743</h3>905</h3>

744 906 

745Se avete installato una versione precedente di Claude Desktop, potrebbe registrare un `Claude.exe` nella directory `WindowsApps` che ha priorità su PATH rispetto a Claude Code CLI. L'esecuzione di `claude` apre l'app Desktop invece della CLI.907Se hai installato una versione precedente di Claude Desktop, potrebbe registrare un `Claude.exe` nella directory `WindowsApps` che ha la precedenza nel PATH su Claude Code CLI. L'esecuzione di `claude` apre l'app Desktop invece della CLI.

746 908 

747Aggiornare Claude Desktop all'ultima versione per risolvere questo problema.909Aggiorna Claude Desktop all'ultima versione per risolvere questo problema.

748 910 

749<h3 id="claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell">911<h3 id="claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell">

750 Claude Code su Windows richiede Git for Windows (per bash) o PowerShell912 Claude Code su Windows richiede Git for Windows (per bash) o PowerShell

751</h3>913</h3>

752 914 

753Git for Windows è opzionale. Claude Code utilizza lo [strumento PowerShell](/docs/it/tools-reference#powershell-tool) quando Git Bash è assente, quindi questo errore significa che nessuna shell è stata trovata.915Git for Windows è opzionale. Claude Code utilizza lo [strumento PowerShell](/docs/it/tools-reference#powershell-tool) quando Git Bash è assente, quindi questo errore significa che non è stata trovata nessuna delle due shell.

754 916 

755**Se PowerShell manca dal vostro PATH**, la sua posizione predefinita è `C:\Windows\System32\WindowsPowerShell\v1.0\`. Aggiungere quella directory al vostro `PATH`, o installare [PowerShell 7](https://aka.ms/powershell), che fornisce `pwsh`.917**Se PowerShell manca dal tuo PATH**, la sua posizione predefinita è `C:\Windows\System32\WindowsPowerShell\v1.0\`. Aggiungi quella directory al tuo `PATH`, oppure installa [PowerShell 7](https://aka.ms/powershell), che fornisce `pwsh`.

756 918 

757**Per installare Git for Windows**, scaricarlo da [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Durante l'installazione, selezionare "Add to PATH". Riavviare il terminale dopo l'installazione. L'installazione abilita lo strumento Bash, utile quando si lavora con script e strumenti basati su Bash.919**Per installare invece Git for Windows**, scaricalo da [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Durante l'installazione, seleziona "Add to PATH". Riavvia il terminale dopo l'installazione. Installarlo abilita lo strumento Bash, utile quando lavori con script e strumenti basati su Bash.

758 920 

759**Se Git è già installato** ma Claude Code non riesce a trovarlo, confrontare la sua posizione rispetto ai posti in cui Claude Code cerca. Quando `CLAUDE_CODE_GIT_BASH_PATH` non è impostato, Claude Code cerca `bash.exe` in questo ordine:921**Se Git è già installato** ma Claude Code non riesce a trovarlo, confronta la sua posizione con i percorsi in cui Claude Code cerca. Quando `CLAUDE_CODE_GIT_BASH_PATH` non è impostato, Claude Code cerca `bash.exe` in questo ordine:

760 922 

7611. Le posizioni di installazione predefinite `C:\Program Files\Git` e `C:\Program Files (x86)\Git`.9231. Le posizioni di installazione predefinite `C:\Program Files\Git` e `C:\Program Files (x86)\Git`.

7622. Il `git` sul vostro `PATH`, utilizzando il `bin\bash.exe` da quella installazione di Git.9242. Il `git` nel tuo `PATH`, utilizzando il `bin\bash.exe` di quella installazione di Git.

763 925 

764Nel passaggio 2, Claude Code salta un `git` che si trova nella cartella da cui avete lanciato Claude Code, o sotto di essa in un percorso che contiene `node_modules` o una cartella di ambiente virtuale come `.venv` o `env`, ad esempio `C:\dev\env\myproject\Git` quando avete lanciato da `C:\dev\env\myproject`. Questo impedisce a Claude Code di eseguire un eseguibile che un progetto ha messo lì. Se il vostro Git è in una posizione come quella, puntate `CLAUDE_CODE_GIT_BASH_PATH` ad esso.926Nel passaggio 2, Claude Code salta un `git` che si trova nella cartella da cui hai avviato Claude Code, o sotto di essa in un percorso che contiene `node_modules` o una cartella di ambiente virtuale come `.venv` o `env`, ad esempio `C:\dev\env\myproject\Git` quando hai avviato da `C:\dev\env\myproject`. Questo impedisce a Claude Code di eseguire un eseguibile che un progetto ha messo lì. Se il tuo Git si trova in una posizione di questo tipo, fai puntare `CLAUDE_CODE_GIT_BASH_PATH` ad esso.

765 927 

766**Per puntare Claude Code a un'installazione Git specifica**, trovarla eseguendo `where.exe git` in PowerShell, quindi impostare il percorso `bin\bash.exe` da quella installazione come `CLAUDE_CODE_GIT_BASH_PATH` nel vostro [file settings.json](/docs/it/settings):928**Per far puntare Claude Code a un'installazione Git specifica**, trovala eseguendo `where.exe git` in PowerShell, quindi imposta il percorso `bin\bash.exe` di quella installazione come `CLAUDE_CODE_GIT_BASH_PATH` nel tuo [file settings.json](/docs/it/settings):

767 929 

768```json theme={null}930```json theme={null}

769{931{


773}935}

774```936```

775 937 

776**Se `CLAUDE_CODE_GIT_BASH_PATH` è impostato al percorso corretto e il file esiste** ma Claude Code ancora non lo utilizza, controllare il nome del file per primo. Claude Code accetta solo un file denominato `bash.exe`, `sh.exe`, `bash`, o `sh`; con qualsiasi altro nome, come il launcher `git-bash.exe` di Git for Windows, ignora la variabile e auto-rileva Git Bash come se fosse non impostato, registrando un avviso visibile con `--debug`. Un percorso che non esiste ottiene lo stesso fallback e avviso. Prima di v2.1.219, Claude Code utilizzava qualsiasi file esistente come shell senza controllare il suo nome, e usciva all'avvio con `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` quando il percorso non esisteva.938**Se `CLAUDE_CODE_GIT_BASH_PATH` è impostato sul percorso corretto e il file esiste** ma Claude Code ancora non lo utilizza, controlla prima il nome del file. Claude Code accetta solo un file denominato `bash.exe`, `sh.exe`, `bash` o `sh`; con qualsiasi altro nome, come il launcher `git-bash.exe` di Git for Windows, ignora la variabile e rileva automaticamente Git Bash come se non fosse impostata, registrando un avviso visibile con `--debug`. Un percorso che non esiste ottiene lo stesso fallback e lo stesso avviso. Prima della v2.1.219, Claude Code utilizzava qualsiasi file esistente come shell senza controllarne il nome, e usciva all'avvio con `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` quando il percorso non esisteva.

777 939 

778Se il nome del file è corretto, il software di sicurezza degli endpoint come AppLocker, le politiche di restrizione software di Group Policy, o gli agenti EDR potrebbero interferire. Chiedere al vostro team IT di inserire nella whitelist `claude.exe` e i processi che genera, inclusi `cmd.exe` e `bash.exe`, nella vostra politica di protezione degli endpoint.940Se il nome del file è corretto, potrebbe interferire un software di sicurezza degli endpoint come AppLocker, le politiche di restrizione software di Group Policy o gli agenti EDR. Chiedi al tuo team IT di aggiungere all'allowlist `claude.exe` e i processi che genera, inclusi `cmd.exe` e `bash.exe`, nella tua politica di protezione degli endpoint.

779 941 

780<h3 id="claude-code-does-not-support-32-bit-windows">942<h3 id="claude-code-does-not-support-32-bit-windows">

781 Claude Code non supporta Windows a 32 bit943 Claude Code non supporta Windows a 32 bit

782</h3>944</h3>

783 945 

784Windows include due voci di PowerShell nel menu Start: `Windows PowerShell` e `Windows PowerShell (x86)`. La voce x86 viene eseguita come processo a 32 bit e attiva questo errore anche su una macchina a 64 bit. Per verificare quale caso siete, eseguire questo nella stessa finestra che ha prodotto l'errore:946Windows include due voci di PowerShell nel menu Start: `Windows PowerShell` e `Windows PowerShell (x86)`. La voce x86 viene eseguita come processo a 32 bit e genera questo errore anche su una macchina a 64 bit. Per verificare in quale caso ti trovi, esegui questo nella stessa finestra che ha prodotto l'errore:

785 947 

786```powershell theme={null}948```powershell theme={null}

787[Environment]::Is64BitOperatingSystem949[Environment]::Is64BitOperatingSystem

788```950```

789 951 

790Se stampa `True`, il vostro sistema operativo va bene. Chiudere la finestra, aprire `Windows PowerShell` senza il suffisso x86, ed eseguire di nuovo il comando di installazione.952Se stampa `True`, il tuo sistema operativo va bene. Chiudi la finestra, apri `Windows PowerShell` senza il suffisso x86 ed esegui di nuovo il comando di installazione.

791 953 

792Se stampa `False`, siete su un'edizione Windows a 32 bit. Claude Code richiede un sistema operativo a 64 bit. Vedere i [requisiti di sistema](/docs/it/setup#system-requirements).954Se stampa `False`, stai usando un'edizione di Windows a 32 bit. Claude Code richiede un sistema operativo a 64 bit. Consulta i [requisiti di sistema](/docs/it/setup#system-requirements).

793 955 

794<h3 id="linux-musl-or-glibc-binary-mismatch">956<h3 id="linux-musl-or-glibc-binary-mismatch">

795 Mancata corrispondenza binaria musl o glibc su Linux957 Mancata corrispondenza del binario musl o glibc su Linux

796</h3>958</h3>

797 959 

798Se vedete errori su librerie condivise mancanti come `libstdc++.so.6` o `libgcc_s.so.1` dopo l'installazione, il programma di installazione potrebbe aver scaricato la variante binaria sbagliata per il vostro sistema.960Se vedi errori relativi a librerie condivise mancanti come `libstdc++.so.6` o `libgcc_s.so.1` dopo l'installazione, il programma di installazione potrebbe aver scaricato la variante di binario sbagliata per il tuo sistema.

799 961 

800```text theme={null}962```text theme={null}

801Error loading shared library libstdc++.so.6: No such file or directory963Error loading shared library libstdc++.so.6: No such file or directory

802```964```

803 965 

804Questo può accadere su sistemi basati su glibc che hanno pacchetti di cross-compilazione musl installati, causando al programma di installazione di rilevare erroneamente il sistema come musl.966Questo può accadere su sistemi basati su glibc che hanno installati pacchetti di cross-compilazione musl, inducendo il programma di installazione a rilevare erroneamente il sistema come musl.

805 967 

806**Soluzioni:**968**Soluzioni:**

807 969 

8081. **Verificare quale libc utilizza il vostro sistema**:9701. **Verifica quale libc utilizza il tuo sistema**:

809 ```bash theme={null}971 ```bash theme={null}

810 ldd --version 2>&1 | head -1972 ldd --version 2>&1 | head -1

811 ```973 ```

812 L'output che menziona `GNU libc` o `GLIBC` significa glibc. L'output che menziona `musl` significa musl.974 Un output che menziona `GNU libc` o `GLIBC` significa glibc. Un output che menziona `musl` significa musl.

813 975 

8142. **Se siete su glibc ma avete ottenuto il binario musl**, rimuovere l'installazione e reinstallare. Potete anche scaricare manualmente il binario corretto utilizzando il manifesto in `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Presentare un [problema GitHub](https://github.com/anthropics/claude-code/issues) con l'output di `ldd --version` e `ls /lib/libc.musl*`.9762. **Se sei su glibc ma hai ottenuto il binario musl**, rimuovi l'installazione e reinstalla. Puoi anche scaricare manualmente il binario corretto utilizzando il manifest in `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Apri una [issue su GitHub](https://github.com/anthropics/claude-code/issues) con l'output di `ldd --version` e `ls /lib/libc.musl*`.

815 977 

8163. **Se siete effettivamente su musl**, come Alpine Linux, installare i pacchetti richiesti:9783. **Se sei effettivamente su musl**, come Alpine Linux, installa i pacchetti richiesti:

817 ```bash theme={null}979 ```bash theme={null}

818 apk add libgcc libstdc++ ripgrep980 apk add libgcc libstdc++ ripgrep

819 ```981 ```

820 Su Alpine, `ripgrep` è nel repository community. Se `apk` segnala che il pacchetto manca, vedere [Configurazione Alpine Linux](/docs/it/setup#alpine-linux-and-musl-based-distributions).982 Su Alpine, `ripgrep` si trova nel repository community. Se `apk` segnala che il pacchetto manca, consulta [Configurazione di Alpine Linux](/docs/it/setup#alpine-linux-and-musl-based-distributions).

821 983 

822<h3 id="illegal-instruction">984<h3 id="illegal-instruction">

823 `Illegal instruction`985 `Illegal instruction`

824</h3>986</h3>

825 987 

826Se l'esecuzione di `claude` o del programma di installazione stampa `Illegal instruction`, il binario nativo utilizza istruzioni CPU che il vostro processore non supporta. Ci sono due cause distinte.988Se l'esecuzione di `claude` o del programma di installazione stampa `Illegal instruction`, il binario nativo utilizza istruzioni CPU che il tuo processore non supporta. Ci sono due cause distinte.

827 989 

828**Mancata corrispondenza dell'architettura.** Il programma di installazione ha scaricato il binario sbagliato, ad esempio x86 su un server ARM. Controllare con `uname -m` su macOS o Linux, o `$env:PROCESSOR_ARCHITECTURE` in PowerShell. Se il risultato non corrisponde al binario che avete ricevuto, [presentare un problema GitHub](https://github.com/anthropics/claude-code/issues) con l'output.990**Mancata corrispondenza dell'architettura.** Il programma di installazione ha scaricato il binario sbagliato, ad esempio x86 su un server ARM. Verifica con `uname -m` su macOS o Linux, o `$env:PROCESSOR_ARCHITECTURE` in PowerShell. Se il risultato non corrisponde al binario che hai ricevuto, [apri una issue su GitHub](https://github.com/anthropics/claude-code/issues) con l'output.

829 991 

830**Set di istruzioni AVX mancante.** Se la vostra architettura è corretta ma vedete ancora `Illegal instruction`, il vostro CPU probabilmente manca di AVX o di un'altra istruzione che il binario richiede. Questo influisce approssimativamente sui processori Intel e AMD pre-2013, e sulle macchine virtuali dove l'hypervisor non passa AVX all'ospite.992**Set di istruzioni AVX mancante.** Se la tua architettura è corretta ma vedi ancora `Illegal instruction`, probabilmente la tua CPU non dispone di AVX o di un'altra istruzione richiesta dal binario. Questo riguarda all'incirca i processori Intel e AMD precedenti al 2013, e le macchine virtuali in cui l'hypervisor non passa AVX al guest.

831 993 

832Su un VPS o VM, eseguire `grep -m1 -ow avx /proc/cpuinfo`; un risultato vuoto significa che AVX non è disponibile per l'ospite.994Su un VPS o una VM, esegui `grep -m1 -ow avx /proc/cpuinfo`; un risultato vuoto significa che AVX non è disponibile per il guest.

833 995 

834Non c'è una soluzione binaria nativa; tracciare il [problema #50384](https://github.com/anthropics/claude-code/issues/50384) per lo stato, e includere il vostro modello di CPU da `grep -m1 "model name" /proc/cpuinfo` su Linux o `sysctl -n machdep.cpu.brand_string` su macOS quando segnalate.996Non esiste una soluzione alternativa con il binario nativo; segui la [issue #50384](https://github.com/anthropics/claude-code/issues/50384) per lo stato e, quando segnali il problema, includi il modello della tua CPU ottenuto da `grep -m1 "model name" /proc/cpuinfo` su Linux o `sysctl -n machdep.cpu.brand_string` su macOS.

835 997 

836I metodi di installazione alternativi scaricano lo stesso binario nativo e non risolveranno nessuna delle due cause.998I metodi di installazione alternativi scaricano lo stesso binario nativo e non risolvono nessuna delle due cause.

837 999 

838<h3 id="dyld-cannot-load-on-macos">1000<h3 id="dyld-cannot-load-on-macos">

839 `dyld: cannot load` su macOS1001 `dyld: cannot load` su macOS

840</h3>1002</h3>

841 1003 

842Se vedete `dyld: Symbol not found`, `dyld: cannot load`, o `Abort trap: 6` durante l'installazione, il binario è incompatibile con la vostra versione di macOS o hardware.1004Se vedi `dyld: Symbol not found`, `dyld: cannot load` o `Abort trap: 6` durante l'installazione, il binario è incompatibile con la tua versione di macOS o con il tuo hardware.

843 1005 

844Un errore `Symbol not found` che fa riferimento a `libicucore` significa che la vostra versione di macOS è più vecchia di quella che il binario supporta:1006Un errore `Symbol not found` che fa riferimento a `libicucore` significa che la tua versione di macOS è più vecchia di quelle supportate dal binario:

845 1007 

846```text theme={null}1008```text theme={null}

847dyld: Symbol not found: _ubrk_clone1009dyld: Symbol not found: _ubrk_clone


849 Expected in: /usr/lib/libicucore.A.dylib1011 Expected in: /usr/lib/libicucore.A.dylib

850```1012```

851 1013 

852Il loader può invece rifiutare i comandi di caricamento del binario, il che significa anche che la vostra versione di macOS è troppo vecchia:1014Il loader può invece rifiutare i comandi di caricamento del binario, il che significa anche che la tua versione di macOS è troppo vecchia:

853 1015 

854```text theme={null}1016```text theme={null}

855dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)1017dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)


858 1020 

859**Soluzioni:**1021**Soluzioni:**

860 1022 

8611. **Verificare la vostra versione di macOS**: Claude Code richiede macOS 13.0 o successivo. Aprire il menu Apple e selezionare About This Mac per verificare la vostra versione.10231. **Verifica la tua versione di macOS**: Claude Code richiede macOS 13.0 o successivo. Apri il menu Apple e seleziona About This Mac per verificare la tua versione.

862 1024 

8632. **Aggiornare macOS** se siete su una versione precedente. Il binario utilizza comandi di caricamento e librerie di sistema che le versioni precedenti di macOS non supportano. I metodi di installazione alternativi come Homebrew scaricano lo stesso binario e non risolveranno questo errore.10252. **Aggiorna macOS** se usi una versione precedente. Il binario utilizza comandi di caricamento e librerie di sistema che le versioni precedenti di macOS non supportano. I metodi di installazione alternativi come Homebrew scaricano lo stesso binario e non risolvono questo errore.

864 1026 

865<h3 id="bus-error-while-a-session-is-running">1027<h3 id="bus-error-while-a-session-is-running">

866 `Bus error` durante una sessione in esecuzione1028 `Bus error` durante una sessione in esecuzione


876 `Exec format error` su WSL11038 `Exec format error` su WSL1

877</h3>1039</h3>

878 1040 

879Se l'esecuzione di `claude` in WSL stampa `cannot execute binary file: Exec format error`, siete su WSL1 e colpite una regressione binaria nativa nota tracciata nel [problema #38788](https://github.com/anthropics/claude-code/issues/38788). Le intestazioni del programma del binario sono cambiate in un modo che il loader di WSL1 non può gestire.1041Se l'esecuzione di `claude` in WSL stampa `cannot execute binary file: Exec format error`, sei su WSL1 e stai incontrando una regressione nota del binario nativo, tracciata nella [issue #38788](https://github.com/anthropics/claude-code/issues/38788). Le intestazioni di programma del binario sono cambiate in un modo che il loader di WSL1 non riesce a gestire.

880 1042 

881La correzione più pulita è convertire la vostra distribuzione a WSL2 da PowerShell:1043La correzione più pulita è convertire la tua distribuzione a WSL2 da PowerShell:

882 1044 

883```powershell theme={null}1045```powershell theme={null}

884wsl --set-version <DistroName> 21046wsl --set-version <DistroName> 2

885```1047```

886 1048 

887Se dovete rimanere su WSL1, invocare il binario attraverso il linker dinamico. Aggiungere questa funzione a `~/.bashrc` dentro WSL, sostituendo il percorso se la vostra directory home è diversa:1049Se devi rimanere su WSL1, invoca il binario tramite il linker dinamico. Aggiungi questa funzione a `~/.bashrc` all'interno di WSL, sostituendo il percorso se la tua directory home è diversa:

888 1050 

889```bash theme={null}1051```bash theme={null}

890claude() {1052claude() {


892}1054}

893```1055```

894 1056 

895Quindi eseguire `source ~/.bashrc` e riprovare `claude`.1057Quindi esegui `source ~/.bashrc` e riprova `claude`.

896 1058 

897<h3 id="npm-install-errors-in-wsl">1059<h3 id="npm-install-errors-in-wsl">

898 Errori di installazione npm in WSL1060 Errori di installazione npm in WSL

899</h3>1061</h3>

900 1062 

901Questi problemi si applicano se avete installato Claude Code con `npm install -g` dentro WSL. Se avete utilizzato il [programma di installazione nativo](/docs/it/setup), saltare questa sezione.1063Questi problemi si applicano se hai installato Claude Code con `npm install -g` all'interno di WSL. Se hai usato il [programma di installazione nativo](/docs/it/setup), salta questa sezione.

902 1064 

903**Problemi di rilevamento del sistema operativo o della piattaforma.** Se npm segnala una mancata corrispondenza della piattaforma durante l'installazione, WSL probabilmente sta raccogliendo il `npm` di Windows. Eseguire `npm config set os linux` per primo, quindi installare con `npm install -g @anthropic-ai/claude-code --force`. Non utilizzare `sudo`.1065**Problemi di rilevamento del sistema operativo o della piattaforma.** Se npm segnala una mancata corrispondenza della piattaforma durante l'installazione, probabilmente WSL sta usando il `npm` di Windows. Esegui prima `npm config set os linux`, quindi installa con `npm install -g @anthropic-ai/claude-code --force`. Non usare `sudo`.

904 1066 

905**`exec: node: not found` quando si esegue `claude`.** Il vostro ambiente WSL probabilmente sta utilizzando l'installazione di Node.js di Windows. Confermare con `which npm` e `which node`: i percorsi che iniziano con `/mnt/c/` sono binari di Windows, mentre i percorsi Linux iniziano con `/usr/`. Per risolvere questo, installare Node tramite il gestore di pacchetti della vostra distribuzione Linux o tramite [`nvm`](https://github.com/nvm-sh/nvm).1067**`exec: node: not found` quando esegui `claude`.** Probabilmente il tuo ambiente WSL sta usando l'installazione di Node.js di Windows. Verificalo con `which npm` e `which node`: i percorsi che iniziano con `/mnt/c/` sono binari di Windows, mentre i percorsi Linux iniziano con `/usr/`. Per risolvere, installa Node tramite il gestore di pacchetti della tua distribuzione Linux o tramite [`nvm`](https://github.com/nvm-sh/nvm).

906 1068 

907**Conflitti di versione nvm.** Se avete nvm installato sia in WSL che in Windows, il cambio di versioni di Node in WSL potrebbe rompersi perché WSL importa il PATH di Windows per impostazione predefinita e il nvm di Windows ha priorità. La causa più comune è che nvm non è caricato nella vostra shell. Aggiungere il caricatore nvm a `~/.bashrc` o `~/.zshrc`:1069**Conflitti di versione nvm.** Se hai nvm installato sia in WSL che in Windows, il cambio di versione di Node in WSL potrebbe non funzionare perché WSL importa il PATH di Windows per impostazione predefinita e l'nvm di Windows ha la priorità. La causa più comune è che nvm non è caricato nella tua shell. Aggiungi il caricatore di nvm a `~/.bashrc` o `~/.zshrc`:

908 1070 

909```bash theme={null}1071```bash theme={null}

910export NVM_DIR="$HOME/.nvm"1072export NVM_DIR="$HOME/.nvm"


912[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"1074[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

913```1075```

914 1076 

915O caricarlo nella vostra sessione corrente:1077Oppure caricalo nella sessione corrente:

916 1078 

917```bash theme={null}1079```bash theme={null}

918source ~/.nvm/nvm.sh1080source ~/.nvm/nvm.sh

919```1081```

920 1082 

921Se nvm è caricato ma i percorsi di Windows hanno ancora priorità, anteporre esplicitamente il vostro percorso di Node Linux:1083Se nvm è caricato ma i percorsi di Windows hanno ancora la priorità, anteponi esplicitamente il percorso di Node per Linux:

922 1084 

923```bash theme={null}1085```bash theme={null}

924export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"1086export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"

925```1087```

926 1088 

927<Warning>1089<Warning>

928 Evitare di disabilitare l'importazione del PATH di Windows tramite `appendWindowsPath = false` poiché questo rompe la capacità di chiamare eseguibili di Windows da WSL. Allo stesso modo, evitare di disinstallare Node.js da Windows se lo utilizzate per lo sviluppo di Windows.1090 Evita di disabilitare l'importazione del PATH di Windows tramite `appendWindowsPath = false`, poiché questo impedisce di chiamare eseguibili di Windows da WSL. Allo stesso modo, evita di disinstallare Node.js da Windows se lo usi per lo sviluppo su Windows.

929</Warning>1091</Warning>

930 1092 

931<h3 id="permission-errors-during-installation">1093<h3 id="permission-errors-during-installation">

932 Errori di permesso durante l'installazione1094 Errori di permesso durante l'installazione

933</h3>1095</h3>

934 1096 

935Se il programma di installazione nativo fallisce con errori di permesso, la directory di destinazione potrebbe non essere scrivibile. Vedere [Verificare i permessi della directory](#check-directory-permissions).1097Se il programma di installazione nativo fallisce con errori di permesso, la directory di destinazione potrebbe non essere scrivibile. Consulta [Verificare i permessi della directory](#check-directory-permissions).

936 1098 

937Se avete precedentemente installato con npm e state colpendo errori di permesso specifici di npm, passare al programma di installazione nativo:1099Se in precedenza hai installato con npm e incontri errori di permesso specifici di npm, passa al programma di installazione nativo:

938 1100 

939```bash theme={null}1101```bash theme={null}

940curl -fsSL https://claude.ai/install.sh | bash1102curl -fsSL https://claude.ai/install.sh | bash


944 Binario nativo non trovato dopo l'installazione npm1106 Binario nativo non trovato dopo l'installazione npm

945</h3>1107</h3>

946 1108 

947Il pacchetto npm `@anthropic-ai/claude-code` scarica il binario nativo come dipendenza opzionale per piattaforma, come `@anthropic-ai/claude-code-darwin-arm64`. npm quindi esegue lo script postinstall del pacchetto, che copia quel binario in posizione come comando `claude`; fino a quando non viene eseguito, `claude` è uno script segnaposto. Se uno dei due passaggi di download o postinstall viene saltato, il segnaposto rimane in posizione, e l'esecuzione di `claude` su macOS e Linux stampa:1109Il pacchetto npm `@anthropic-ai/claude-code` scarica il binario nativo come dipendenza opzionale specifica per piattaforma, come `@anthropic-ai/claude-code-darwin-arm64`. npm esegue quindi lo script postinstall del pacchetto, che copia quel binario in posizione come comando `claude`; finché non viene eseguito, `claude` è uno script segnaposto. Se il download o il passaggio postinstall viene saltato, il segnaposto rimane al suo posto, e l'esecuzione di `claude` su macOS e Linux stampa:

948 1110 

949```text theme={null}1111```text theme={null}

950Error: claude native binary not installed.1112Error: claude native binary not installed.


959Or reinstall without --ignore-scripts / --omit=optional.1121Or reinstall without --ignore-scripts / --omit=optional.

960```1122```

961 1123 

962Su Windows, `bin/claude.exe` è quello stesso segnaposto di script shell piuttosto che un eseguibile reale, quindi PowerShell e CMD segnalano che non possono eseguire il file invece di stampare questo messaggio.1124Su Windows, `bin/claude.exe` è lo stesso segnaposto in forma di script shell anziché un vero eseguibile, quindi PowerShell e CMD segnalano di non poter eseguire il file invece di stampare questo messaggio.

963 1125 

964Controllare le seguenti cause:1126Verifica le seguenti cause:

965 1127 

966* **Le dipendenze opzionali sono disabilitate.** Rimuovere `--omit=optional` dal vostro comando di installazione npm, `--no-optional` da pnpm, o `--ignore-optional` da yarn, e verificare che `.npmrc` non imposti `optional=false`. Quindi reinstallare. Il binario nativo viene consegnato solo come dipendenza opzionale, quindi non c'è fallback JavaScript se viene saltato, e l'esecuzione di `install.cjs` di nuovo non può posizionare un binario che non è mai stato scaricato.1128* **Le dipendenze opzionali sono disabilitate.** Rimuovi `--omit=optional` dal tuo comando di installazione npm, `--no-optional` da pnpm o `--ignore-optional` da yarn, e verifica che `.npmrc` non imposti `optional=false`. Quindi reinstalla. Il binario nativo viene fornito solo come dipendenza opzionale, quindi non esiste un fallback JavaScript se viene saltato, ed eseguire di nuovo `install.cjs` non può posizionare un binario che non è mai stato scaricato.

967* **Gli script di installazione sono disabilitati.** `--ignore-scripts` e alcune configurazioni pnpm saltano il passaggio postinstall ma scaricano comunque il pacchetto della piattaforma. Eseguire `node node_modules/@anthropic-ai/claude-code/install.cjs` come il messaggio suggerisce, o reinstallare senza il flag. Se postinstall non può essere eseguito nel vostro ambiente affatto, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trova il pacchetto scaricato e lo avvia, al costo di un processo Node aggiuntivo su ogni avvio. Se il wrapper stampa `Could not find native binary package`, il pacchetto della piattaforma non è mai stato scaricato, quindi correggere prima la causa delle dipendenze opzionali sopra.1129* **Gli script di installazione sono disabilitati.** `--ignore-scripts` e alcune configurazioni di pnpm saltano il passaggio postinstall ma scaricano comunque il pacchetto della piattaforma. Esegui `node node_modules/@anthropic-ai/claude-code/install.cjs` come suggerisce il messaggio, oppure reinstalla senza il flag. Se postinstall non può essere eseguito affatto nel tuo ambiente, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trova il pacchetto scaricato e lo avvia, al costo di un processo Node aggiuntivo a ogni avvio. Se invece il wrapper stampa `Could not find native binary package`, il pacchetto della piattaforma non è mai stato scaricato, quindi correggi prima la causa relativa alle dipendenze opzionali descritta sopra.

968* **Piattaforma non supportata.** I binari precompilati sono pubblicati per `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, e `win32-arm64`. Claude Code non spedisce un binario per altre piattaforme; vedere i [requisiti di sistema](/docs/it/setup#system-requirements). Su FreeBSD, il programma di installazione segnala la piattaforma come non supportata. Prima di v2.1.205, la trattava come Linux e scaricava un binario che non poteva essere eseguito.1130* **Piattaforma non supportata.** I binari precompilati sono pubblicati per `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` e `win32-arm64`. Claude Code non distribuisce un binario per altre piattaforme; consulta i [requisiti di sistema](/docs/it/setup#system-requirements). Su FreeBSD, il programma di installazione segnala la piattaforma come non supportata. Prima della v2.1.205, trattava FreeBSD come Linux e scaricava un binario che non poteva essere eseguito.

969* **Lo specchio npm aziendale manca dei pacchetti della piattaforma.** Assicurarsi che il vostro registro specchi tutti gli otto pacchetti della piattaforma `@anthropic-ai/claude-code-*` oltre al pacchetto meta.1131* **Il mirror npm aziendale non contiene i pacchetti della piattaforma.** Assicurati che il tuo registro esegua il mirroring di tutti gli otto pacchetti di piattaforma `@anthropic-ai/claude-code-*` oltre al meta-pacchetto.

970 1132 

971<h3 id="npm-enotempty-during-update-or-reinstall">1133<h3 id="npm-enotempty-during-update-or-reinstall">

972 Errore npm `ENOTEMPTY` durante l'aggiornamento o la reinstallazione1134 Errore npm `ENOTEMPTY` durante l'aggiornamento o la reinstallazione

973</h3>1135</h3>

974 1136 

975Quando eseguite `npm install -g @anthropic-ai/claude-code` su un'installazione esistente, npm può fallire mentre sposta la vecchia directory del pacchetto da parte:1137Quando esegui `npm install -g @anthropic-ai/claude-code` su un'installazione esistente, npm può fallire mentre sposta da parte la vecchia directory del pacchetto:

976 1138 

977```text theme={null}1139```text theme={null}

978npm error code ENOTEMPTY1140npm error code ENOTEMPTY


983npm error ENOTEMPTY: directory not empty, rename '...'1145npm error ENOTEMPTY: directory not empty, rename '...'

984```1146```

985 1147 

986La riga `npm error path` nomina la directory che npm non poteva spostare. Eliminare quella directory e qualsiasi directory `.claude-code-*` rimanente accanto ad essa, che le esecuzioni interrotte precedenti possono lasciare dietro. I comandi di seguito trovano la vostra directory di pacchetto globale con `npm root -g`; se la directory che la riga `npm error path` nomina non è sotto la directory che `npm root -g` stampa, ad esempio perché avete cambiato versioni di Node con nvm, eliminare le directory che l'errore nomina:1148La riga `npm error path` indica la directory che npm non è riuscito a spostare. Elimina quella directory e qualsiasi directory `.claude-code-*` rimasta accanto ad essa, che esecuzioni interrotte in precedenza possono lasciare. I comandi seguenti trovano la tua directory globale dei pacchetti con `npm root -g`; se la directory indicata dalla riga `npm error path` non si trova sotto la directory stampata da `npm root -g`, ad esempio perché hai cambiato versione di Node con nvm, elimina invece le directory indicate dall'errore:

987 1149 

988<Tabs>1150<Tabs>

989 <Tab title="macOS/Linux">1151 <Tab title="macOS/Linux">


991 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1153 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

992 ```1154 ```

993 1155 

994 Quindi rimuovere qualsiasi directory temp rimanente. Se Zsh stampa `no matches found`, non ce n'erano da rimuovere:1156 Quindi rimuovi eventuali directory temporanee rimaste. Se Zsh stampa `no matches found`, non ce n'erano da rimuovere:

995 1157 

996 ```bash theme={null}1158 ```bash theme={null}

997 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1159 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*


1005 </Tab>1167 </Tab>

1006</Tabs>1168</Tabs>

1007 1169 

1008Quindi reinstallare:1170Quindi reinstalla:

1009 1171 

1010```bash theme={null}1172```bash theme={null}

1011npm install -g @anthropic-ai/claude-code1173npm install -g @anthropic-ai/claude-code

1012```1174```

1013 1175 

1014Confermare con `claude --version`, che stampa un numero di versione come `2.1.211 (Claude Code)`.1176Verifica con `claude --version`, che stampa un numero di versione come `2.1.211 (Claude Code)`.

1015 1177 

1016<h2 id="login-and-authentication">1178<h2 id="login-and-authentication">

1017 Accesso e autenticazione1179 Accesso e autenticazione

Details

11| Sintomo | Vai a |11| Sintomo | Vai a |

12| :- | :- |12| :- | :- |

13| `command not found`, l'installazione fallisce, problemi di PATH, `EACCES`, errori TLS | [Troubleshoot installation and login](/docs/it/troubleshoot-install) |13| `command not found`, l'installazione fallisce, problemi di PATH, `EACCES`, errori TLS | [Troubleshoot installation and login](/docs/it/troubleshoot-install) |

14| L'aggiornamento o l'installazione del download fallisce con `The connection dropped while downloading the update` o `aborted` | [Error reference](/docs/it/errors#the-connection-dropped-while-downloading-the-update) |14| Il download dell'aggiornamento o dell'installazione fallisce con `The connection dropped while downloading the update` o `aborted` | [Risolvi i problemi di installazione e accesso](/docs/it/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| Loop di accesso, errori OAuth, `403 Forbidden`, "organization disabled", credenziali Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry | [Troubleshoot installation and login](/docs/it/troubleshoot-install#login-and-authentication) |15| Loop di accesso, errori OAuth, `403 Forbidden`, "organization disabled", credenziali Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry | [Troubleshoot installation and login](/docs/it/troubleshoot-install#login-and-authentication) |

16| Le impostazioni non si applicano, gli hooks non si attivano, i server MCP non si caricano | [Debug your configuration](/docs/it/debug-your-config) |16| Le impostazioni non si applicano, gli hooks non si attivano, i server MCP non si caricano | [Debug your configuration](/docs/it/debug-your-config) |

17| Sessione avviata in modalità auto, o Claude modifica file ed esegue comandi senza chiedere | [Which mode a session starts in](/docs/it/permission-modes#which-mode-a-session-starts-in) |17| Sessione avviata in modalità auto, o Claude modifica file ed esegue comandi senza chiedere | [Which mode a session starts in](/docs/it/permission-modes#which-mode-a-session-starts-in) |

ultrareview.md +6 −6

Details

56 Esamina una pull request56 Esamina una pull request

57</h3>57</h3>

58 58 

59Per esaminare una pull request di GitHub invece di un branch locale, passa il numero della PR:59Per esaminare una pull request su `github.com` invece di un branch locale, passa il numero della PR:

60 60 

61```text theme={null}61```text theme={null}

62/code-review ultra 123462/code-review ultra 1234


64 64 

65Il comando accetta anche `#1234`, `PR 1234` e URL di PR incollati; un URL incollato deve puntare al repository nella tua directory attuale.65Il comando accetta anche `#1234`, `PR 1234` e URL di PR incollati; un URL incollato deve puntare al repository nella tua directory attuale.

66 66 

67In modalità PR, la sandbox cloud clona la pull request direttamente dall'host invece di raggruppare il tuo albero di lavoro locale. La modalità PR funziona con i repository su `github.com` e sulle istanze di [GitHub Enterprise Server](/docs/it/github-enterprise-server) che un Owner ha collegato a Claude Code.67La modalità PR richiede un repository su `github.com`. Per un repository su un'istanza di [GitHub Enterprise Server](/docs/it/github-enterprise-server), esegui invece `/code-review ultra` senza un numero di PR per esaminare il tuo branch locale.

68 68 

69Per i repository su `github.com`, la sandbox clona con l'account GitHub collegato al tuo account Claude, quindi l'account deve poter leggere il repository della PR.69In modalità PR, la sandbox cloud clona la pull request da `github.com` invece di caricare il tuo albero di lavoro. Usa l'account GitHub collegato al tuo account Claude, quindi quell'account deve avere accesso in lettura al repository.

70 70 

71Esegui [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) per collegare il tuo login della GitHub CLI al tuo account Claude.71Esegui [`/web-setup`](/docs/it/web-quickstart#connect-from-your-terminal) per collegare il tuo login della GitHub CLI al tuo account Claude.

72 72 


74 Pubblica i risultati sulla pull request74 Pubblica i risultati sulla pull request

75</h3>75</h3>

76 76 

77Su Claude Code v2.1.227 o successivo, quando esamini una pull request su `github.com`, puoi fare in modo che Claude pubblichi i risultati finali sulla PR come un singolo commento semplice dal tuo account GitHub. Il commento non è una review né un'approvazione, e termina con una nota "Generated by Claude Code". Quando esamini un branch o una pull request di GitHub Enterprise Server, Claude Code mostra i risultati solo nella tua sessione.77Su Claude Code v2.1.227 o successivo, quando esamini una pull request su `github.com`, puoi fare in modo che Claude pubblichi i risultati finali sulla PR come un singolo commento semplice dal tuo account GitHub. Il commento non è una review né un'approvazione, e termina con una nota "Generated by Claude Code". Quando esamini un branch, Claude Code mostra i risultati solo nella tua sessione.

78 78 

79Claude Code non pubblica mai a meno che tu non lo scelga per quell'esecuzione, e `--no-post` è l'impostazione predefinita. La pubblicazione è una scelta che fai per ogni esecuzione:79Claude Code non pubblica mai a meno che tu non lo scelga per quell'esecuzione, e `--no-post` è l'impostazione predefinita. La pubblicazione è una scelta che fai per ogni esecuzione:

80 80 


106Claude Code tratta il tuo testo come nota solo quando contiene più di una parola e non è un nome di branch o un riferimento a una PR. Interpreta una singola parola come nome di branch o riferimento a una PR, quindi un nome di branch digitato male produce l'errore del branch più simile descritto in [Revisione rispetto a una base diversa](#review-against-a-different-base) invece di avviare la revisione con una nota. Se il tuo testo combina un riferimento a una PR con altre parole, come `check PR 123 again`, Claude Code non avvia nemmeno la revisione; ti chiede di rieseguire il comando con il solo numero della PR per esaminare quella PR, oppure senza il riferimento per esaminare il tuo branch attuale.106Claude Code tratta il tuo testo come nota solo quando contiene più di una parola e non è un nome di branch o un riferimento a una PR. Interpreta una singola parola come nome di branch o riferimento a una PR, quindi un nome di branch digitato male produce l'errore del branch più simile descritto in [Revisione rispetto a una base diversa](#review-against-a-different-base) invece di avviare la revisione con una nota. Se il tuo testo combina un riferimento a una PR con altre parole, come `check PR 123 again`, Claude Code non avvia nemmeno la revisione; ti chiede di rieseguire il comando con il solo numero della PR per esaminare quella PR, oppure senza il riferimento per esaminare il tuo branch attuale.

107 107 

108<Tip>108<Tip>

109 Se il tuo repository è troppo grande per essere raggruppato, Claude Code ti chiede di usare invece la modalità PR. Esegui il push del tuo branch e apri una PR in bozza, quindi esegui `/code-review ultra <PR-number>`.109 Se il tuo repository è troppo grande per essere raggruppato, Claude Code ti chiede di usare invece la modalità PR. Per un repository su `github.com`, esegui il push del tuo branch e apri una PR in bozza, quindi esegui `/code-review ultra <PR-number>`.

110</Tip>110</Tip>

111 111 

112<h3 id="diff-limits-and-fallbacks">112<h3 id="diff-limits-and-fallbacks">


173claude ultrareview origin/main173claude ultrareview origin/main

174```174```

175 175 

176Senza argomenti, il sottocomando esamina il diff tra il tuo branch corrente e il branch predefinito, con lo stesso [fallback sull'intero repository](#diff-limits-and-fallbacks) di `/code-review ultra` quando non esiste una base di merge. Passa un numero di PR per esaminare una pull request, oppure un branch di base per eseguire la revisione rispetto a quello; la [gestione del branch di base](#review-against-a-different-base) corrisponde a quella del comando interattivo.176Senza argomenti, il sottocomando esamina il diff tra il tuo branch corrente e il branch predefinito, con lo stesso [fallback sull'intero repository](#diff-limits-and-fallbacks) di `/code-review ultra` quando non esiste una base di merge. Passa un numero di PR per [esaminare una pull request su `github.com`](#review-a-pull-request), oppure un branch di base per eseguire la revisione rispetto a quello; la [gestione del branch di base](#review-against-a-different-base) corrisponde a quella del comando interattivo.

177 177 

178Quando esegui il sottocomando, acconsenti al fallback sull'intero repository e al prompt relativo a fatturazione e termini, quindi l'esecuzione parte senza attendere input. È il fatto di eseguirlo tu stesso a valere come consenso. Quando invece è Claude a eseguire il sottocomando per te, ad esempio tramite lo strumento Bash, Claude Code rifiuta la revisione dell'intero repository.178Quando esegui il sottocomando, acconsenti al fallback sull'intero repository e al prompt relativo a fatturazione e termini, quindi l'esecuzione parte senza attendere input. È il fatto di eseguirlo tu stesso a valere come consenso. Quando invece è Claude a eseguire il sottocomando per te, ad esempio tramite lo strumento Bash, Claude Code rifiuta la revisione dell'intero repository.

179 179 

vs-code.md +2 −0

Details

166* **Bookmarks**: passa il mouse su una risposta e fai clic su **Bookmark response** per salvarla, oppure fai clic su **Remove bookmark** su una risposta salvata per rimuoverla.166* **Bookmarks**: passa il mouse su una risposta e fai clic su **Bookmark response** per salvarla, oppure fai clic su **Remove bookmark** su una risposta salvata per rimuoverla.

167 167 

168 Per rivedere le risposte salvate, apri il pannello Bookmarks: fai clic sull'icona del segnalibro nella parte superiore del pannello Claude Code, seleziona **Bookmarks** nella sezione Context del menu dei comandi, o digita `/bookmarks`. Richiede Claude Code v2.1.286 o successivo.168 Per rivedere le risposte salvate, apri il pannello Bookmarks: fai clic sull'icona del segnalibro nella parte superiore del pannello Claude Code, seleziona **Bookmarks** nella sezione Context del menu dei comandi, o digita `/bookmarks`. Richiede Claude Code v2.1.286 o successivo.

169* **Files Claude sends you**: quando la sessione è connessa a [Remote Control](/docs/it/remote-control#start-a-remote-control-session) e Claude ti invia file con lo [strumento `SendUserFile`](/docs/it/tools-reference), la conversazione mostra una riga come **Sent report.md, chart.png**. Fai clic sul nome di un file per aprirlo nell'editor.

169* **Context indicator**: la casella di prompt mostra quanto della finestra di contesto di Claude stai utilizzando. Claude compatta automaticamente quando necessario, oppure puoi eseguire `/compact` manualmente.170* **Context indicator**: la casella di prompt mostra quanto della finestra di contesto di Claude stai utilizzando. Claude compatta automaticamente quando necessario, oppure puoi eseguire `/compact` manualmente.

170* **Prompt cache clock**: un'icona di orologio accanto all'indicatore di contesto stima quanto tempo rimane alla [prompt cache](/docs/it/prompt-caching) della conversazione prima che scada. Fa il conto alla rovescia dalla [durata](/docs/it/prompt-caching#cache-lifetime) della cache di cinque minuti o un'ora, e ogni risposta che utilizza la cache riavvia il conto alla rovescia. A parte la compattazione, le [azioni che invalidano la cache](/docs/it/prompt-caching#actions-that-invalidate-the-cache) non ripristinano l'orologio, quindi può ancora mostrare minuti rimasti dopo che cambi modelli.171* **Prompt cache clock**: un'icona di orologio accanto all'indicatore di contesto stima quanto tempo rimane alla [prompt cache](/docs/it/prompt-caching) della conversazione prima che scada. Fa il conto alla rovescia dalla [durata](/docs/it/prompt-caching#cache-lifetime) della cache di cinque minuti o un'ora, e ogni risposta che utilizza la cache riavvia il conto alla rovescia. A parte la compattazione, le [azioni che invalidano la cache](/docs/it/prompt-caching#actions-that-invalidate-the-cache) non ripristinano l'orologio, quindi può ancora mostrare minuti rimasti dopo che cambi modelli.

171 * Fino a quando il conto alla rovescia non termina, l'icona mostra i minuti rimasti, come **12m**.172 * Fino a quando il conto alla rovescia non termina, l'icona mostra i minuti rimasti, come **12m**.


597| `useCtrlEnterToSend` | `false` | Usa Ctrl/Cmd+Invio invece di Invio per inviare i prompt |598| `useCtrlEnterToSend` | `false` | Usa Ctrl/Cmd+Invio invece di Invio per inviare i prompt |

598| `scrollToBottomOnSend` | `true` | Scorri la conversazione verso il basso quando inviate un messaggio. Quando disattivato, la conversazione rimane dove l'avete lasciata. Richiede Claude Code v2.1.275 o successivo |599| `scrollToBottomOnSend` | `true` | Scorri la conversazione verso il basso quando inviate un messaggio. Quando disattivato, la conversazione rimane dove l'avete lasciata. Richiede Claude Code v2.1.275 o successivo |

599| `showMessageTimestamps` | `true` | Mostra quando è stato inviato ciascun messaggio. Una riga con la data segna il punto in cui cambia il giorno. Richiede Claude Code v2.1.284 o successivo. Prima della v2.1.290, il valore predefinito era `false` |600| `showMessageTimestamps` | `true` | Mostra quando è stato inviato ciascun messaggio. Una riga con la data segna il punto in cui cambia il giorno. Richiede Claude Code v2.1.284 o successivo. Prima della v2.1.290, il valore predefinito era `false` |

601| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | Imposta i verbi tra cui ruota lo spinner della conversazione mentre è in corso un turno, con gli stessi campi `mode` e `verbs` dell'impostazione [`spinnerVerbs`](/docs/it/settings-reference#spinnerverbs) della CLI. |

600| `enableNewConversationShortcut` | `false` | Abilita Cmd/Ctrl+N per avviare una nuova conversazione |602| `enableNewConversationShortcut` | `false` | Abilita Cmd/Ctrl+N per avviare una nuova conversazione |

601| `enableReopenClosedSessionShortcut` | `true` | Usa Cmd/Ctrl+Maiusc+T per riaprire la scheda della sessione Claude chiusa più di recente. Quando l'ultima scheda chiusa non era una sessione Claude, la scorciatoia esegue il comando di riapertura dell'editor chiuso normale di VS Code. |603| `enableReopenClosedSessionShortcut` | `true` | Usa Cmd/Ctrl+Maiusc+T per riaprire la scheda della sessione Claude chiusa più di recente. Quando l'ultima scheda chiusa non era una sessione Claude, la scorciatoia esegue il comando di riapertura dell'editor chiuso normale di VS Code. |

602| `archiveInactiveSessions` | `14` | [Archivia una sessione automaticamente](#resume-past-conversations) dopo questo numero di giorni senza attività: `1`, `2`, `7` o `14`. Impostare `0` per disattivarlo. Richiede Claude Code v2.1.265 o successivo |604| `archiveInactiveSessions` | `14` | [Archivia una sessione automaticamente](#resume-past-conversations) dopo questo numero di giorni senza attività: `1`, `2`, `7` o `14`. Impostare `0` per disattivarlo. Richiede Claude Code v2.1.265 o successivo |

workflows.md +27 −1

Details

354 354 

355Il corpo è JavaScript semplice con `await` di livello superiore. `agent()` genera un subagente, `pipeline()` ne esegue uno per elemento in un elenco, e `parallel()` esegue un insieme di attività di agente contemporaneamente e attende che tutte si completino.355Il corpo è JavaScript semplice con `await` di livello superiore. `agent()` genera un subagente, `pipeline()` ne esegue uno per elemento in un elenco, e `parallel()` esegue un insieme di attività di agente contemporaneamente e attende che tutte si completino.

356 356 

357Una chiamata `agent()` si risolve in `null` se la interrompi a metà esecuzione o se raggiunge un errore API irrecuperabile. `pipeline()` mantiene ogni `null` nell'array dei risultati, motivo per cui l'esempio termina con `.filter(Boolean)` per eliminare quelle voci.357Una chiamata `agent()` si risolve in `null` se la interrompi a metà esecuzione o se raggiunge un errore API irrecuperabile. `pipeline()` mantiene ogni `null` nell'array dei risultati, motivo per cui l'esempio termina con `.filter(Boolean)` per eliminare quelle voci, incluso lo slot di [un agente che si è bloccato a ogni tentativo](#when-an-agent-stalls-and-restarts).

358 358 

359In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il prompt che il tuo script passa a `agent()` non conta come una richiesta da te quando il classificatore esamina le azioni di quel subagente, perché Claude Code lo contrassegna come testo che lo script ha calcolato.359In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il prompt che il tuo script passa a `agent()` non conta come una richiesta da te quando il classificatore esamina le azioni di quel subagente, perché Claude Code lo contrassegna come testo che lo script ha calcolato.

360 360 


463* Il limite si ripristina entro 24 ore. Un limite settimanale può ripristinarsi più avanti.463* Il limite si ripristina entro 24 ore. Un limite settimanale può ripristinarsi più avanti.

464* L'esecuzione non ha già aspettato due volte. Quando raggiunge il limite una terza volta, l'agente fallisce.464* L'esecuzione non ha già aspettato due volte. Quando raggiunge il limite una terza volta, l'agente fallisce.

465 465 

466<h3 id="when-an-agent-stalls-and-restarts">

467 Quando un agente si blocca e si riavvia

468</h3>

469 

470Un agente il cui output smette di arrivare per un tempo sufficientemente lungo ricomincia dallo stesso prompt. In [`/workflows`](#watch-the-run), al suo nome viene aggiunto il suffisso `(retry 1)` e il suo dettaglio mostra `attempt 2 (stalled)`. Il riavvio è automatico, quindi non devi fare nulla.

471 

472Il nuovo tentativo parte senza la trascrizione del tentativo bloccato. I file che il tentativo bloccato ha già modificato restano modificati, e i token che ha speso restano nel totale dell'esecuzione. La finestra di stallo è il tempo per cui Claude Code attende output da un agente prima di terminare il tentativo. Il tempo che l'agente trascorre in attesa delle proprie chiamate agli strumenti o del [ripristino di un limite di utilizzo](#when-a-run-hits-your-usage-limit) non conta ai fini della finestra di stallo.

473 

474Un agente si riavvia al massimo cinque volte, contando qualsiasi riavvio che richiedi con `r`. Se anche il sesto tentativo si blocca, la chiamata `agent()` fallisce, e l'inizio dell'errore ne indica il motivo:

475 

476* `agent stalled on all 6 attempts`: ogni tentativo ha trascorso l'intera finestra senza output. Se il lavoro dell'agente lo mantiene silenzioso così a lungo, allunga la finestra

477* `agent lost its reply on all 6 attempts`: lo stream della risposta di ogni tentativo è diventato silenzioso e Claude Code ha smesso di attenderlo. Allungare la finestra di stallo non aiuta, poiché un [watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) ha terminato prima la risposta e `CLAUDE_STREAM_IDLE_TIMEOUT_MS` imposta il timeout di quel watchdog

478* `agent abandoned after 6 attempts`: i tentativi sono terminati in modi diversi, che l'errore elenca in ordine

479 

480Per dare a un agente più tempo per produrre output prima che la finestra termini:

481 

482* **Un agente**: passa `stallMs` in millisecondi nella sua chiamata `agent()`, ad esempio `agent(prompt, { stallMs: 1800000 })` per 30 minuti

483* **Ogni agente**: imposta [`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`](/docs/it/env-vars#variables), che si applica anche ai subagent al di fuori dei workflow

484 

485Se l'esecuzione continua dopo l'errore dipende da come il tuo script ha chiamato l'agente:

486 

487* **All'interno di [`parallel()` o `pipeline()`](#what-the-saved-script-looks-like)**: l'esecuzione prosegue con `null` al posto del risultato dell'agente

488* **Atteso direttamente**: l'esecuzione termina con l'errore

489 

490Per riprovare, chiedi a Claude di riavviare il workflow. [Riprendere dopo una pausa](#resume-after-a-pause) spiega cosa viene eseguito di nuovo.

491 

466<h3 id="cost">492<h3 id="cost">

467 Costo493 Costo

468</h3>494</h3>

worktrees.md +1 −1

Details

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.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, in base alle tue impostazioni di [permessi](/docs/it/permissions) e [sandboxing](/docs/it/sandboxing).

108 108 

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.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.

110 110