SpyBara
Go Premium

Documentation 2026-10-18 22:59 UTC to 2026-10-19 23:58 UTC

63 files changed +1,005 −449. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 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

20* Per sessioni avviate da una shell: imposta la variabile d'ambiente `CLAUDE_AX_SCREEN_READER` su `1`. In Bash o Zsh, esegui `export CLAUDE_AX_SCREEN_READER=1`. In PowerShell, esegui `$env:CLAUDE_AX_SCREEN_READER = "1"`. Aggiungi quella riga al tuo profilo shell per mantenerla per le shell future.20* Per sessioni avviate da una shell: imposta la variabile d'ambiente `CLAUDE_AX_SCREEN_READER` su `1`. In Bash o Zsh, esegui `export CLAUDE_AX_SCREEN_READER=1`. In PowerShell, esegui `$env:CLAUDE_AX_SCREEN_READER = "1"`. Aggiungi quella riga al tuo profilo shell per mantenerla per le shell future.

21* Per ogni sessione sulla macchina: aggiungi `"axScreenReader": true` al tuo [file di impostazioni](/docs/it/settings) dell'utente. L'impostazione si applica in qualsiasi terminale, incluso il terminale integrato di VS Code.21* Per ogni sessione sulla macchina: aggiungi `"axScreenReader": true` al tuo [file di impostazioni](/docs/it/settings) dell'utente. L'impostazione si applica in qualsiasi terminale, incluso il terminale integrato di VS Code.

22 22 

23Se combini i metodi, Claude Code applica il flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) sulla variabile d'ambiente [`CLAUDE_AX_SCREEN_READER`](/docs/it/env-vars#variables), e la variabile sull'impostazione [`axScreenReader`](/docs/it/settings-reference#axscreenreader).23Se combini i metodi, Claude Code dà la precedenza al flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) rispetto alla variabile d'ambiente [`CLAUDE_AX_SCREEN_READER`](/docs/it/env-vars#variables), e alla variabile rispetto all'impostazione [`axScreenReader`](/docs/it/settings-reference#axscreenreader).

24 24 

25Se utilizzi Claude Code su SSH, imposta la variabile d'ambiente o l'impostazione sulla macchina remota dove Claude Code viene eseguito.25Se utilizzi Claude Code su SSH, imposta la variabile d'ambiente o l'impostazione sulla macchina remota dove Claude Code viene eseguito.

26 26 

Details

291| :- | :- | :- |291| :- | :- | :- |

292| **Prompt di sistema** | Ogni richiesta | Costo fisso piccolo, sempre presente |292| **Prompt di sistema** | Ogni richiesta | Costo fisso piccolo, sempre presente |

293| **File CLAUDE.md** | Inizio della sessione, tramite [`settingSources`](/docs/it/agent-sdk/claude-code-features) | Contenuto completo in ogni richiesta (ma prompt-cached, quindi solo la prima richiesta paga il costo completo) |293| **File CLAUDE.md** | Inizio della sessione, tramite [`settingSources`](/docs/it/agent-sdk/claude-code-features) | Contenuto completo in ogni richiesta (ma prompt-cached, quindi solo la prima richiesta paga il costo completo) |

294| **Definizioni degli strumenti** | Ogni richiesta; schemi MCP differiti per impostazione predefinita | Gli schemi degli strumenti integrati vengono caricati ad ogni richiesta. [Tool search](/docs/it/agent-sdk/mcp#mcp-tool-search) differisce gli schemi degli strumenti MCP per impostazione predefinita, ricadendo nel caricamento anticipato su modelli non supportati e su determinate piattaforme. Vedere [Configure tool search](/docs/it/agent-sdk/tool-search#configure-tool-search) per la matrice completa |294| **Definizioni degli strumenti** | Ogni richiesta per gli strumenti integrati principali come Bash, Read ed Edit; su richiesta per gli strumenti MCP e gli altri strumenti integrati, che la [ricerca degli strumenti](/docs/it/agent-sdk/mcp#mcp-tool-search) differisce per impostazione predefinita | Ogni schema viene caricato in anticipo nei casi indicati in [Configurare la ricerca degli strumenti](/docs/it/agent-sdk/tool-search#configure-tool-search) |

295| **Cronologia della conversazione** | Si accumula nel corso dei turni | Cresce con ogni turno: prompt, risposte, input degli strumenti, output degli strumenti |295| **Cronologia della conversazione** | Si accumula nel corso dei turni | Cresce con ogni turno: prompt, risposte, input degli strumenti, output degli strumenti |

296| **Descrizioni delle skills** | Inizio della sessione, tramite setting sources | Brevi riassunti; il contenuto completo viene caricato solo quando invocato |296| **Descrizioni delle skills** | Inizio della sessione, tramite setting sources | Brevi riassunti; il contenuto completo viene caricato solo quando invocato |

297 297 


331 331 

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

333 333 

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

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

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

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

Details

8 8 

9L'Agent SDK genera e supervisiona un subprocess `claude` CLI che possiede una shell, una directory di lavoro e file di sessione su disco. Ospitarlo non è come ospitare un wrapper API senza stato. Ogni agente in esecuzione è un processo di lunga durata legato allo stato locale, il che influenza il modo in cui allochi risorse, persisti sessioni e scala tra tenant.9L'Agent SDK genera e supervisiona un subprocess `claude` CLI che possiede una shell, una directory di lavoro e file di sessione su disco. Ospitarlo non è come ospitare un wrapper API senza stato. Ogni agente in esecuzione è un processo di lunga durata legato allo stato locale, il che influenza il modo in cui allochi risorse, persisti sessioni e scala tra tenant.

10 10 

11Questa pagina copre l'auto-hosting sulla tua infrastruttura. Per Dockerfile distribuibili e manifesti Kubernetes, consulta il [hosting cookbook](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).11Questa pagina copre l'auto-hosting sulla tua infrastruttura. Per Dockerfile distribuibili e manifesti Kubernetes, consulta il [cookbook sull'hosting](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).

12 12 

13Se non hai bisogno di eseguire il ciclo dell'agente sulla tua infrastruttura, considera invece gli [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview). Anthropic ospita il ciclo dell'agente e la tua applicazione invia eventi e riceve risultati in streaming attraverso gli SDK client o l'API REST. L'esecuzione degli strumenti viene eseguita in una sandbox cloud gestita da Anthropic o in una [sandbox auto-ospitata](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) sulla tua infrastruttura.13Se non hai bisogno di eseguire il ciclo dell'agente sulla tua infrastruttura, considera invece i [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview). Anthropic ospita il ciclo dell'agente e la tua applicazione invia eventi e riceve risultati in streaming attraverso gli SDK client o l'API REST. L'esecuzione degli strumenti viene eseguita in una sandbox cloud gestita da Anthropic o in una [sandbox auto-ospitata](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) sulla tua infrastruttura.

14 14 

15<h2 id="the-subprocess-model">15<h2 id="the-subprocess-model">

16 Il modello subprocess16 Il modello subprocess


212* **Modello di prezzo**: fatturazione al secondo, per richiesta o a tariffa oraria fissa. La tariffazione al secondo si adatta bene ai carichi di lavoro effimeri bursty. La tariffa oraria si adatta bene alle sessioni a lunga durata.212* **Modello di prezzo**: fatturazione al secondo, per richiesta o a tariffa oraria fissa. La tariffazione al secondo si adatta bene ai carichi di lavoro effimeri bursty. La tariffa oraria si adatta bene alle sessioni a lunga durata.

213* **Networking**: supporto per regole di egress personalizzate, proxy in uscita e peering VPC privato per ambienti regolamentati.213* **Networking**: supporto per regole di egress personalizzate, proxy in uscita e peering VPC privato per ambienti regolamentati.

214 214 

215Per le opzioni self-hosted come Docker, gVisor e Firecracker, e la configurazione dettagliata dell'isolamento, vedi [Isolation Technologies](/docs/it/agent-sdk/secure-deployment#isolation-technologies).215Per le opzioni self-hosted come Docker, gVisor e Firecracker, e la configurazione dettagliata dell'isolamento, vedi [Tecnologie di isolamento](/docs/it/agent-sdk/secure-deployment#isolation-technologies).

216 216 

217<h3 id="runtime-dependencies">217<h3 id="runtime-dependencies">

218 Dipendenze di runtime218 Dipendenze di runtime


229 Risorse229 Risorse

230</h3>230</h3>

231 231 

2321 GiB di RAM, 5 GiB di disco e 1 CPU per agente è un punto di partenza ragionevole per un'istanza appena avviata. L'utilizzo della memoria cresce con la durata della sessione e l'attività degli strumenti, quindi dimensiona in base alle lunghezze di sessione e alla concorrenza di cui hai effettivamente bisogno piuttosto che alla baseline inattiva. Vedi [Scaling and concurrency](#scaling-and-concurrency) per scoprire come calcolare gli agenti per host.2321 GiB di RAM, 5 GiB di disco e 1 CPU per agente è un punto di partenza ragionevole per un'istanza appena avviata. L'utilizzo della memoria cresce con la durata della sessione e l'attività degli strumenti, quindi dimensiona in base alle lunghezze di sessione e alla concorrenza di cui hai effettivamente bisogno piuttosto che alla baseline inattiva. Vedi [Scaling e concorrenza](#scaling-and-concurrency) per scoprire come calcolare gli agenti per host.

233 233 

234<h3 id="network">234<h3 id="network">

235 Rete235 Rete

236</h3>236</h3>

237 237 

238L'SDK necessita di HTTPS in uscita verso `api.anthropic.com`, o verso l'endpoint regionale del tuo provider quando eseguito su Amazon Bedrock o sulla piattaforma agente di Google Cloud. Se i tuoi agenti utilizzano [MCP servers](/docs/it/agent-sdk/mcp) o strumenti esterni, necessitano anche di accesso in uscita a quegli endpoint. Per la produzione, instrada il traffico in uscita attraverso un proxy di egress che applica allowlist di domini, inietta credenziali e registra le richieste. Vedi [Distribuzione sicura](/docs/it/agent-sdk/secure-deployment) per il modello completo.238L'SDK necessita di HTTPS in uscita verso `api.anthropic.com`, o verso l'endpoint regionale del tuo provider quando eseguito su Amazon Bedrock o sulla piattaforma agente di Google Cloud. Se i tuoi agenti utilizzano [server MCP](/docs/it/agent-sdk/mcp) o strumenti esterni, necessitano anche di accesso in uscita a quegli endpoint. Per la produzione, instrada il traffico in uscita attraverso un proxy di egress che applica allowlist di domini, inietta credenziali e registra le richieste. Vedi [Distribuzione sicura](/docs/it/agent-sdk/secure-deployment) per il modello completo.

239 239 

240Per il traffico in ingresso, esponi una porta HTTP o WebSocket sul container. La tua applicazione gestisce le richieste dei client su quella porta e chiama l'SDK internamente; il sottoprocesso stesso non ascolta sulla rete.240Per il traffico in ingresso, esponi una porta HTTP o WebSocket sul container. La tua applicazione gestisce le richieste dei client su quella porta e chiama l'SDK internamente; il sottoprocesso stesso non ascolta sulla rete.

241 241 


318Per isolare i tenant all'interno di un container condiviso:318Per isolare i tenant all'interno di un container condiviso:

319 319 

320* Passate `settingSources: []` in TypeScript o `setting_sources=[]` in Python per saltare le impostazioni utente, progetto e locali.320* Passate `settingSources: []` in TypeScript o `setting_sources=[]` in Python per saltare le impostazioni utente, progetto e locali.

321* Impostate `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` in `env`. [Auto memory](/docs/it/memory#auto-memory) a `~/.claude/projects/<project>/memory/` si carica nel prompt di sistema indipendentemente da `settingSources`. Vedere [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli altri input che si caricano incondizionatamente.321* Impostate `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` in `env`. [Memoria automatica](/docs/it/memory#auto-memory) a `~/.claude/projects/<project>/memory/` si carica nel prompt di sistema indipendentemente da `settingSources`. Vedere [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli altri input che si caricano incondizionatamente.

322* Puntate `CLAUDE_CONFIG_DIR` a una directory per tenant in modo che i tenant non condividano la configurazione globale `~/.claude.json`. Quando ogni directory di configurazione serve una directory di lavoro e non condividete un [`SessionStore`](/docs/it/agent-sdk/session-storage) tra i tenant, potete anche impostare [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/it/sessions#name-the-project-directory-yourself) in `env` per mantenere i percorsi delle trascrizioni sotto di esso brevi. Richiede Agent SDK TypeScript v0.3.234 o successivo, oppure Agent SDK Python v0.2.140 o successivo.322* Puntate `CLAUDE_CONFIG_DIR` a una directory per tenant in modo che i tenant non condividano la configurazione globale `~/.claude.json`. Quando ogni directory di configurazione serve una directory di lavoro e non condividete un [`SessionStore`](/docs/it/agent-sdk/session-storage) tra i tenant, potete anche impostare [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/it/sessions#name-the-project-directory-yourself) in `env` per mantenere i percorsi delle trascrizioni sotto di esso brevi. Richiede Agent SDK TypeScript v0.3.234 o successivo, oppure Agent SDK Python v0.2.140 o successivo.

323* Utilizzate una directory di lavoro per tenant. Passate `cwd` esplicitamente su ogni chiamata `query()`.323* Utilizzate una directory di lavoro per tenant. Passate `cwd` esplicitamente su ogni chiamata `query()`.

324* Applicate regole di egress per tenant al vostro proxy, come IP in uscita distinti, credenziali o allowlist di domini, in modo che un tenant compromesso non possa esfiltare dati tramite la politica in uscita di un altro tenant.324* Applicate regole di egress per tenant al vostro proxy, come IP in uscita distinti, credenziali o allowlist di domini, in modo che un tenant compromesso non possa esfiltare dati tramite la politica in uscita di un altro tenant.


386| Limitazione | Cosa fare |386| Limitazione | Cosa fare |

387| - | - |387| - | - |

388| Nessun timeout di sessione di primo livello | Una sessione non scade automaticamente. Impostare `maxTurns` in TypeScript o `max_turns` in Python per limitare quanti round trip di utilizzo di strumenti l'agente esegue prima di fermarsi. |388| Nessun timeout di sessione di primo livello | Una sessione non scade automaticamente. Impostare `maxTurns` in TypeScript o `max_turns` in Python per limitare quanti round trip di utilizzo di strumenti l'agente esegue prima di fermarsi. |

389| Crescita della memoria durante sessioni lunghe | Limitare la lunghezza della sessione o riciclare i sottoprocessi periodicamente. Vedere [Scaling and concurrency](#scaling-and-concurrency). |389| Crescita della memoria durante sessioni lunghe | Limitare la lunghezza della sessione o riciclare i sottoprocessi periodicamente. Vedere [Scaling e concorrenza](#scaling-and-concurrency). |

390| I grandi fanout di subagent paralleli possono raggiungere i limiti di velocità | Suddividere il lavoro in batch più piccoli anziché emettere un'unica distribuzione ampia. |390| I grandi fanout di subagent paralleli possono raggiungere i limiti di velocità | Suddividere il lavoro in batch più piccoli anziché emettere un'unica distribuzione ampia. |

391| Nessuna scadenza wall-clock per subagent | Limitare ogni [subagent](/docs/it/agent-sdk/subagents) con `maxTurns` nella sua `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` imposta un watchdog di stallo che si attiva quando un subagent smette di produrre output; non è una scadenza di runtime totale. |391| Nessuna scadenza wall-clock per subagent | Limitare ogni [subagent](/docs/it/agent-sdk/subagents) con `maxTurns` nella sua `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` imposta un watchdog di stallo che si attiva quando un subagent smette di produrre output; non è una scadenza di runtime totale. |

392 392 

Details

123 123 

124Le modalità di autorizzazione forniscono un controllo globale su come Claude utilizza gli strumenti. È possibile impostare la modalità di autorizzazione quando si chiama `query()` o modificarla dinamicamente durante le sessioni di streaming.124Le modalità di autorizzazione forniscono un controllo globale su come Claude utilizza gli strumenti. È possibile impostare la modalità di autorizzazione quando si chiama `query()` o modificarla dinamicamente durante le sessioni di streaming.

125 125 

126Se non ne imposti una, Claude Code sceglie la modalità di autorizzazione iniziale in base alle regole in [Quale modalità inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in):126Con Claude Code v2.1.302 o successivo, la tua app si avvia in modalità `default` a meno che tu non imposti una modalità di permesso o che non ne riceva una da [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) nei suoi file di impostazioni. In modalità `default`, Claude Code nega qualsiasi chiamata a uno strumento che richieda approvazione, a meno che tu non la approvi tramite una regola di permesso, un hook, un callback `canUseTool` o uno strumento per le richieste di permesso. Se le chiamate agli strumenti vengono negate, consulta [Chiamate agli strumenti negate in `claude -p` e nelle esecuzioni dell'Agent SDK](/docs/it/permission-modes#which-mode-a-non-interactive-run-starts-in).

127 

128* Un `permissions.defaultMode` dai [file di impostazioni](/docs/it/settings#where-settings-live) della sessione quando uno si applica

129* Altrimenti il valore predefinito integrato, che può essere [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode)

130 

131Una sessione che inizia in modalità auto elimina le regole di autorizzazione ampie come una voce `Bash` semplice, come [Come la modalità auto valuta le azioni](/docs/it/permission-modes#how-auto-mode-evaluates-actions) descrive. Se la tua applicazione si basa sulla modalità `default` o su tale regola, passa `default` esplicitamente.

132 

133Prima di TypeScript Agent SDK v0.3.286, omettere `permissionMode` era lo stesso che passare `default`.

134 127 

135<h3 id="available-modes">128<h3 id="available-modes">

136 Modalità disponibili129 Modalità disponibili

Details

1035)1035)

1036```1036```

1037 1037 

1038* `API_TIMEOUT_MS`: timeout per richiesta sul client Anthropic, in millisecondi. Predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.1038* [`API_TIMEOUT_MS`](/docs/it/env-vars): quanto a lungo ogni tentativo di richiesta può attendere le intestazioni della risposta, in millisecondi. Non limita la durata di una risposta in streaming dopo l'arrivo delle intestazioni. Predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.

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

1040 1040 

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

Details

172 172 

173In Python SDK, i nomi di campo con più parole come `disallowedTools` e `mcpServers` mantengono la loro ortografia camelCase per corrispondere al formato wire piuttosto che seguire la convenzione snake\_case di Python. Vedi il riferimento [`AgentDefinition`](/docs/it/agent-sdk/python#agentdefinition) per i dettagli.173In Python SDK, i nomi di campo con più parole come `disallowedTools` e `mcpServers` mantengono la loro ortografia camelCase per corrispondere al formato wire piuttosto che seguire la convenzione snake\_case di Python. Vedi il riferimento [`AgentDefinition`](/docs/it/agent-sdk/python#agentdefinition) per i dettagli.

174 174 

175I subagent vengono eseguiti in background per impostazione predefinita. Una chiamata dello strumento Agent che omette l'input [`run_in_background`](/docs/it/sub-agents#run-subagents-in-foreground-or-background) avvia un subagent di background, e Claude imposta `run_in_background: false` quando ha bisogno del risultato prima di continuare. Imposta il campo `background` su `true` per forzare l'esecuzione in background per un agente specifico indipendentemente da ciò che Claude richiede. Prima di Claude Code v2.1.198, l'impostazione predefinita di background era in fase di implementazione graduale, e una chiamata dello strumento Agent che ometteva `run_in_background` poteva eseguire il subagent in modo sincrono.175<h4 id="choose-whether-claude-waits-for-subagents">

176 Scegliere se Claude attende i subagent

177</h4>

176 178 

177I subagent possono anche generare subagent propri. Per limitare quanto profonda sia quella nidificazione, quanti subagent vengono eseguiti contemporaneamente e quanto una query spende, vedi [Limitare la profondità, la concorrenza e la spesa dei subagent](#cap-subagent-depth-concurrency-and-spend).179Per impostazione predefinita, un subagent generato dal tuo agente principale [viene eseguito in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background). Il risultato dello strumento Agent ha `status: "async_launched"` e il report arriva in un turno successivo.

180 

181Claude attende quando la sua azione successiva ha bisogno del report: la chiamata si blocca e restituisce `status: "completed"`. Per fare tu questa scelta:

182 

183* **Nel tuo prompt**: chiedi a Claude di attendere, ad esempio "esegui l'agente test-runner e attendilo"

184* **Nella definizione**: imposta `background` su `true` per mantenere quell'agente in background

178 185 

179<h3 id="filesystem-based-definition-alternative">186<h3 id="filesystem-based-definition-alternative">

180 Definizione basata su filesystem (alternativa)187 Definizione basata su filesystem (alternativa)


242 249 

243Questo bypassa l'abbinamento automatico e invoca direttamente il subagente denominato.250Questo bypassa l'abbinamento automatico e invoca direttamente il subagente denominato.

244 251 

252<h3 id="forked-subagents">

253 Subagent fork

254</h3>

255 

256Un [fork](/docs/it/sub-agents#fork-the-current-conversation) è un subagent che copia la conversazione fino a quel momento invece di partire da zero. A partire da Claude Code v2.1.302, Claude può avviare fork nella tua applicazione senza alcuna configurazione, chiamando lo strumento Agent con `subagent_type: "fork"`.

257 

258Per impedire a Claude di avviare fork, aggiungi una [regola di negazione `Agent(fork)`](/docs/it/agent-sdk/permissions#allow-and-deny-rules):

259 

260<CodeGroup>

261 ```python Python theme={null}

262 options = ClaudeAgentOptions(

263 # Deny only the fork subagent type; other subagents still run

264 disallowed_tools=["Agent(fork)"],

265 )

266 ```

267 

268 ```typescript TypeScript theme={null}

269 const options = {

270 // Deny only the fork subagent type; other subagents still run

271 disallowedTools: ["Agent(fork)"]

272 };

273 ```

274</CodeGroup>

275 

245<h3 id="dynamic-agent-configuration">276<h3 id="dynamic-agent-configuration">

246 Configurazione dinamica dell'agente277 Configurazione dinamica dell'agente

247</h3>278</h3>

Details

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

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

612| `pathToClaudeCodeExecutable` | `string` | Risolto automaticamente dal binario nativo incluso | Percorso dell'eseguibile di Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o se la tua piattaforma non è tra quelle supportate |612| `pathToClaudeCodeExecutable` | `string` | Risolto automaticamente dal binario nativo incluso | Percorso dell'eseguibile di Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o se la tua piattaforma non è tra quelle supportate |

613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modalità di permesso per la sessione. Se la ometti, la sessione può avviarsi in modalità auto. Consulta [Modalità di permesso](/docs/it/agent-sdk/permissions#permission-modes) per come Claude Code sceglie la modalità di permesso iniziale |613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modalità di permesso per la sessione. Se la ometti e nient'altro imposta una modalità di permesso, come un'impostazione [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode), la sessione si avvia in `default`. Consulta [Modalità di permesso](/docs/it/agent-sdk/permissions#permission-modes) |

614| `permissionPromptToolName` | `string` | `undefined` | Nome dello strumento MCP per le richieste di permesso |614| `permissionPromptToolName` | `string` | `undefined` | Nome dello strumento MCP per le richieste di permesso |

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

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


662});662});

663```663```

664 664 

665* `API_TIMEOUT_MS`: timeout per richiesta sul client Anthropic, in millisecondi. Valore predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.665* [`API_TIMEOUT_MS`](/docs/it/env-vars): quanto può attendere ogni tentativo di richiesta per le intestazioni della risposta, in millisecondi. Non limita la durata di una risposta in streaming dopo l'arrivo delle intestazioni. Predefinito `600000`. Si applica al ciclo principale e a tutti i subagent.

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

667 667 

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

agent-teams.md +1 −1

Details

555* **L'arresto può essere lento**: i compagni di team finiscono la loro richiesta attuale o la chiamata dello strumento prima di spegnersi, il che può richiedere tempo.555* **L'arresto può essere lento**: i compagni di team finiscono la loro richiesta attuale o la chiamata dello strumento prima di spegnersi, il che può richiedere tempo.

556* **Un team per sessione**: una sessione ha esattamente un team, limitato a quella sessione. Non potete creare team denominati aggiuntivi o condividere un team tra sessioni.556* **Un team per sessione**: una sessione ha esattamente un team, limitato a quella sessione. Non potete creare team denominati aggiuntivi o condividere un team tra sessioni.

557* **Nessun team annidato**: i compagni di team non possono generare i loro propri compagni di team. Solo il lead può gestire il team.557* **Nessun team annidato**: i compagni di team non possono generare i loro propri compagni di team. Solo il lead può gestire il team.

558* **Nessun subagent in background da compagni di team in-process**: i propri subagent di un compagno di team in-process vengono eseguiti in primo piano, perché il lavoro in background di un compagno di team non può sopravvivere al processo del lead. Claude Code restituisce un errore quando un compagno di team genera un subagent la cui definizione imposta `background: true`. Una richiesta `run_in_background: true` di un compagno di team fallisce anche, con un errore o eseguendosi silenziosamente in primo piano, come descritto in [come Claude Code sceglie il primo piano o lo sfondo](/docs/it/sub-agents#run-subagents-in-foreground-or-background). I subagent lanciati dalla conversazione principale seguono il [default in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background).558* **Nessun subagent in background da compagni di team in-process**: i subagent di un compagno di team in-process vengono eseguiti in primo piano, perché il lavoro in background di un compagno di team non può sopravvivere al processo del lead. Claude Code restituisce un errore quando un compagno di team genera un subagent la cui definizione imposta `background: true`. Anche una richiesta `run_in_background: true` di un compagno di team fallisce, con un errore o eseguendosi silenziosamente in primo piano. I subagent lanciati dalla conversazione principale seguono il [default in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background).

559* **Il lead è fisso**: la sessione principale è il lead per tutta la sua durata. Non potete promuovere un compagno di team a lead o trasferire la leadership.559* **Il lead è fisso**: la sessione principale è il lead per tutta la sua durata. Non potete promuovere un compagno di team a lead o trasferire la leadership.

560* **Permessi impostati al momento della generazione**: i compagni di team iniziano con la modalità di permesso descritta in [Permessi](#permissions). Potete cambiare la modalità di permesso di un singolo compagno di team dopo la generazione, ma non potete impostare modalità di permesso per compagno di team al momento della generazione.560* **Permessi impostati al momento della generazione**: i compagni di team iniziano con la modalità di permesso descritta in [Permessi](#permissions). Potete cambiare la modalità di permesso di un singolo compagno di team dopo la generazione, ma non potete impostare modalità di permesso per compagno di team al momento della generazione.

561* **Split panes richiedono tmux o iTerm2**: la modalità in-process predefinita funziona in qualsiasi terminale. La modalità split-pane non è supportata nel terminale integrato di VS Code, Windows Terminal o Ghostty.561* **Split panes richiedono tmux o iTerm2**: la modalità in-process predefinita funziona in qualsiasi terminale. La modalità split-pane non è supportata nel terminale integrato di VS Code, Windows Terminal o Ghostty.

agent-view.md +10 −2

Details

479 479 

480Dopo il fork, le due conversazioni sono indipendenti: nulla di ciò che fa la copia entra nella conversazione originale da solo, anche se nelle sessioni in cui la [messaggistica tra sessioni](/docs/it/cross-session-messaging) è abilitata, il Claude di entrambe le sessioni può esplicitamente inviare un messaggio all'altra.480Dopo il fork, le due conversazioni sono indipendenti: nulla di ciò che fa la copia entra nella conversazione originale da solo, anche se nelle sessioni in cui la [messaggistica tra sessioni](/docs/it/cross-session-messaging) è abilitata, il Claude di entrambe le sessioni può esplicitamente inviare un messaggio all'altra.

481 481 

482La copia della sessione richiede Claude Code v2.1.212 o successivo; dalla v2.1.161 alla v2.1.211, `/fork` avvia invece un [subagent con fork](/docs/it/sub-agents#fork-the-current-conversation), che ora è `/subtask`. Quando la [vista agente è disattivata](#turn-off-agent-view), `/fork` mantiene il comportamento del subagent con fork e `/subtask` non è disponibile.482Quando la [vista agente è disattivata](#turn-off-agent-view), `/fork` avvia un [subagent con fork](/docs/it/sub-agents#fork-the-current-conversation) invece di copiare la sessione.

483 483 

484Passa un prompt come `/fork open a draft pull request with the work so far` e la copia inizia a lavorarci immediatamente. Senza un prompt la copia attende la sua prima istruzione: seleziona la sua riga in `claude agents` e premi `Space` per inviarne una, oppure esegui `claude attach <id>`. La riga selezionata mostra `space to send it a prompt` mentre attende.484Passa un prompt come `/fork open a draft pull request with the work so far` e la copia inizia a lavorarci immediatamente. Senza un prompt la copia attende la sua prima istruzione: seleziona la sua riga in `claude agents` e premi `Space` per inviarne una, oppure esegui `claude attach <id>`. La riga selezionata mostra `space to send it a prompt` mentre attende.

485 485 


952Se premi `←` per mettere in background la sessione corrente e Claude Code mostra una finestra di dialogo `Background this session?`, la sessione ha lavoro in background in corso che lo spostamento in background interromperebbe, riavvierebbe o lascerebbe in esecuzione incustodito, e Claude Code chiede prima di fare uno di questi:952Se premi `←` per mettere in background la sessione corrente e Claude Code mostra una finestra di dialogo `Background this session?`, la sessione ha lavoro in background in corso che lo spostamento in background interromperebbe, riavvierebbe o lascerebbe in esecuzione incustodito, e Claude Code chiede prima di fare uno di questi:

953 953 

954* **Lavoro che non può trasferirsi**: la sessione ha lavoro che non può trasferirsi alla sessione in background, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione. La finestra di dialogo nomina il lavoro in background che Claude Code fermerebbe e, separatamente, conta i compiti che si trasferiscono.954* **Lavoro che non può trasferirsi**: la sessione ha lavoro che non può trasferirsi alla sessione in background, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione. La finestra di dialogo nomina il lavoro in background che Claude Code fermerebbe e, separatamente, conta i compiti che si trasferiscono.

955* **Un workflow con subagent in esecuzione**: un [dynamic workflow](/docs/it/workflows) ha ancora subagent in esecuzione. Il workflow stesso si trasferisce, ma i suoi subagent in esecuzione si riavviano dall'inizio, e la finestra di dialogo dice quanti sono.955* **Un workflow con subagent in esecuzione**: un [workflow dinamico](/docs/it/workflows) ha ancora subagent in esecuzione. Il workflow stesso si trasferisce, ma i suoi subagent in esecuzione si riavviano dall'inizio, e la finestra di dialogo dice quanti sono.

956* **Risposte automatiche agli artefatti**: Claude sta [rispondendo ai commenti su un artefatto da solo](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Quelle risposte continuano nella sessione in background, e la finestra di dialogo lo dice.956* **Risposte automatiche agli artefatti**: Claude sta [rispondendo ai commenti su un artefatto da solo](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Quelle risposte continuano nella sessione in background, e la finestra di dialogo lo dice.

957 957 

958Esegui `/tasks` per vedere tutto ciò che è in esecuzione, quindi conferma per metterla in background comunque o scegli `Stay` per lasciare che il lavoro finisca prima. Vedi [Cosa si trasferisce quando metti in background](#what-carries-over-when-you-background) per sapere quali tipi di lavoro si trasferiscono e quali Claude Code ferma.958Esegui `/tasks` per vedere tutto ciò che è in esecuzione, quindi conferma per metterla in background comunque o scegli `Stay` per lasciare che il lavoro finisca prima. Vedi [Cosa si trasferisce quando metti in background](#what-carries-over-when-you-background) per sapere quali tipi di lavoro si trasferiscono e quali Claude Code ferma.

959 959 

960<h3 id="carried-into-this-session-and-not-resumed">

961 La conversazione dice che un agente in background `was carried into this session and not resumed`

962</h3>

963 

964Questo avviso nomina un [subagent](/docs/it/sub-agents) in background che non è in esecuzione in questa sessione.

965 

966Claude vede l'avviso e risponde da solo, quindi non devi chiederglielo. Se hai ancora bisogno del lavoro di quel subagent dopo aver letto la risposta di Claude, chiedilo a Claude.

967 

960<h3 id="prompt-rejected-as-too-short">968<h3 id="prompt-rejected-as-too-short">

961 Prompt rifiutato come troppo breve969 Prompt rifiutato come troppo breve

962</h3>970</h3>

Details

182export AWS_PROFILE=your-profile-name182export AWS_PROFILE=your-profile-name

183```183```

184 184 

185Claude Code richiede credenziali di ruolo dalla regione IAM Identity Center denominata da `sso_region` del profilo, che non deve corrispondere alla regione in cui si esegue Amazon Bedrock. Nella versione 2.1.207, la regione di Amazon Bedrock ha sovrascritto `sso_region`, quindi un profilo la cui istanza di IAM Identity Center si trova in una regione diversa non è riuscito ad autenticarsi con un errore `Session token not found or invalid`.185Claude Code richiede credenziali di ruolo dalla regione IAM Identity Center indicata da `sso_region` del profilo, che non deve necessariamente corrispondere alla regione in cui esegui Amazon Bedrock.

186 186 

187<h4 id="use-aws-management-console-credentials">187<h4 id="use-aws-management-console-credentials">

188 Usa le credenziali della console di gestione AWS188 Usa le credenziali della console di gestione AWS


409 Controlli del modello all'avvio409 Controlli del modello all'avvio

410</h2>410</h2>

411 411 

412Quando Claude Code si avvia con Amazon Bedrock configurato, verifica che i modelli che intende utilizzare siano accessibili nel vostro account.412Quando Claude Code si avvia con Amazon Bedrock configurato, verifica che i modelli che intende utilizzare siano accessibili nel tuo account.

413 413 

414Se avete fissato una versione del modello più vecchia rispetto al valore predefinito corrente di Claude Code, e il vostro account può richiamare la versione più recente, Claude Code vi chiede di aggiornare il pin. Accettando si scrive il nuovo ID del modello nel vostro [file di impostazioni utente](/docs/it/settings) e si riavvia Claude Code. Rifiutando viene ricordato fino al prossimo cambio della versione predefinita. I pin che puntano a un [ARN del profilo di inferenza dell'applicazione](#map-each-model-version-to-an-inference-profile) vengono saltati, poiché sono gestiti dall'amministratore.414Se hai fissato una versione del modello più vecchia rispetto al valore predefinito corrente di Claude Code, e il tuo account può richiamare la versione più recente, Claude Code ti chiede di aggiornare il pin. Accettando si scrive il nuovo ID del modello nel tuo [file di impostazioni utente](/docs/it/settings) e si riavvia Claude Code. Il rifiuto viene ricordato fino al prossimo cambio della versione predefinita. I pin che puntano a un [ARN del profilo di inferenza dell'applicazione](#map-each-model-version-to-an-inference-profile) vengono saltati, poiché sono gestiti dall'amministratore.

415 415 

416Se non avete fissato un modello e il valore predefinito corrente non è disponibile nel vostro account, Claude Code esegue il fallback per la sessione corrente e mostra un avviso. Prova prima le versioni precedenti del modello predefinito e, quando il valore predefinito è un modello Opus e nessuna versione Opus è disponibile, esegue il fallback al modello Sonnet predefinito. Il fallback non viene mantenuto. Abilitate il modello più recente nel vostro account Amazon Bedrock o [fissate una versione](#4-pin-model-versions) per rendere permanente la scelta.416Se non hai fissato un modello e il valore predefinito corrente non è disponibile nel tuo account, Claude Code esegue il fallback per la sessione corrente e mostra un avviso. Prova prima le versioni precedenti del modello predefinito e, quando il valore predefinito è un modello Opus e nessuna versione Opus è disponibile, esegue il fallback al modello Sonnet predefinito. Il fallback non viene mantenuto. Abilita il modello più recente nel tuo account Amazon Bedrock o [fissa una versione](#4-pin-model-versions) per rendere permanente la scelta.

417 417 

418Quando avviate la sessione su una versione specifica di Sonnet oppure Opus, ad esempio con `--model`, `ANTHROPIC_MODEL`, o l'[impostazione `model`](/docs/it/settings-reference#model), quella versione agisce come valore predefinito fissato della sessione per l'alias `sonnet` oppure `opus` corrispondente. Claude Code salta il controllo di disponibilità per il valore predefinito integrato che il vostro modello sostituisce e si avvia sul modello che avete configurato, senza alcun avviso di fallback.418Quando avvii la sessione su una versione specifica di Sonnet oppure Opus, ad esempio con `--model`, `ANTHROPIC_MODEL`, o l'[impostazione `model`](/docs/it/settings-reference#model), quella versione agisce come valore predefinito fissato della sessione per l'alias `sonnet` oppure `opus` corrispondente. Claude Code salta il controllo di disponibilità per il valore predefinito integrato che il tuo modello sostituisce e si avvia sul modello che hai configurato, senza alcun avviso di fallback.

419 419 

420Gli alias dei modelli come `opus` non agiscono come pin, e nemmeno un ID del modello che Claude Code non riconosce, come un ARN del profilo di inferenza dell'applicazione.420Gli alias dei modelli come `opus` non agiscono come pin, e nemmeno un ID del modello che Claude Code non riconosce, come un ARN del profilo di inferenza dell'applicazione.

421 421 

422Quando questi controlli trovano un modello che il vostro account non può richiamare, Claude Code ricorda il rifiuto su questa macchina per un massimo di un giorno, e durante quel tempo l'avvio salta il modello ricordato senza chiedere di nuovo ad Amazon Bedrock. Claude Code controlla un rifiuto ricordato di un modello predefinito corrente di nuovo all'avvio una volta che sono passati dieci minuti dall'ultimo controllo, quindi un valore predefinito che l'amministratore riabilita ritorna. Per disattivare la memoria, impostate [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](/docs/it/env-vars).422Quando questi controlli trovano un modello che il tuo account non può richiamare, Claude Code ricorda il rifiuto su questa macchina per un massimo di un giorno, e durante quel tempo l'avvio salta il modello ricordato senza chiedere di nuovo ad Amazon Bedrock. Claude Code controlla di nuovo all'avvio un rifiuto ricordato di un modello predefinito corrente una volta che sono passati dieci minuti dall'ultimo controllo, quindi un valore predefinito che l'amministratore riabilita ritorna. Per disattivare la memoria, imposta [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](/docs/it/env-vars).

423 423 

424<h3 id="when-your-organization-enforces-a-model-allowlist">424<h3 id="when-your-organization-enforces-a-model-allowlist">

425 Quando la tua organizzazione applica un'allowlist dei modelli425 Quando la tua organizzazione applica un'allowlist dei modelli


442 Quando un modello viene disabilitato durante la sessione442 Quando un modello viene disabilitato durante la sessione

443</h3>443</h3>

444 444 

445Se il vostro account perde l'accesso al modello su cui è in esecuzione la sessione, ad esempio perché un amministratore lo disabilita nel vostro account Amazon Bedrock, Claude Code passa la sessione a un altro modello invece di far fallire ogni richiesta, e mostra `Switched to <fallback> because <model> is not available`. Prova gli stessi modelli del fallback all'avvio: versioni precedenti dello stesso livello prima e, per una sessione Opus senza alcuna versione Opus disponibile, il modello Sonnet predefinito.445Se il tuo account perde l'accesso al modello su cui è in esecuzione la sessione, ad esempio perché un amministratore lo disabilita nel tuo account Amazon Bedrock, Claude Code passa la sessione a un altro modello invece di far fallire ogni richiesta, e mostra `Switched to <fallback> because <model> is not available`. Prova gli stessi modelli del fallback all'avvio: prima le versioni precedenti dello stesso livello e, per una sessione Opus senza alcuna versione Opus disponibile, il modello Sonnet predefinito.

446 446 

447Il passaggio si applica solo a un livello che non avete fissato, la stessa condizione del fallback all'avvio. Una sessione su una versione specifica che avete scelto, o su un [ARN del profilo di inferenza dell'applicazione](#map-each-model-version-to-an-inference-profile), mantiene il suo modello e, senza una catena di modelli di fallback, la richiesta fallisce invece. In [modalità auto](/docs/it/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code passa solo a un modello che la modalità auto supporta su Amazon Bedrock. Se nessuno di questi modelli è disponibile, la richiesta fallisce con [AWS authentication failed](/docs/it/errors#aws-authentication-failed) e un suggerimento per abilitare il modello.447Il passaggio si applica solo a un livello che non hai fissato, la stessa condizione del fallback all'avvio. Una sessione su una versione specifica che hai scelto, o su un [ARN del profilo di inferenza dell'applicazione](#map-each-model-version-to-an-inference-profile), mantiene il suo modello e, senza una catena di modelli di fallback, la richiesta invece fallisce. In [modalità auto](/docs/it/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code passa solo a un modello che la modalità auto supporta su Amazon Bedrock. Se nemmeno nessuno di questi modelli è disponibile, la richiesta fallisce con [AWS authentication failed](/docs/it/errors#aws-authentication-failed) e un suggerimento per abilitare il modello.

448 448 

449Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configurate sostituisce il passaggio di livello: su questi rifiuti Claude Code passa al vostro fallback configurato invece. Per fare in modo che le richieste rifiutate falliscano piuttosto che passare, impostate [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/it/env-vars). Una catena di fallback che avete configurato continua comunque a passare su questi rifiuti; rimuovete anche la catena se volete che ogni richiesta rifiutata fallisca.449Una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) che configuri sostituisce il passaggio di livello: su questi rifiuti Claude Code passa invece al fallback che hai configurato. Per fare in modo che le richieste rifiutate falliscano piuttosto che passare a un altro modello, imposta [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/it/env-vars). Una catena di fallback che hai configurato continua comunque a passare su questi rifiuti; rimuovi anche la catena se vuoi che ogni richiesta rifiutata fallisca.

450 450 

451<h2 id="cross-region-inference-profile-prefixes">451<h2 id="cross-region-inference-profile-prefixes">

452 Prefissi del profilo di inferenza tra regioni452 Prefissi del profilo di inferenza tra regioni

artifacts.md +2 −2

Details

105 Trovare di nuovo un artifact105 Trovare di nuovo un artifact

106</h2>106</h2>

107 107 

108Esegui `/artifacts` in Claude Code per elencare gli artefatti che possiedi e quelli condivisi con te. Gli artefatti della sessione corrente compaiono per primi, sotto **This session**. Richiede Claude Code v2.1.208 o versione successiva.108Esegui `/artifacts` in Claude Code per elencare gli artefatti che possiedi e quelli condivisi con te. Gli artefatti della sessione corrente compaiono per primi, sotto **This session**.

109 109 

110Seleziona un artefatto, quindi premi uno di questi tasti:110Seleziona un artefatto, quindi premi uno di questi tasti:

111 111 

112* **`Invio`**: lo apre nel tuo browser quando è già allegato alla sessione corrente e lo allega quando non lo è. Prima della v2.1.216, `Invio` lo apriva nel tuo browser112* **`Enter`**: lo apre nel tuo browser quando è già allegato alla sessione corrente e lo allega quando non lo è. Prima della v2.1.216, `Enter` lo apriva nel tuo browser

113* **`o`**: lo apre nel tuo browser113* **`o`**: lo apre nel tuo browser

114* **`c`**: copia il suo link114* **`c`**: copia il suo link

115 115 

Details

319claude auto-mode defaults319claude auto-mode defaults

320```320```

321 321 

322Per leggere la formulazione completa di una regola senza eseguire il piping attraverso `jq`, passa `--label` con l'inizio dell'etichetta della regola, come `claude auto-mode defaults --label 'Git Destructive'`. La corrispondenza è un prefisso senza distinzione tra maiuscole e minuscole sull'etichetta di ogni regola e le sezioni senza corrispondenza vengono stampate come elenchi vuoti. Richiede Claude Code v2.1.208 o successivo.322Per leggere la formulazione completa di una regola senza eseguire il piping attraverso `jq`, passa `--label` con l'inizio dell'etichetta della regola, come `claude auto-mode defaults --label 'Git Destructive'`. La corrispondenza è un prefisso senza distinzione tra maiuscole e minuscole sull'etichetta di ogni regola e le sezioni senza corrispondenza vengono stampate come elenchi vuoti.

323 323 

324Stampa ciò che il classificatore effettivamente utilizza come JSON, con le tue impostazioni applicate dove impostate e valori predefiniti altrimenti:324Stampa ciò che il classificatore effettivamente utilizza come JSON, con le tue impostazioni applicate dove impostate e valori predefiniti altrimenti:

325 325 


357 357 

358Se hai scritto regole personalizzate, `claude auto-mode critique` le esamina e contrassegna le voci che sono ambigue, ridondanti o probabilmente causeranno falsi positivi.358Se hai scritto regole personalizzate, `claude auto-mode critique` le esamina e contrassegna le voci che sono ambigue, ridondanti o probabilmente causeranno falsi positivi.

359 359 

360Per scartare le tue personalizzazioni e tornare ai valori predefiniti incorporati, esegui il sottocomando reset. Richiede Claude Code v2.1.212 o successivo e rimuove la sezione `autoMode` dal tuo file di impostazioni utente:360Per scartare le tue personalizzazioni e tornare ai valori predefiniti incorporati, esegui il sottocomando reset, che rimuove la sezione `autoMode` dal tuo file di impostazioni utente:

361 361 

362```bash theme={null}362```bash theme={null}

363claude auto-mode reset363claude auto-mode reset

chrome.md +3 −3

Details

113 113 

114Con l'impostazione attiva e Claude Code v2.1.287 o successiva, ogni sessione VS Code si connette al tuo browser all'avvio, così Claude può usarlo prima che tu digiti `@browser`. Nelle versioni precedenti, o con l'impostazione disattivata, una sessione VS Code si connette quando digiti `@browser`.114Con l'impostazione attiva e Claude Code v2.1.287 o successiva, ogni sessione VS Code si connette al tuo browser all'avvio, così Claude può usarlo prima che tu digiti `@browser`. Nelle versioni precedenti, o con l'impostazione disattivata, una sessione VS Code si connette quando digiti `@browser`.

115 115 

116Claude Code si avvia normalmente quando Chrome non è in esecuzione. Prima della v2.1.211, l'avvio potrebbe bloccarsi quando l'integrazione di Chrome era abilitata ma Chrome non era in esecuzione.116Claude Code si avvia normalmente quando Chrome non è in esecuzione.

117 117 

118<Note>118<Note>

119 L'abilitazione di Chrome per impostazione predefinita aumenta l'utilizzo del contesto poiché gli strumenti del browser e le relative istruzioni vengono sempre caricati. Se noti un aumento del consumo di contesto, disattiva l'impostazione e connettiti solo quando necessario, con `--chrome` nella CLI o digitando [`@browser`](/docs/it/vs-code#automate-browser-tasks-with-chrome) nella casella del prompt di VS Code.119 L'abilitazione di Chrome per impostazione predefinita aumenta l'utilizzo del contesto poiché gli strumenti del browser e le relative istruzioni vengono sempre caricati. Se noti un aumento del consumo di contesto, disattiva l'impostazione e connettiti solo quando necessario, con `--chrome` nella CLI o digitando [`@browser`](/docs/it/vs-code#automate-browser-tasks-with-chrome) nella casella del prompt di VS Code.


192 Carica file su pagine web192 Carica file su pagine web

193</h3>193</h3>

194 194 

195Claude può allegare file dalla tua macchina ai campi di caricamento su una pagina. Claude Code legge il file e invia i suoi contenuti al browser, quindi i caricamenti funzionano sia nelle sessioni locali che remote. Richiede Claude Code v2.1.211 o successivo.195Claude può allegare file dalla tua macchina ai campi di caricamento su una pagina. Claude Code legge il file e invia i suoi contenuti al browser, quindi i caricamenti funzionano sia nelle sessioni locali che remote.

196 196 

197Questo esempio allega un file di log a un modulo:197Questo esempio allega un file di log a un modulo:

198 198 


271Take a screenshot of the checkout page and save it to disk271Take a screenshot of the checkout page and save it to disk

272```272```

273 273 

274Claude salva l'immagine su disco e segnala il percorso del file. Prima della v2.1.211, l'opzione `save_to_disk` dello strumento screenshot non scriveva un file.274Claude salva l'immagine su disco e segnala il percorso del file.

275 275 

276<h2 id="troubleshooting">276<h2 id="troubleshooting">

277 Troubleshooting277 Troubleshooting

Details

502 Pipeline CI e macchine remote502 Pipeline CI e macchine remote

503</h3>503</h3>

504 504 

505Non esiste un flusso con token di servizio per le pipeline non presidiate. L'accesso al gateway esegue sempre il device flow nel browser, quindi un job CI senza uno sviluppatore che approvi l'accesso non può autenticarsi; configura questi job direttamente con il tuo provider.505Non esiste un flusso con token di servizio per le pipeline non presidiate. L'accesso al gateway esegue sempre il device flow nel browser, quindi un job CI senza uno sviluppatore che approvi l'accesso non può autenticarsi; configura questi job direttamente con il tuo provider. Distribuisci `forceLoginMethod` e `forceLoginGatewayUrl` sulle macchine degli sviluppatori e lasciali fuori dai runner CI. Su una macchina le cui impostazioni gestite li impostano, una sessione che si autentica con `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper` [termina all'avvio](/docs/it/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

506 506 

507Una volta che uno sviluppatore ha effettuato l'accesso, ogni sessione di Claude Code su quella macchina usa la sessione del gateway, incluse le esecuzioni non interattive di `claude -p` e le sessioni avviate dall'Agent SDK. Claude Code applica la [policy del gateway](/docs/it/claude-apps-gateway-config#managed) a ciascuna di esse.507Una volta che uno sviluppatore ha effettuato l'accesso, ogni sessione di Claude Code su quella macchina usa la sessione del gateway, incluse le esecuzioni non interattive di `claude -p` e le sessioni avviate dall'Agent SDK. Claude Code applica la [policy del gateway](/docs/it/claude-apps-gateway-config#managed) a ciascuna di esse.

508 508 

Details

340 340 

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

342 342 

343<Note>

344 Se imposti `forward_user_identity` su un upstream Amazon Bedrock, il gateway termina all'avvio con `Unrecognized key(s) in object: 'forward_user_identity'`. Se il tuo proxy si trova davanti a Bedrock, elencalo invece come upstream `provider: anthropic`. Il gateway invia a quell'upstream il formato Anthropic Messages, quindi il tuo proxy deve [tradurre le richieste per Bedrock](/docs/it/llm-gateway-protocol#format-mismatch-with-the-upstream). Per identificare invece ogni sviluppatore presso AWS, consulta [Attribuzione dei costi AWS per sviluppatore](#per-developer-aws-cost-attribution).

345</Note>

346 

343<h4 id="amazon-bedrock">347<h4 id="amazon-bedrock">

344 Amazon Bedrock348 Amazon Bedrock

345</h4>349</h4>


1133 1137 

1134* L'elenco dei modelli, da `availableModels`. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto 1M di ciascun modello1138* L'elenco dei modelli, da `availableModels`. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto 1M di ciascun modello

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

1136* L'allowlist di uscita, da `sandbox.network.allowedDomains`. Se imposti `coworkEgressAllowedHosts` nel blocco `desktop` della policy, il gateway usa quel valore invece dell'elenco derivato1140* L'allowlist in uscita, da `sandbox.network.allowedDomains`. Se imposti `coworkEgressAllowedHosts` nel blocco `desktop` della policy, il gateway usa quel valore al posto dell'elenco derivato. Se l'allowlist servita dal gateway include `*` e il gateway non serve anche [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) di Claude Desktop, Claude Desktop non attiva la [sandbox di Bash](/docs/it/sandboxing) nella scheda Code

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

1138 1142 

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


1374 1378 

1375Vengono inoltrate sia la codifica OTLP protobuf che quella JSON, e qualsiasi backend compatibile con OpenTelemetry funziona come destinazione.1379Vengono inoltrate sia la codifica OTLP protobuf che quella JSON, e qualsiasi backend compatibile con OpenTelemetry funziona come destinazione.

1376 1380 

1381<h4 id="send-cumulative-metrics">

1382 Inviare metriche cumulative

1383</h4>

1384 

1385Se il tuo collector accetta solo metriche cumulative, imposta [`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE`](/docs/it/monitoring-usage#common-configuration-variables) su `cumulative`. Claude Code invia metriche delta per impostazione predefinita, e il gateway le inoltra senza convertirle. Imposta la variabile dove ogni tipo di sessione la legge:

1386 

1387* **Sessioni del terminale**: nel blocco `env` sotto la [chiave `cli` o `code`](#choose-cli-or-code) di una policy

1388* **Sessioni Cowork che [vengono eseguite sulla macchina dell'utente](/docs/it/managed-settings#where-and-when-a-policy-applies)**: nel blocco `env` delle [impostazioni gestite lato client](#client-side-managed-settings) su quella macchina

1389* **Sessioni della scheda Code con una policy `code`**: nel blocco `env` della policy, una volta soddisfatte le [condizioni per l'applicazione delle impostazioni `code`](#apply-code-settings-in-the-code-tab)

1390* **Sessioni della scheda Code con una policy `cli`**: nel blocco `env` delle impostazioni gestite lato client sulla macchina che esegue la sessione. Tramite SSH, è l'host remoto.

1391 

1392Se aggiungi la variabile alle impostazioni gestite di una macchina, imposta anche [`parentSettingsBehavior: "merge"`](/docs/it/claude-apps-gateway#set-the-opt-in) nella fonte con priorità più alta su quella macchina. Senza di essa, le sessioni Cowork e le sessioni della scheda Code con una policy `cli` vengono eseguite senza l'allowlist in uscita e le altre policy che Claude Desktop passa loro come impostazioni padre.

1393 

1377<h4 id="add-your-own-labels">1394<h4 id="add-your-own-labels">

1378 Aggiungi le tue etichette1395 Aggiungi le tue etichette

1379</h4>1396</h4>

Details

1706claude purge ~/work/my-repo --yes1706claude purge ~/work/my-repo --yes

1707```1707```

1708 1708 

1709Passa `--all` invece di un percorso per eliminare lo stato per ogni progetto contemporaneamente, il che elimina `history.jsonl` completamente piuttosto che filtrarlo. Passa `-i` per scorrere il piano di eliminazione un elemento alla volta.1709Altre opzioni:

1710 

1711* Passa `--all` invece di un percorso per eliminare lo stato per ogni progetto contemporaneamente, il che elimina `history.jsonl` completamente piuttosto che filtrarlo.

1712* Passa `-i` per scorrere il piano di eliminazione un elemento alla volta.

1710 1713 

1711Il comando lascia stare `shell-snapshots/` e `backups/` perché non sono limitati al progetto, e avverte su di essi nell'output del piano. Se qualcuno ha eseguito [`/heapdump`](/docs/it/troubleshooting#high-cpu-or-memory-usage) sulla macchina, elimina anche i file `.heapsnapshot` che ha scritto. Uno snapshot dell'heap contiene l'intera conversazione e tutte le credenziali che il processo deteneva, e né la pulizia della conservazione né il comando purge lo toccano.1714Il comando lascia stare `shell-snapshots/` e `backups/` perché non sono limitati al progetto, e avverte su di essi nell'output del piano. Se qualcuno ha eseguito [`/heapdump`](/docs/it/troubleshooting#high-cpu-or-memory-usage) sulla macchina, elimina anche i file `.heapsnapshot` che ha scritto. Uno snapshot dell'heap contiene l'intera conversazione e tutte le credenziali che il processo deteneva, e né la pulizia della conservazione né il comando purge lo toccano.

1712 1715 

1713Puoi anche eliminare manualmente uno qualsiasi dei percorsi di dati dell'applicazione sopra, a parte i [file di stato da mantenere](#state-files-to-keep). Le nuove sessioni non sono interessate. La tabella di seguito mostra cosa perdi per le sessioni passate.1716Puoi anche eliminare manualmente uno qualsiasi dei percorsi di dati dell'applicazione sopra, a parte i [file di stato da mantenere](#state-files-to-keep).

1714 1717 

1715| Elimina | Perdi |1718| Elimina | Perdi |

1716| - | - |1719| - | - |


1726| `~/.claude/remote-settings.json` | Nulla. Recuperato di nuovo al prossimo avvio. |1729| `~/.claude/remote-settings.json` | Nulla. Recuperato di nuovo al prossimo avvio. |

1727| `~/.claude/cache/changelog.md` | Nulla. Aggiornato in background. |1730| `~/.claude/cache/changelog.md` | Nulla. Aggiornato in background. |

1728| `~/.claude/policy-limits.json` | Nulla. Aggiornato automaticamente. |1731| `~/.claude/policy-limits.json` | Nulla. Aggiornato automaticamente. |

1729| `~/.claude/tasks/` | Elenchi di attività che una sessione ripresa raccoglierebbe |1732| `~/.claude/tasks/` | I tuoi [elenchi di attività](/docs/it/interactive-mode#task-list), inclusi quelli ancora in uso |

1730| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La possibilità di recuperare [skills sincronizzate](/docs/it/skills#how-synced-skills-behave) e [plugins sincronizzati](/docs/it/plugins/loading#synced-plugins) che Claude Code ha rimosso |1733| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La possibilità di recuperare [skills sincronizzate](/docs/it/skills#how-synced-skills-behave) e [plugins sincronizzati](/docs/it/plugins/loading#synced-plugins) che Claude Code ha rimosso |

1731| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Le copie dei record di installazione dei plugin che Claude Code ha eliminato o non poteva leggere. Nulla le legge di nuovo |1734| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Le copie dei record di installazione dei plugin che Claude Code ha eliminato o non poteva leggere. Nulla le legge di nuovo |

1732| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nulla di visibile all'utente |1735| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nulla di visibile all'utente |

Details

115| `--no-session-persistence` | Disabilita la persistenza della sessione in modo che le sessioni non vengono salvate su disco e non possono essere riprese. Solo modalità print. La variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/it/env-vars) fa lo stesso in qualsiasi modalità | `claude -p --no-session-persistence "query"` |115| `--no-session-persistence` | Disabilita la persistenza della sessione in modo che le sessioni non vengono salvate su disco e non possono essere riprese. Solo modalità print. La variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/it/env-vars) fa lo stesso in qualsiasi modalità | `claude -p --no-session-persistence "query"` |

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

117| `--permission-mode` | Inizia in una [modalità di permesso](/docs/it/permission-modes) specificata. Accetta `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, o `manual` come alias per `default`. L'alias `manual` seleziona la modalità di permesso che l'interfaccia utente etichetta Manual e richiede Claude Code v2.1.200 o successivo; `claude --help` la elenca al posto di `default`, e entrambi i valori funzionano. Sostituisce `defaultMode` dai file di impostazioni. Senza questo flag o `--dangerously-skip-permissions`, una nuova sessione inizia nella modalità di permesso descritta in [quale modalità di permesso inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in), che copre anche cosa inizia una sessione `-p` | `claude --permission-mode plan` |117| `--permission-mode` | Inizia in una [modalità di permesso](/docs/it/permission-modes) specificata. Accetta `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, o `manual` come alias per `default`. L'alias `manual` seleziona la modalità di permesso che l'interfaccia utente etichetta Manual e richiede Claude Code v2.1.200 o successivo; `claude --help` la elenca al posto di `default`, e entrambi i valori funzionano. Sostituisce `defaultMode` dai file di impostazioni. Senza questo flag o `--dangerously-skip-permissions`, una nuova sessione inizia nella modalità di permesso descritta in [quale modalità di permesso inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in), che copre anche cosa inizia una sessione `-p` | `claude --permission-mode plan` |

118| `--permission-prompt-tool` | Specifica uno strumento MCP per gestire i prompt di permesso in modalità non interattiva. Claude Code attende che il server MCP di quello strumento si connetta prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita. <br /><br />Lo strumento di prompt non può approvare uno strumento MCP contrassegnato come [richiedente interazione dell'utente](/docs/it/mcp#require-approval-for-a-specific-tool): Claude Code converte un risultato `allow` per uno in una negazione. Questa restrizione richiede Claude Code v2.1.199 o successivo | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |118| `--permission-prompt-tool` | Specifica uno strumento MCP per gestire i prompt di permesso in modalità non interattiva. Passa il nome completo, come `mcp__<server>__<tool>`, di uno strumento su un server MCP che l'esecuzione carica. Claude Code attende che il server MCP di quello strumento si connetta prima di eseguire il primo turno, fino al timeout di avvio [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita. <br /><br />Lo strumento di prompt non può approvare uno strumento MCP contrassegnato come [richiedente interazione dell'utente](/docs/it/mcp#require-approval-for-a-specific-tool): Claude Code converte un risultato `allow` per uno in una negazione. Questa restrizione richiede Claude Code v2.1.199 o successivo | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

119| `--permission-prompts` | Imposta chi risponde ai prompt di permesso in modalità print. Con l'impostazione predefinita `host`, Claude Code li invia all'host dell'Agent SDK o allo strumento `--permission-prompt-tool`. Passa `none` quando nessuno può rispondere, e Claude Code li nega invece. Vedi [Disattiva i prompt di permesso nelle esecuzioni incustodite](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs). Richiede Claude Code v2.1.259 o successivo | `claude -p --permission-prompts none "query"` |119| `--permission-prompts` | Imposta chi risponde ai prompt di permesso in modalità print. Con l'impostazione predefinita `host`, Claude Code li invia all'host dell'Agent SDK o allo strumento `--permission-prompt-tool`. Passa `none` quando nessuno può rispondere, e Claude Code li nega invece. Vedi [Disattiva i prompt di permesso nelle esecuzioni incustodite](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs). Richiede Claude Code v2.1.259 o successivo | `claude -p --permission-prompts none "query"` |

120| `--plugin-dir` | Carica un plugin da una directory o un archivio `.zip`, o diversi da una [cartella di plugin](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session), solo per questa sessione. Ogni flag accetta un percorso. Ripeti il flag per più percorsi: `--plugin-dir A --plugin-dir B.zip`. Passare una cartella di plugin richiede Claude Code v2.1.265 o successivo | `claude --plugin-dir ./my-plugin` |120| `--plugin-dir` | Carica un plugin da una directory o un archivio `.zip`, o diversi da una [cartella di plugin](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session), solo per questa sessione. Ogni flag accetta un percorso. Ripeti il flag per più percorsi: `--plugin-dir A --plugin-dir B.zip`. Passare una cartella di plugin richiede Claude Code v2.1.265 o successivo | `claude --plugin-dir ./my-plugin` |

121| `--plugin-url` | Recupera un archivio plugin `.zip` da un URL solo per questa sessione. Ripeti il flag per più plugin, o passa URL separati da spazi in un singolo valore tra virgolette | `claude --plugin-url https://example.com/plugin.zip` |121| `--plugin-url` | Recupera un archivio plugin `.zip` da un URL solo per questa sessione. Ripeti il flag per più plugin, o passa URL separati da spazi in un singolo valore tra virgolette | `claude --plugin-url https://example.com/plugin.zip` |

Details

117 117 

118* **Il repository è impostato su Manual**: come richiedere una revisione con un commento118* **Il repository è impostato su Manual**: come richiedere una revisione con un commento

119* **La pull request proviene da un fork**: che un maintainer può richiedere la revisione119* **La pull request proviene da un fork**: che un maintainer può richiedere la revisione

120* **Un bot, o qualcuno senza accesso in scrittura, commenta `@claude review`**: che non è stata avviata alcuna revisione, e chi può richiederne una120* **Un bot, o qualcuno senza accesso in scrittura che non è l'autore della pull request, commenta `@claude review`**: che non è stata avviata alcuna revisione, e chi può richiederne una

121* **L'organizzazione GitHub non è collegata alla tua organizzazione Claude**: che le revisioni sono in pausa, e come collegarla121* **L'organizzazione GitHub non è collegata alla tua organizzazione Claude**: che le revisioni sono in pausa, e come collegarla

122 122 

123Disattiva l'impostazione per interrompere questi commenti.123Disattiva l'impostazione per interrompere questi commenti.

Details

38 38 

39* **Code Review non è attivo per questo repository**: Claude non pubblica alcun commento né alcun check run in risposta al comando. Chiedi a un Owner di [aggiungere il repository](/docs/it/code-review-setup#add-more-repositories).39* **Code Review non è attivo per questo repository**: Claude non pubblica alcun commento né alcun check run in risposta al comando. Chiedi a un Owner di [aggiungere il repository](/docs/it/code-review-setup#add-more-repositories).

40* **Il commento non soddisfa una condizione**: era un commento inline o il corpo di una revisione anziché un nuovo commento di primo livello, oppure il comando non si trovava all'inizio del commento. Anche modificare un commento precedente invece di pubblicarne uno nuovo non conta, e la pull request deve essere aperta. Consulta le [condizioni per i comandi nei commenti](/docs/it/code-review-pull-requests#comment-commands) e pubblica un nuovo commento che le soddisfi.40* **Il commento non soddisfa una condizione**: era un commento inline o il corpo di una revisione anziché un nuovo commento di primo livello, oppure il comando non si trovava all'inizio del commento. Anche modificare un commento precedente invece di pubblicarne uno nuovo non conta, e la pull request deve essere aperta. Consulta le [condizioni per i comandi nei commenti](/docs/it/code-review-pull-requests#comment-commands) e pubblica un nuovo commento che le soddisfi.

41* **Non hai accesso in scrittura**: ti serve il permesso write, maintain o admin sul repository e, su una pull request proveniente da un fork, il permesso che conta è quello sul repository di base. Se la tua organizzazione ha attivato i suggerimenti, Claude risponde "No review was started: manual reviews can only be requested by someone with write access to this repository." Chiedi invece a qualcuno con accesso in scrittura di commentare.41* **Non hai accesso in scrittura**: ti serve il permesso write, maintain o admin sul repository. Su una pull request proveniente da un fork, il permesso che conta è quello sul repository di base. A meno che la pull request non sia tua, Claude può rispondere con un [suggerimento](/docs/it/code-review-setup#turn-tip-comments-on-or-off): "No review was started: manual reviews can only be requested by someone with write access to this repository." Chiedi invece a qualcuno con accesso in scrittura di commentare.

42* **Il budget è esaurito**: Claude pubblica un commento che inizia con "⚠️ Code review skipped". Consulta [La revisione non è stata eseguita e la PR mostra un messaggio sul budget](#review-didn’t-run-and-the-pr-shows-a-budget-message).42* **Il budget è esaurito**: Claude pubblica un commento che inizia con "⚠️ Code review skipped". Consulta [La revisione non è stata eseguita e la PR mostra un messaggio sul budget](#review-didn’t-run-and-the-pr-shows-a-budget-message).

43 43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

commands.md +5 −5

Details

65| `/background [prompt]` | Scollega la sessione corrente per eseguirla come [agente in background](/docs/it/agent-view) e liberare questo terminale. Passa un prompt per inviare un'ultima istruzione prima di scollegarla. Monitora la sessione con `claude agents`. Per copiare la conversazione in una nuova sessione in background mentre questa continua a essere eseguita, usa `/fork`. Alias: `/bg` |65| `/background [prompt]` | Scollega la sessione corrente per eseguirla come [agente in background](/docs/it/agent-view) e liberare questo terminale. Passa un prompt per inviare un'ultima istruzione prima di scollegarla. Monitora la sessione con `claude agents`. Per copiare la conversazione in una nuova sessione in background mentre questa continua a essere eseguita, usa `/fork`. Alias: `/bg` |

66| `/batch <instruction>` | **[Skill](/docs/it/skills#bundled-skills).** Orchestra modifiche su larga scala in un codebase in parallelo. Analizza il codebase, scompone il lavoro in 5-30 unità indipendenti e presenta un piano. Una volta approvato, avvia un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) per ogni unità in un [worktree](/docs/it/worktrees) isolato. Ogni subagent implementa la propria unità, esegue i test e pubblica la propria modifica. Richiede un repository git o un [hook `WorktreeCreate`](/docs/it/worktrees#non-git-version-control) che crei i worktree. Al di fuori di un repository git, `/batch` richiede Claude Code v2.1.281 o successiva. Esempio: `/batch migrate src/ from JavaScript to TypeScript` |66| `/batch <instruction>` | **[Skill](/docs/it/skills#bundled-skills).** Orchestra modifiche su larga scala in un codebase in parallelo. Analizza il codebase, scompone il lavoro in 5-30 unità indipendenti e presenta un piano. Una volta approvato, avvia un [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) per ogni unità in un [worktree](/docs/it/worktrees) isolato. Ogni subagent implementa la propria unità, esegue i test e pubblica la propria modifica. Richiede un repository git o un [hook `WorktreeCreate`](/docs/it/worktrees#non-git-version-control) che crei i worktree. Al di fuori di un repository git, `/batch` richiede Claude Code v2.1.281 o successiva. Esempio: `/batch migrate src/ from JavaScript to TypeScript` |

67| `/branch [name]` | Crea un branch della conversazione corrente a questo punto, così puoi provare una direzione diversa senza perdere la conversazione così com'è. Ti sposta nel branch e conserva l'originale, a cui puoi tornare con `/resume`. Per eseguire una copia come [sessione in background](/docs/it/agent-view) separata invece di spostarti al suo interno, usa `/fork`; per affidare un'attività secondaria a un [subagent](/docs/it/sub-agents) che riferisce in questa conversazione, usa `/subtask` |67| `/branch [name]` | Crea un branch della conversazione corrente a questo punto, così puoi provare una direzione diversa senza perdere la conversazione così com'è. Ti sposta nel branch e conserva l'originale, a cui puoi tornare con `/resume`. Per eseguire una copia come [sessione in background](/docs/it/agent-view) separata invece di spostarti al suo interno, usa `/fork`; per affidare un'attività secondaria a un [subagent](/docs/it/sub-agents) che riferisce in questa conversazione, usa `/subtask` |

68| `/btw [question]` | Pone una [domanda a margine](/docs/it/interactive-mode#side-questions-with-%2Fbtw) sulla sessione corrente senza aggiungerla alla conversazione. Se esegui `/btw` senza una domanda, Claude Code mostra la tua domanda a margine più recente così puoi sfogliare le risposte precedenti; se non ne hai ancora fatta una, Claude Code stampa una riga di utilizzo. Prima della v2.1.212, `/btw` richiedeva una domanda |68| `/btw [question]` | Pone una [domanda a margine](/docs/it/interactive-mode#side-questions-with-%2Fbtw) sulla sessione corrente senza aggiungerla alla conversazione. Se esegui `/btw` senza una domanda, Claude Code mostra la tua domanda a margine più recente così puoi sfogliare le risposte precedenti; se non ne hai ancora fatta una, Claude Code stampa una riga di utilizzo |

69| `/bug [report]` | Segnala un bug o condivide la tua conversazione. Scegli quanta cronologia della sessione includere e confermi in una schermata di consenso prima che venga inviato qualsiasi contenuto. Quando hai effettuato l'accesso ad Anthropic su una connessione first-party, la segnalazione va ad Anthropic; su un provider di terze parti, o senza credenziali Anthropic, Claude Code scrive la segnalazione in un [archivio locale in `~/.claude/feedback-bundles/`](/docs/it/data-usage#telemetry-services) che inoltri tu stesso. Nell'[estensione VS Code](/docs/it/vs-code#use-the-prompt-box), `/bug` apre invece la finestra di dialogo di feedback dell'estensione; richiede Claude Code v2.1.229 o successiva. Quando lo esegui mentre Claude sta rispondendo, Claude Code apre immediatamente la finestra di dialogo. Prima della v2.1.232, Claude Code metteva il comando in coda fino al termine del turno. Alias: `/share`. Prima della v2.1.212, `/bug` e `/share` erano alias di `/feedback` |69| `/bug [report]` | Segnala un bug o condivide la tua conversazione. Scegli quanta cronologia della sessione includere e confermi in una schermata di consenso prima che venga inviato qualsiasi contenuto. Quando hai effettuato l'accesso ad Anthropic su una connessione first-party, la segnalazione va ad Anthropic; su un provider di terze parti, o senza credenziali Anthropic, Claude Code scrive la segnalazione in un [archivio locale in `~/.claude/feedback-bundles/`](/docs/it/data-usage#telemetry-services) che inoltri tu stesso. Nell'[estensione VS Code](/docs/it/vs-code#use-the-prompt-box), `/bug` apre invece la finestra di dialogo di feedback dell'estensione; richiede Claude Code v2.1.229 o successiva. Quando lo esegui mentre Claude sta rispondendo, Claude Code apre immediatamente la finestra di dialogo. Prima della v2.1.232, Claude Code metteva il comando in coda fino al termine del turno. Alias: `/share`. Prima della v2.1.212, `/bug` e `/share` erano alias di `/feedback` |

70| `/cd <path>` | Sposta questa sessione in una nuova directory di lavoro, mantenendo la conversazione. Digita un percorso parziale per vedere i suggerimenti di directory corrispondenti; premi `Tab` per accettarne uno. Per sapere cosa Claude Code applica dalla nuova directory non appena ti sposti e in cosa `/cd` differisce da `/add-dir`, consulta [Spostare la sessione in un'altra directory](/docs/it/permissions#move-the-session-to-another-directory) |70| `/cd <path>` | Sposta questa sessione in una nuova directory di lavoro, mantenendo la conversazione. Digita un percorso parziale per vedere i suggerimenti di directory corrispondenti; premi `Tab` per accettarne uno. Per sapere cosa Claude Code applica dalla nuova directory non appena ti sposti e in cosa `/cd` differisce da `/add-dir`, consulta [Spostare la sessione in un'altra directory](/docs/it/permissions#move-the-session-to-another-directory) |

71| `/chrome` | Configura le impostazioni di [Claude in Chrome](/docs/it/chrome) |71| `/chrome` | Configura le impostazioni di [Claude in Chrome](/docs/it/chrome) |


95| `/feedback [report]` | Invia feedback sul prodotto Claude Code. Apre la stessa finestra di dialogo di [`/bug`](#all-commands), con lo stesso passaggio di consenso, le stesse regole di invio e lo stesso comportamento a metà turno. Nelle sessioni con [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), `/feedback` senza argomento apre invece la coda delle bozze, dove puoi rivedere, modificare, inviare o scartare le bozze messe in coda da Claude; la coda include un'opzione per scrivere una nuova segnalazione nella finestra di dialogo. Con un argomento, e sempre per `/bug`, la finestra di dialogo si apre direttamente |95| `/feedback [report]` | Invia feedback sul prodotto Claude Code. Apre la stessa finestra di dialogo di [`/bug`](#all-commands), con lo stesso passaggio di consenso, le stesse regole di invio e lo stesso comportamento a metà turno. Nelle sessioni con [feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior), `/feedback` senza argomento apre invece la coda delle bozze, dove puoi rivedere, modificare, inviare o scartare le bozze messe in coda da Claude; la coda include un'opzione per scrivere una nuova segnalazione nella finestra di dialogo. Con un argomento, e sempre per `/bug`, la finestra di dialogo si apre direttamente |

96| `/fewer-permission-prompts` | **[Skill](/docs/it/skills#bundled-skills).** Analizza le tue trascrizioni alla ricerca di chiamate comuni di sola lettura a Bash e agli strumenti MCP, poi aggiunge un'allowlist ordinata per priorità al file `.claude/settings.json` del progetto per ridurre le richieste di permesso |96| `/fewer-permission-prompts` | **[Skill](/docs/it/skills#bundled-skills).** Analizza le tue trascrizioni alla ricerca di chiamate comuni di sola lettura a Bash e agli strumenti MCP, poi aggiunge un'allowlist ordinata per priorità al file `.claude/settings.json` del progetto per ridurre le richieste di permesso |

97| `/focus` | Attiva o disattiva la vista focus, che mostra solo il tuo ultimo prompt, un riepilogo di una riga delle chiamate agli strumenti con le statistiche delle modifiche (diffstat) e la risposta finale. Il riepilogo delle chiamate agli strumenti conta anche i subagent avviati nel turno e comprime le notifiche delle attività in background completate in un unico conteggio. La selezione persiste tra le sessioni; imposta [`viewMode`](/docs/it/settings-reference#viewmode) nelle impostazioni per sovrascriverla. Disponibile solo con il [rendering a schermo intero](/docs/it/fullscreen). Da un client [Remote Control](/docs/it/remote-control), esegui `/focus [on\|off]` per attivare o disattivare la vista focus solo per la sessione corrente, senza modificare la selezione salvata; questo richiede Claude Code v2.1.281 o successiva. L'[estensione VS Code](/docs/it/vs-code#use-the-prompt-box) offre una propria vista Focus come opzione attivabile nel menu dei comandi, memorizzata come impostazione dell'estensione, indipendente da `viewMode` |97| `/focus` | Attiva o disattiva la vista focus, che mostra solo il tuo ultimo prompt, un riepilogo di una riga delle chiamate agli strumenti con le statistiche delle modifiche (diffstat) e la risposta finale. Il riepilogo delle chiamate agli strumenti conta anche i subagent avviati nel turno e comprime le notifiche delle attività in background completate in un unico conteggio. La selezione persiste tra le sessioni; imposta [`viewMode`](/docs/it/settings-reference#viewmode) nelle impostazioni per sovrascriverla. Disponibile solo con il [rendering a schermo intero](/docs/it/fullscreen). Da un client [Remote Control](/docs/it/remote-control), esegui `/focus [on\|off]` per attivare o disattivare la vista focus solo per la sessione corrente, senza modificare la selezione salvata; questo richiede Claude Code v2.1.281 o successiva. L'[estensione VS Code](/docs/it/vs-code#use-the-prompt-box) offre una propria vista Focus come opzione attivabile nel menu dei comandi, memorizzata come impostazione dell'estensione, indipendente da `viewMode` |

98| `/fork [prompt]` | [Copia la conversazione corrente](/docs/it/agent-view#copy-the-session-with-%2Ffork) in una nuova sessione in background e ti permette di continuare a lavorare qui. Passa un prompt e la copia inizia subito a lavorarci; senza, attende il primo prompt nella vista agenti. Tranne quando la copia [modifica sul posto](/docs/it/agent-view#how-file-edits-are-isolated), Claude Code le indica di creare un proprio worktree prima di apportare modifiche al codice; l'istruzione di isolamento richiede Claude Code v2.1.221 o successiva. Per affidare un'attività secondaria a un subagent il cui risultato torna in questa conversazione, usa `/subtask`; per spostarti tu stesso in una copia, usa `/branch`. Richiede Claude Code v2.1.212 o successiva; dalla v2.1.161 alla v2.1.211, e ogni volta che la [vista agenti è disattivata](/docs/it/agent-view#turn-off-agent-view), `/fork` avvia invece un [subagent biforcato](/docs/it/sub-agents#fork-the-current-conversation) |98| `/fork [prompt]` | [Copia la conversazione corrente](/docs/it/agent-view#copy-the-session-with-%2Ffork) in una nuova sessione in background e ti permette di continuare a lavorare qui. Passa un prompt e la copia inizia subito a lavorarci; senza, attende il primo prompt nella vista agenti. Tranne quando la copia [modifica sul posto](/docs/it/agent-view#how-file-edits-are-isolated), Claude Code le indica di creare un proprio worktree prima di apportare modifiche al codice; l'istruzione di isolamento richiede Claude Code v2.1.221 o successiva. Per affidare un'attività secondaria a un subagent il cui risultato torna in questa conversazione, usa `/subtask`; per spostarti tu stesso in una copia, usa `/branch`. Quando la [vista agenti è disattivata](/docs/it/agent-view#turn-off-agent-view), `/fork` avvia invece un [subagent biforcato](/docs/it/sub-agents#fork-the-current-conversation) |

99| `/goal [condition\|clear]` | Imposta un [obiettivo](/docs/it/goal): Claude continua a lavorare tra i turni finché la condizione non è soddisfatta o l'obiettivo [viene cancellato per un altro motivo](/docs/it/goal#how-evaluation-works). Senza argomento, mostra l'obiettivo corrente o quello raggiunto più di recente. `clear`, `stop`, `off`, `reset`, `none` o `cancel` rimuove anticipatamente un obiettivo attivo |99| `/goal [condition\|clear]` | Imposta un [obiettivo](/docs/it/goal): Claude continua a lavorare tra i turni finché la condizione non è soddisfatta o l'obiettivo [viene cancellato per un altro motivo](/docs/it/goal#how-evaluation-works). Senza argomento, mostra l'obiettivo corrente o quello raggiunto più di recente. `clear`, `stop`, `off`, `reset`, `none` o `cancel` rimuove anticipatamente un obiettivo attivo |

100| `/heapdump` | Scrive uno snapshot dell'heap JavaScript e un dettaglio dell'uso della memoria in `~/Desktop`, oppure nella tua directory home su Linux senza una cartella Desktop, per diagnosticare un elevato utilizzo di memoria. Allega solo il file `-diagnostics.json` quando segnali un problema di memoria; il file `.heapsnapshot` contiene l'intera conversazione e le credenziali, quindi non condividerlo. [Nascosto dal menu dei comandi](#how-the-command-menu-matches-what-you-type); digitalo per intero. Consulta [cosa fare con l'output](/docs/it/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Scrive uno snapshot dell'heap JavaScript e un dettaglio dell'uso della memoria in `~/Desktop`, oppure nella tua directory home su Linux senza una cartella Desktop, per diagnosticare un elevato utilizzo di memoria. Allega solo il file `-diagnostics.json` quando segnali un problema di memoria; il file `.heapsnapshot` contiene l'intera conversazione e le credenziali, quindi non condividerlo. [Nascosto dal menu dei comandi](#how-the-command-menu-matches-what-you-type); digitalo per intero. Consulta [cosa fare con l'output](/docs/it/troubleshooting#high-cpu-or-memory-usage) |

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

102| `/hooks` | Visualizza le configurazioni degli [hook](/docs/it/hooks#the-%2Fhooks-menu) |102| `/hooks` | Visualizza le configurazioni degli [hook](/docs/it/hooks#the-%2Fhooks-menu) |

103| `/ide` | Gestisce le integrazioni IDE e mostra lo stato |103| `/ide` | Gestisce le integrazioni IDE e mostra lo stato |

104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Importa in Claude Code la configurazione di OpenAI Codex, Google Gemini CLI o Cursor presente sul tuo computer, inclusi file di istruzioni, server MCP, comandi, subagent e skill. In [modalità non interattiva](/docs/it/headless) con `-p`, `/import` elenca ciò che ha trovato e ti fornisce il comando che conferma l'importazione. Aggiungi `--dry-run` per un'anteprima senza scrivere nulla, oppure `--yes` per saltare il selettore interattivo. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform on AWS, né tramite un [gateway Claude apps](/docs/it/claude-apps-gateway#availability-and-limitations). Non è disponibile nemmeno quando disattivi il [recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Richiede Claude Code v2.1.213 o successiva. L'importazione da Cursor richiede la v2.1.265 o successiva |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Importa in Claude Code la configurazione di OpenAI Codex, Google Gemini CLI o Cursor presente sul tuo computer, inclusi file di istruzioni, server MCP, comandi, subagent e skill. In [modalità non interattiva](/docs/it/headless) con `-p`, `/import` elenca ciò che ha trovato e ti fornisce il comando che conferma l'importazione. Aggiungi `--dry-run` per un'anteprima senza scrivere nulla, oppure `--yes` per saltare il selettore interattivo. Non disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform on AWS, né tramite un [gateway Claude apps](/docs/it/claude-apps-gateway#availability-and-limitations). Non è disponibile nemmeno quando disattivi il [recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). L'importazione da Cursor richiede la v2.1.265 o successiva |

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

106| `/insights` | Genera un report HTML che analizza le tue sessioni recenti su questo computer: in quali progetti lavori, come usi Claude Code, dove le cose vanno storte e quali funzionalità provare. Non disponibile nelle [sessioni cloud](/docs/it/claude-code-on-the-web). Consulta [Analizzare i tuoi modelli di utilizzo](/docs/it/costs#analyze-your-usage-patterns) per la posizione del report, la conservazione e il costo |106| `/insights` | Genera un report HTML che analizza le tue sessioni recenti su questo computer: in quali progetti lavori, come usi Claude Code, dove le cose vanno storte e quali funzionalità provare. Non disponibile nelle [sessioni cloud](/docs/it/claude-code-on-the-web). Consulta [Analizzare i tuoi modelli di utilizzo](/docs/it/costs#analyze-your-usage-patterns) per la posizione del report, la conservazione e il costo |

107| `/install-github-app` | Installa la Claude GitHub App per un repository, con un passaggio facoltativo per configurare i workflow e i secret di [GitHub Actions](/docs/it/github-actions). Ti guida nella selezione di un repository e nella configurazione dell'integrazione. Funziona solo con i repository github.com. Quando il remote git del tuo repository si trova su gitlab.com o bitbucket.org, il comando stampa un avviso ed esce invece di avviare la configurazione. Per eseguire Claude Code dalle pipeline GitLab, consulta [GitLab CI/CD](/docs/it/gitlab-ci-cd) |107| `/install-github-app` | Installa la Claude GitHub App per un repository, con un passaggio facoltativo per configurare i workflow e i secret di [GitHub Actions](/docs/it/github-actions). Ti guida nella selezione di un repository e nella configurazione dell'integrazione. Funziona solo con i repository github.com. Quando il remote git del tuo repository si trova su gitlab.com o bitbucket.org, il comando stampa un avviso ed esce invece di avviare la configurazione. Per eseguire Claude Code dalle pipeline GitLab, consulta [GitLab CI/CD](/docs/it/gitlab-ci-cd) |


153| `/statusline` | Configura la [riga di stato](/docs/it/statusline) di Claude Code. Descrivi cosa desideri, oppure eseguilo senza argomenti per la configurazione automatica a partire dal prompt della tua shell |153| `/statusline` | Configura la [riga di stato](/docs/it/statusline) di Claude Code. Descrivi cosa desideri, oppure eseguilo senza argomenti per la configurazione automatica a partire dal prompt della tua shell |

154| `/stickers` | Ordina gli adesivi di Claude Code |154| `/stickers` | Ordina gli adesivi di Claude Code |

155| `/stop` | Arresta la [sessione in background](/docs/it/agent-view) a cui sei collegato, o quella a cui lo invii come [risposta in anteprima](/docs/it/agent-view#peek-and-reply); la trascrizione e l'eventuale worktree vengono conservati. Per scollegarti senza arrestarla, usa `/exit` o premi `←` |155| `/stop` | Arresta la [sessione in background](/docs/it/agent-view) a cui sei collegato, o quella a cui lo invii come [risposta in anteprima](/docs/it/agent-view#peek-and-reply); la trascrizione e l'eventuale worktree vengono conservati. Per scollegarti senza arrestarla, usa `/exit` o premi `←` |

156| `/subtask <task>` | Avvia un [subagent biforcato](/docs/it/sub-agents#fork-the-current-conversation): un subagent in background che eredita l'intera conversazione e lavora sull'attività mentre tu continui a lavorare. Il suo risultato torna in questa conversazione al termine. Per copiare invece la conversazione in una sessione in background separata, usa `/fork`. Richiede Claude Code v2.1.212 o successiva; dalla v2.1.161 alla v2.1.211 questo comando è `/fork`. Quando la [vista agenti è disattivata](/docs/it/agent-view#turn-off-agent-view), `/subtask` non è disponibile e `/fork` mantiene il comportamento del subagent biforcato |156| `/subtask <task>` | Avvia un [subagent biforcato](/docs/it/sub-agents#fork-the-current-conversation): un subagent in background che eredita l'intera conversazione e lavora sull'attività mentre tu continui a lavorare. Il suo risultato torna in questa conversazione al termine. Per copiare invece la conversazione in una sessione in background separata, usa `/fork`. Quando la [vista agenti è disattivata](/docs/it/agent-view#turn-off-agent-view), `/subtask` non è disponibile e `/fork` avvia invece il subagent biforcato |

157| `/tasks` | Visualizza e gestisce il lavoro in background nella sessione corrente, inclusi i subagent che hanno terminato. Disponibile anche come `/bashes` |157| `/tasks` | Visualizza e gestisce il lavoro in background nella sessione corrente, inclusi i subagent che hanno terminato. Disponibile anche come `/bashes` |

158| `/team-onboarding` | Genera una guida di onboarding per il team a partire dalla tua cronologia di utilizzo di Claude Code. Claude analizza le tue sessioni, i comandi e l'utilizzo dei server MCP degli ultimi 30 giorni e produce una guida markdown che un collega può incollare come primo messaggio per configurarsi rapidamente. Per gli abbonati claude.ai ai piani Pro, Max, Team ed Enterprise, restituisce anche un link di condivisione che i colleghi possono aprire direttamente in Claude Code |158| `/team-onboarding` | Genera una guida di onboarding per il team a partire dalla tua cronologia di utilizzo di Claude Code. Claude analizza le tue sessioni, i comandi e l'utilizzo dei server MCP degli ultimi 30 giorni e produce una guida markdown che un collega può incollare come primo messaggio per configurarsi rapidamente. Per gli abbonati claude.ai ai piani Team ed Enterprise, restituisce anche un link di condivisione che i colleghi possono aprire direttamente in Claude Code |

159| `/teleport` | Porta una [sessione cloud](/docs/it/claude-code-on-the-web#from-cloud-to-terminal) in questo terminale. Apre un selettore, poi recupera il branch e la conversazione. Disponibile anche come `/tp`. Richiede un abbonamento claude.ai |159| `/teleport` | Porta una [sessione cloud](/docs/it/claude-code-on-the-web#from-cloud-to-terminal) in questo terminale. Apre un selettore, poi recupera il branch e la conversazione. Disponibile anche come `/tp`. Richiede un abbonamento claude.ai |

160| `/terminal-setup` | [Installa una scorciatoia da tastiera Shift+Enter per andare a capo](/docs/it/terminal-config#enter-multiline-prompts) in VS Code, Cursor, Devin Desktop, Alacritty o Zed. In Apple Terminal, invece, [abilita Option+Enter per andare a capo e disattiva il segnale acustico](/docs/it/terminal-config#enable-option-key-shortcuts-on-macos). In iTerm2, [attiva l'accesso agli appunti affinché `/copy` funzioni](/docs/it/terminal-config#enable-option-key-shortcuts-on-macos) |160| `/terminal-setup` | [Installa una scorciatoia da tastiera Shift+Enter per andare a capo](/docs/it/terminal-config#enter-multiline-prompts) in VS Code, Cursor, Devin Desktop, Alacritty o Zed. In Apple Terminal, invece, [abilita Option+Enter per andare a capo e disattiva il segnale acustico](/docs/it/terminal-config#enable-option-key-shortcuts-on-macos). In iTerm2, [attiva l'accesso agli appunti affinché `/copy` funzioni](/docs/it/terminal-config#enable-option-key-shortcuts-on-macos) |

161| `/theme` | Cambia il tema dei colori. Include un'opzione `auto` che si adatta allo sfondo chiaro o scuro del terminale, varianti chiare e scure, temi accessibili ai daltonici (daltonized), temi ANSI che usano la tavolozza colori del terminale e qualsiasi [tema personalizzato](/docs/it/terminal-config#create-a-custom-theme) da `~/.claude/themes/` o dai plugin. Seleziona **New custom theme…** per crearne uno |161| `/theme` | Cambia il tema dei colori. Include un'opzione `auto` che si adatta allo sfondo chiaro o scuro del terminale, varianti chiare e scure, temi accessibili ai daltonici (daltonized), temi ANSI che usano la tavolozza colori del terminale e qualsiasi [tema personalizzato](/docs/it/terminal-config#create-a-custom-theme) da `~/.claude/themes/` o dai plugin. Seleziona **New custom theme…** per crearne uno |

Details

120Quando il launcher non può essere eseguito, Claude Code rifiuta di avviare il processo invece di avviarlo senza wrapper. Su Windows, [la variabile viene ignorata](#what-the-launcher-covers) e i processi si avviano senza wrapper. Claude Code tiene lo script a queste regole:120Quando il launcher non può essere eseguito, Claude Code rifiuta di avviare il processo invece di avviarlo senza wrapper. Su Windows, [la variabile viene ignorata](#what-the-launcher-covers) e i processi si avviano senza wrapper. Claude Code tiene lo script a queste regole:

121 121 

122* **Terminare con `exec "$@"`.** Un launcher che crea un fork di un figlio e esce lascia un processo Claude Code orfano che il servizio in background non può tracciare. Agent view contrassegna tale sessione come non riuscita con un messaggio che nomina il launcher, e il servizio raccoglie ciò che il launcher ha lasciato indietro.122* **Terminare con `exec "$@"`.** Un launcher che crea un fork di un figlio e esce lascia un processo Claude Code orfano che il servizio in background non può tracciare. Agent view contrassegna tale sessione come non riuscita con un messaggio che nomina il launcher, e il servizio raccoglie ciò che il launcher ha lasciato indietro.

123* **Non riordinare, assorbire o anteporre argomenti.** Il primo argomento è il binario di Claude Code e tutto ciò che segue è il suo argv.123* **Non riordinare, assorbire o aggiungere elementi agli argomenti di Claude Code.** Rimuovi gli [argomenti propri](#pass-arguments-to-the-launcher) del launcher, che vengono per primi, e passa il resto a `exec` così come è arrivato.

124* **Passare ogni variabile di ambiente ereditata attraverso a `exec`.** Aggiungere variabili, come credenziali iniettate, va bene; eliminare quelle ereditate no.124* **Passare ogni variabile di ambiente ereditata attraverso a `exec`.** Aggiungere variabili, come credenziali iniettate, va bene; eliminare quelle ereditate no.

125 * I token di autenticazione per sessione, la selezione del modello e del provider, e `CLAUDE_CODE_PROCESS_WRAPPER` stesso viaggiano tutti sull'ambiente ereditato, quindi un launcher che lo ricostruisce da un elenco di autorizzazione interrompe le sessioni che avvia, e `/status` segnala una mancata corrispondenza del launcher.125 * I token di autenticazione per sessione, la selezione del modello e del provider, e `CLAUDE_CODE_PROCESS_WRAPPER` stesso viaggiano tutti sull'ambiente ereditato, quindi un launcher che lo ricostruisce da un elenco di autorizzazione interrompe le sessioni che avvia, e `/status` segnala una mancata corrispondenza del launcher.

126 * Se il launcher deve entrare in uno spazio dei nomi o in una sandbox che ripristina l'ambiente, ri-esportate l'ambiente ereditato all'interno di esso verbatim.126 * Se il launcher deve entrare in uno spazio dei nomi o in una sandbox che ripristina l'ambiente, ri-esportate l'ambiente ereditato all'interno di esso verbatim.

127* **Raggiungere `exec` entro circa tre secondi ogni volta che il launcher viene eseguito.** Un dispatch in background a freddo esegue il launcher due volte in serie prima del primo byte di output, quindi fate il lavoro lento come uno scambio di single sign-on pigrizia o da una cache.127* **Raggiungere `exec` entro circa tre secondi ogni volta che il launcher viene eseguito.** Una sessione in background può eseguire il launcher tre volte in serie prima del suo primo output. Esegui il lavoro lento, come uno scambio di single sign-on, in modo differito o da una cache, e assegna a ogni passaggio che attende la rete un proprio limite di tempo.

128* **Tollerare di essere invocato da dentro se stesso.** Claude Code applica il launcher a ogni auto-spawn annidato, quindi un launcher che acquisisce una risorsa esclusiva deve rilevare che la detiene già.128* **Tollerare di essere invocato da dentro se stesso.** Claude Code applica il launcher a ogni auto-spawn annidato, quindi un launcher che acquisisce una risorsa esclusiva deve rilevare che la detiene già.

129* **Non scrivere nel terminale prima che Claude Code si avvii.** Qualsiasi cosa stampata prima dell'`exec` viene segnalata come causa del crash se la sessione muore prima dell'inizializzazione.129* **Non scrivere nel terminale o sullo standard output prima che Claude Code si avvii.** Qualsiasi cosa stampata prima dell'`exec` viene segnalata come causa del crash se la sessione muore prima dell'inizializzazione. Il testo sullo standard output raggiunge anche un programma che legge l'output di Claude Code, come uno script che analizza i risultati di `claude -p`.

130* **Non dipendere da come sono scritti gli argomenti.** Il valore di un flag può arrivare come argomento a sé stante, `--flag value`, oppure unito al flag, `--flag=value`. La forma usata da un flag può cambiare tra una versione e l'altra.130* **Non dipendere da come sono scritti gli argomenti.** Il valore di un flag può arrivare come argomento a sé stante, `--flag value`, oppure unito al flag, `--flag=value`. La forma usata da un flag può cambiare tra una versione e l'altra.

131* **Eseguire `exec` dalla directory in cui è stato avviato il launcher.** Claude Code lavora nella directory in cui si avvia, quindi un launcher che cambia directory può avviare una sessione nel progetto sbagliato. Se il launcher deve entrare in uno spazio dei nomi o in una sandbox che ripristina la directory di lavoro, torna alla directory di partenza al suo interno, prima dell'`exec`.131* **Eseguire `exec` dalla directory in cui è stato avviato il launcher.** Claude Code lavora nella directory in cui si avvia, quindi un launcher che cambia directory può avviare una sessione nel progetto sbagliato. Se il launcher deve entrare in uno spazio dei nomi o in una sandbox che ripristina la directory di lavoro, torna alla directory di partenza al suo interno, prima dell'`exec`.

132* **Non leggere lo standard input.** Un comando che lo legge prima dell'`exec`, come uno che chiede una password, può attendere un input che non arriva e lasciare la sessione bloccata. Può anche prendere un input destinato a Claude Code, e la sessione può quindi essere eseguita senza quell'input senza segnalare alcun errore. Reindirizza l'input di un comando di questo tipo da `/dev/null`.

133* **Richiamare gli altri programmi tramite percorso assoluto.** Il launcher può avviarsi con un `PATH` privo delle directory aggiunte dal profilo della tua shell.

132 134 

133<h3 id="format-of-the-launcher-value">135<h3 id="format-of-the-launcher-value">

134 Formato del valore del launcher136 Formato del valore del launcher


138 140 

139Per passare al vostro launcher argomenti propri, scrivete dopo il percorso. Claude Code analizza il valore come un elenco di argomenti, non un comando di shell:141Per passare al vostro launcher argomenti propri, scrivete dopo il percorso. Claude Code analizza il valore come un elenco di argomenti, non un comando di shell:

140 142 

141* Lo spazio bianco separa i token, e le virgolette doppie raggruppano un token che contiene spazi.143* Lo spazio bianco separa i token, e le virgolette doppie raggruppano un token che contiene spazi. Una virgoletta singola è un carattere ordinario, quindi `'a b'` corrisponde a due token.

142* Un valore che inizia con `[` viene letto come un array di stringhe JSON, come `["/opt/corp/launcher", "--profile", "cc"]`.144* Un valore che inizia con `[` viene letto come un array di stringhe JSON, come `["/opt/corp/launcher", "--profile", "cc"]`.

143* La sintassi di shell non funziona: non c'è espansione di variabili o globbing, e un operatore non quotato come `;`, `|`, `&`, o `$(` viene rifiutato come errore di configurazione piuttosto che reinterpretato.145* La sintassi di shell non funziona: non c'è espansione di variabili o globbing, e un operatore non quotato come `;`, `|`, `&`, o `$(` viene rifiutato come errore di configurazione piuttosto che reinterpretato.

144 146 

145Quando il valore non può essere utilizzato, Claude Code rifiuta di avviare il processo interessato e [segnala il motivo](/docs/it/errors#claude_code_process_wrapper-launcher-errors).147Quando il valore non può essere utilizzato, Claude Code rifiuta di avviare il processo interessato e [segnala il motivo](/docs/it/errors#claude_code_process_wrapper-launcher-errors).

146 148 

149In un file di impostazioni, scrivi la forma array all'interno di una stringa JSON ed esegui l'escape delle sue virgolette: `"[\"/opt/corp/launcher\", \"--profile\", \"cc\"]"`.

150 

151<h3 id="pass-arguments-to-the-launcher">

152 Passare argomenti al launcher

153</h3>

154 

155Scrivi gli argomenti propri del launcher dopo il suo percorso nel [valore](#format-of-the-launcher-value) e rimuovili nello script prima della chiamata a `exec`. Raggiungono lo script per primi, prima del comando di Claude Code. Lo script seguente, scritto per il valore `/opt/corp/launcher --profile cc`, salva il nome del profilo e poi rimuove entrambi gli argomenti con `shift`:

156 

157```bash theme={null}

158#!/bin/sh

159if [ "$1" = "--profile" ]; then

160 profile="$2"

161 shift 2

162fi

163# Your organization's setup for "$profile".

164exec "$@"

165```

166 

167Usa il [passaggio di verifica](#set-up-the-launcher) per vedere il comando di avvio che Claude Code ha ricavato dal valore.

168 

147<h2 id="relationship-to-claude_code_shell_prefix">169<h2 id="relationship-to-claude_code_shell_prefix">

148 Relazione con `CLAUDE_CODE_SHELL_PREFIX`170 Relazione con `CLAUDE_CODE_SHELL_PREFIX`

149</h2>171</h2>

desktop.md +333 −71

Details

44 Avvia una sessione44 Avvia una sessione

45</h2>45</h2>

46 46 

47Prima di inviare il tuo primo messaggio, configura quattro cose nell'area del prompt:47Prima di inviare il tuo primo messaggio, scegli l'ambiente, la cartella del progetto, la modalità di permesso e il modello nella riga sotto la casella del prompt:

48 48 

49* **Ambiente**: scegli dove Claude viene eseguito. Seleziona **Local** per la tua macchina, **Cloud** per una [sessione cloud](#cloud-sessions) che continua dopo aver chiuso l'app, una [**connessione SSH**](#ssh-sessions) per una macchina remota che gestisci, o su Windows una [**distribuzione WSL**](/docs/it/desktop-wsl). Un'attività in una sessione SSH può [continuare mentre Desktop è disconnesso](#keep-a-task-running-while-desktop-is-disconnected), ma con un account Claude può interrompersi quando il suo accesso scade. Vedi [configurazione dell'ambiente](#environment-configuration).49* **Ambiente**: usa il selettore dell'ambiente, il primo controllo della riga, per scegliere dove Claude viene eseguito. Vedi [configurazione dell'ambiente](#environment-configuration).

50* **Cartella del progetto**: seleziona la cartella o il repository su cui Claude lavora. Per le sessioni cloud, puoi aggiungere [più repository](#run-long-running-tasks-in-the-cloud).50 * Se una nuova sessione non ha il selettore dell'ambiente sotto la casella del prompt, segui i [passaggi del layout precedente](#check-which-layout-you-have).

51* **Modello**: scegli un [modello](/docs/it/model-config#available-models) dal menu a discesa accanto al pulsante di invio. Puoi cambiare questo durante la sessione.51* **Cartella del progetto**: fai clic sul controllo della cartella del progetto, accanto al selettore dell'ambiente, per scegliere la cartella su cui Claude lavora.

52* **Modalità di autorizzazione**: scegli quanta autonomia ha Claude dal [selettore di modalità](#choose-a-permission-mode). Puoi cambiare questo durante la sessione.52 * **Sessione cloud**: seleziona dei [repository](#run-long-running-tasks-in-the-cloud) invece di una cartella

53 * **[Ambiente locale o SSH salvato](#create-a-saved-environment)**: l'ambiente contiene già le sue cartelle, quindi la riga non mostra alcun controllo della cartella del progetto. Per cambiare le cartelle, [modifica l'ambiente](#use-edit-or-remove-a-saved-environment).

54* **Modalità di permesso**: usa il [selettore di modalità](#choose-a-permission-mode) per scegliere quanta autonomia ha Claude. Puoi cambiare la modalità di permesso durante la sessione.

55* **Modello**: scegli un [modello](/docs/it/model-config#available-models) dal selettore del modello verso l'estremità destra della riga. Puoi cambiare il modello durante la sessione.

53 56 

54Digita il tuo compito e premi **Invio** per iniziare. Ogni sessione traccia il suo proprio contesto e le modifiche in modo indipendente.57Digita il tuo compito e premi **Invio** per iniziare. Ogni sessione traccia il suo proprio contesto e le modifiche in modo indipendente.

55 58 


65 68 

66Digita quello che vuoi che Claude faccia e premi **Invio** per inviare. Claude legge i file del tuo progetto, apporta modifiche ed esegue comandi in base alla tua [modalità di permesso](#choose-a-permission-mode). Puoi interrompere Claude in qualsiasi momento: fai clic sul pulsante di arresto per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza interrompere l'azione in corso. Claude legge la correzione non appena l'azione corrente si completa e si adatta prima del suo passo successivo.69Digita quello che vuoi che Claude faccia e premi **Invio** per inviare. Claude legge i file del tuo progetto, apporta modifiche ed esegue comandi in base alla tua [modalità di permesso](#choose-a-permission-mode). Puoi interrompere Claude in qualsiasi momento: fai clic sul pulsante di arresto per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza interrompere l'azione in corso. Claude legge la correzione non appena l'azione corrente si completa e si adatta prima del suo passo successivo.

67 70 

68Il pulsante **+** accanto alla casella del prompt ti dà accesso agli allegati di file, [skill](#use-skills), [connettori](#connect-external-tools) e [plugin](#install-plugins).71Fai clic sul pulsante **+** accanto alla casella del prompt per allegati di file, [skill](#use-skills), [connettori](#connect-external-tools) e [plugin](#install-plugins).

69 72 

70<h3 id="accept-a-suggested-prompt">73<h3 id="accept-a-suggested-prompt">

71 Accetta un prompt suggerito74 Accetta un prompt suggerito


82 Aggiungi file e contesto ai prompt85 Aggiungi file e contesto ai prompt

83</h3>86</h3>

84 87 

85La casella del prompt supporta due modi per portare contesto esterno:88Per dare un file a Claude, menzionalo con @ o allegalo nella casella del prompt:

86 89 

87* **@mention file**: digita `@` seguito da un nome di file per aggiungere un file al contesto della conversazione. Claude può quindi leggere e fare riferimento a quel file. @mention non è disponibile nelle sessioni cloud o WSL.90* **@mention file**: digita `@` seguito da un nome di file per aggiungere un file al contesto della conversazione.

88* **Allega file**: allega immagini, PDF e altri file al tuo prompt usando il pulsante di allegato, o trascina e rilascia i file direttamente nel prompt. Questo è utile per condividere screenshot di bug, mockup di design o documenti di riferimento.91 * **In una sessione cloud**: `@` può elencare i file solo dopo che hai inviato il tuo primo messaggio. Se `@` non ne elenca nessuno, invia il tuo primo messaggio senza il file, poi menziona il file con @ nel messaggio successivo.

92* **Allega file**: allega immagini, PDF e altri file al tuo prompt dal pulsante **+** accanto alla casella del prompt, o trascina e rilascia i file direttamente nel prompt. Questo è utile per condividere screenshot di bug, mockup di design o documenti di riferimento.

93 * **In una [sessione WSL](/docs/it/desktop-wsl)**: se il menu **+** mostra **Add image** invece di **Add files or photos**, puoi allegare solo immagini. Per dare a Claude qualsiasi altro file dalla cartella della sessione, menzionalo con @.

89 94 

90<h3 id="choose-a-permission-mode">95<h3 id="choose-a-permission-mode">

91 Scegli una modalità di permesso96 Scegli una modalità di permesso

92</h3>97</h3>

93 98 

94Le modalità di permesso controllano quanta autonomia ha Claude durante una sessione: se chiede prima di modificare file, eseguire comandi o entrambi. Puoi cambiare modalità di permesso in qualsiasi momento usando il selettore di modalità accanto al pulsante di invio. Per approvare ogni modifica tu stesso, passa a Manual.99Le modalità di permesso controllano quanta autonomia ha Claude durante una sessione: se chiede prima di modificare file, eseguire comandi o entrambi. Puoi cambiare modalità di permesso in qualsiasi momento usando il selettore di modalità nella riga sotto la casella del prompt. Per approvare ogni modifica tu stesso, passa a Manual.

95 100 

96Per impostare una modalità predefinita per le nuove sessioni locali, aggiungi `permissions.defaultMode` al tuo [file di impostazioni](/docs/it/settings#where-settings-live). L'app desktop legge gli stessi file di impostazioni della CLI. Una modalità che scegli nel selettore viene ricordata per cartella e ha la precedenza su `defaultMode` per quella cartella, tranne Plan, che si applica solo alla sessione corrente.101Per impostare una modalità predefinita per le nuove sessioni locali, aggiungi `permissions.defaultMode` al tuo [file di impostazioni](/docs/it/settings#where-settings-live). L'app desktop legge gli stessi file di impostazioni della CLI. Una modalità che scegli nel selettore viene ricordata per cartella e ha la precedenza su `defaultMode` per quella cartella, tranne Plan, che si applica solo alla sessione corrente.

97 102 


129 134 

130Claude può avviare un server di sviluppo e aprirlo nel riquadro Browser per verificare le sue modifiche. Questo funziona per app web frontend così come per server backend: Claude può testare endpoint API, visualizzare log del server e iterare su problemi che trova. Nella maggior parte dei casi, Claude avvia il server automaticamente dopo aver modificato i file del progetto. Puoi anche chiedere a Claude di visualizzare un'anteprima in qualsiasi momento. Per impostazione predefinita, Claude [verifica automaticamente](#auto-verify-changes) le modifiche dopo ogni modifica.135Claude può avviare un server di sviluppo e aprirlo nel riquadro Browser per verificare le sue modifiche. Questo funziona per app web frontend così come per server backend: Claude può testare endpoint API, visualizzare log del server e iterare su problemi che trova. Nella maggior parte dei casi, Claude avvia il server automaticamente dopo aver modificato i file del progetto. Puoi anche chiedere a Claude di visualizzare un'anteprima in qualsiasi momento. Per impostazione predefinita, Claude [verifica automaticamente](#auto-verify-changes) le modifiche dopo ogni modifica.

131 136 

132Il riquadro Browser può anche aprire file HTML statici, PDF, immagini e video dal tuo progetto. Fai clic su un percorso HTML, PDF, immagine o video nella chat per aprirlo lì.137In una sessione locale, fai clic su un percorso HTML, PDF o video nella chat per aprirlo nel riquadro Browser.

133 138 

134<Note>139<Note>

135 In una [sessione SSH](#ssh-sessions), Claude non può aprire la tua app nel riquadro Browser, perché lì non ha a disposizione gli strumenti del riquadro. Per vedere l'app tu stesso, [inoltra la sua porta al tuo computer](#reach-a-port-on-the-remote-machine).140 In una [sessione SSH](#ssh-sessions), Claude non può aprire la tua app nel riquadro Browser, perché lì non ha a disposizione gli strumenti del riquadro. Per vedere l'app tu stesso, [inoltra la sua porta al tuo computer](#reach-a-port-on-the-remote-machine).

136</Note>141</Note>

137 142 

143Se il riquadro Browser non è aperto dopo che Claude avvia un server in una sessione locale, fai clic su **Open** nella scheda del server nella chat.

144 

138Dal riquadro Browser, puoi:145Dal riquadro Browser, puoi:

139 146 

140* Interagire con la tua app in esecuzione direttamente nel riquadro Browser147* Interagire con la tua app in esecuzione direttamente nel riquadro Browser


185 Rivedi le modifiche con la visualizzazione diff192 Rivedi le modifiche con la visualizzazione diff

186</h3>193</h3>

187 194 

188Dopo che Claude apporta modifiche al tuo codice, la visualizzazione diff ti consente di rivedere le modifiche file per file prima di creare una pull request.195Dopo che Claude apporta modifiche al tuo codice, la visualizzazione diff ti consente di rivedere le modifiche file per file prima di creare una pull request. Per aprire la visualizzazione diff, fai clic sui conteggi delle righe, come `+12 -1`, nella scheda **Changes** del [pannello dei dettagli della sessione](#see-session-details). Puoi anche fare clic su **Changes** nella barra del titolo della sessione.

189 

190Quando Claude modifica i file, appare un indicatore di statistiche diff che mostra il numero di righe aggiunte e rimosse, come `+12 -1`. Fai clic su questo indicatore per aprire il visualizzatore diff, che visualizza un elenco di file a sinistra e le modifiche per ogni file a destra.

191 196 

192Per commentare righe specifiche, fai clic su qualsiasi riga nel diff per aprire una casella di commento. Digita il tuo feedback e premi **Invio** per aggiungere il commento. Dopo aver aggiunto commenti a più righe, invia tutti i commenti contemporaneamente:197Per commentare righe specifiche, fai clic su qualsiasi riga nel diff per aprire una casella di commento. Digita il tuo feedback e premi **Invio** per aggiungere il commento. Dopo aver aggiunto commenti a più righe, invia tutti i commenti contemporaneamente:

193 198 


213 Monitora lo stato della pull request218 Monitora lo stato della pull request

214</h3>219</h3>

215 220 

216Dopo aver aperto una pull request, una barra di stato CI appare nella sessione. Claude Code utilizza GitHub CLI per eseguire il polling dei risultati dei controlli e visualizzare i guasti.221Per far correggere a Claude i controlli non riusciti, o per far eseguire a GitHub il merge della pull request, attiva **Auto-fix** o **Merge when ready**. Dopo aver aperto una pull request, questa appare nella scheda **Changes** del [pannello dei dettagli della sessione](#see-session-details) con lo stato dei suoi controlli CI. Apri il menu **⋮** accanto al suo titolo:

217 222 

218* **Auto-fix CI & address comments**: quando abilitato, Claude tenta automaticamente di correggere i controlli CI non riusciti leggendo l'output del fallimento e iterando. In una sessione locale, Claude gestisce anche i nuovi commenti di revisione lasciati da qualcuno diverso da te, quando l'autore è il proprietario del repository, un membro dell'organizzazione, un collaboratore o una GitHub App.223* **Auto-fix**: in una sessione locale, Claude gestisce anche i nuovi commenti di revisione lasciati da qualcuno diverso da te. L'autore del commento deve essere il proprietario del repository, un membro dell'organizzazione, un collaboratore o una GitHub App.

219* **Auto-merge when ready**: quando abilitato, Claude esegue il merge della PR una volta che tutti i controlli passano. Il metodo di merge è squash. Abilita prima l'auto-merge nelle [impostazioni del tuo repository GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository); senza di esso, Claude non può eseguire il merge della PR.224* **Merge when ready**: attiva l'auto-merge di GitHub per la PR. In una sessione locale, Desktop richiede uno squash merge a meno che il branch di base non utilizzi una merge queue.

225 * **Nelle sessioni SSH e WSL**: **Merge when ready** è disabilitato, quindi attiva l'auto-merge per la pull request su GitHub

226 * **Se il repository non consente l'auto-merge**: **Merge when ready** non si attiva, quindi abilita prima l'auto-merge nelle [impostazioni del tuo repository GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)

227* **[Layout precedente](#check-which-layout-you-have)**: una volta che la sessione ha una pull request, fai clic su **CI** nella sua barra di stato.

220 228 

221Per attivarli, fai clic su **CI** nella barra di stato. Per archiviare la sessione automaticamente una volta che la PR viene sottoposta a merge o chiusa, attiva [auto-archive](#work-in-parallel-with-sessions) in **Impostazioni > Claude Code**.229Per archiviare la sessione automaticamente una volta che la PR viene sottoposta a merge o chiusa, attiva [auto-archive](#archive-a-session) in **Impostazioni > Claude Code**.

222 230 

223<Note>231<Note>

224 Il monitoraggio delle PR richiede che [GitHub CLI (`gh`)](https://cli.github.com/) sia installato e autenticato sulla tua macchina. Se `gh` non è installato, Desktop ti chiede di installarlo la prima volta che tenti di creare una PR.232 Il monitoraggio delle PR richiede che [GitHub CLI (`gh`)](https://cli.github.com/) sia installato e autenticato sulla tua macchina. Se `gh` non è installato, Desktop ti chiede di installarlo la prima volta che tenti di creare una PR.


235Per lavorare su più schermi, estrai un pannello come il diff o il terminale in una finestra propria e riancoralo quando hai finito. Claude continua a lavorare nella finestra principale.243Per lavorare su più schermi, estrai un pannello come il diff o il terminale in una finestra propria e riancoralo quando hai finito. Claude continua a lavorare nella finestra principale.

236 244 

237<Note>245<Note>

238 Il layout del pannello, il terminale, l'editor di file e le modalità di visualizzazione in questa sezione richiedono Claude Desktop v1.2581.0 o successivo. Apri **Claude → Check for Updates** su macOS o **Help → Check for Updates** su Windows per aggiornare.246 Il layout del pannello, il terminale, l'editor di file e le modalità di visualizzazione in questa sezione richiedono Claude Desktop v1.2581.0 o successivo. Apri **Claude > Check for Updates…** su macOS o **Help > Check for Updates…** su Windows per aggiornare.

239</Note>247</Note>

240 248 

249<h3 id="see-session-details">

250 Visualizza i dettagli della sessione

251</h3>

252 

253Il pannello dei dettagli della sessione è un insieme di schede accanto alla chat che mostrano dove viene eseguita la sessione, cosa ha modificato e cosa sta eseguendo. Il pannello appare dopo che avvii una sessione, purché la chat sia abbastanza larga da contenerlo.

254 

255<h4 id="hide-or-show-the-session-details-panel">

256 Nascondi o mostra il pannello dei dettagli della sessione

257</h4>

258 

259Per nascondere o mostrare il pannello, fai clic su **Hide session rail** o **Show session rail** nella barra del titolo della sessione, oppure nel menu **⋮** della barra quando la finestra è stretta. Se ancora non vedi il pannello, [verifica quale layout della scheda Code hai](#check-which-layout-you-have).

260 

241<h3 id="run-commands-in-the-terminal">261<h3 id="run-commands-in-the-terminal">

242 Esegui comandi nel terminale262 Esegui comandi nel terminale

243</h3>263</h3>

244 264 

245Il terminale integrato ti consente di eseguire comandi insieme alla tua sessione senza passare a un'altra app. Fai clic su **Terminal** nella barra del titolo della sessione o premi **Ctrl+\`** su macOS o Windows. Il terminale si apre nella directory di lavoro della tua sessione e condivide lo stesso ambiente di Claude, quindi comandi come `npm test` o `git status` vedono gli stessi file che Claude sta modificando. Per aprire una seconda scheda del terminale, fai clic su **+** nell'header del pannello del terminale o fai clic con il pulsante destro su una cartella nella chat per scegliere **Open in terminal**.265Il terminale integrato ti consente di eseguire comandi insieme alla tua sessione senza passare a un'altra app. Fai clic su **Terminal** nella barra del titolo della sessione o premi **Ctrl+\`** su macOS o Windows. Il terminale si apre nella directory di lavoro della tua sessione e condivide lo stesso ambiente di Claude, quindi comandi come `npm test` o `git status` vedono gli stessi file che Claude sta modificando. Per aprire una seconda scheda del terminale, fai clic su **+** nell'header del pannello del terminale o fai clic con il pulsante destro su una cartella nella chat per scegliere **Open in terminal**.

246 266 

247Il terminale è disponibile nelle sessioni locali e [SSH](#ssh-sessions), con una limitazione sulle [macchine remote Windows](#windows-remote-machines).267Se una sessione WSL non ha un terminale, consulta [Se il terminale o i connettori non sono disponibili](/docs/it/desktop-wsl#check-for-the-terminal-and-connectors). Il terminale è disponibile nelle sessioni locali e [SSH](#ssh-sessions), con una limitazione sulle [macchine remote Windows](#windows-remote-machines).

248 268 

249<h3 id="open-and-edit-files">269<h3 id="open-and-edit-files">

250 Apri e modifica file270 Apri e modifica file

251</h3>271</h3>

252 272 

253Fai clic su un percorso di file nella chat o nel visualizzatore diff per aprirlo nel pannello file. I percorsi HTML, PDF, immagine e video si aprono nel [pannello Browser](#preview-your-app) invece. Fai modifiche spot e fai clic su **Save** per scriverle di nuovo. Se il file è cambiato su disco da quando l'hai aperto, il pannello ti avverte e ti consente di sovrascrivere o scartare. Fai clic su **Discard** per ripristinare le tue modifiche, o fai clic sul percorso nell'header del pannello per copiare il percorso assoluto.273Per aprire un file menzionato da Claude, fai clic sul suo percorso nella chat.

254 274 

255Il pannello file è disponibile nelle sessioni locali e SSH. Per le sessioni cloud, chiedi a Claude di apportare la modifica.275Per modificare tu stesso un file, usa il [pannello file](#arrange-your-workspace):

276 

277* **Sessioni locali**: puoi modificare i file all'interno della directory di lavoro della sessione, tranne alcuni di sola visualizzazione come `.mcp.json` e `.claude/settings.json`. Per modificarne uno, [aprilo in un'altra app](#open-files-in-other-apps).

278* **Sessioni cloud, SSH e WSL**: il pannello file è di sola visualizzazione, quindi chiedi a Claude di apportare le modifiche.

279 

280<h4 id="save-edits-in-the-file-pane">

281 Salva le modifiche nel pannello file

282</h4>

283 

284Per impostazione predefinita, le modifiche nel pannello file vengono salvate automaticamente, quindi il pannello non mostra alcun pulsante **Save**. Per salvare tu stesso le modifiche, deseleziona **Auto save** nel menu **⋮** del pannello. Con **Auto save** disattivato, fai clic su **Save** dopo aver modificato un file per scrivere le modifiche, o su **Cancel** per annullarle.

285 

286Se il pannello avverte che il file è cambiato su disco, fai clic su **Override** per sovrascrivere la versione su disco con le tue modifiche, o su **Discard** per scartare le tue modifiche.

256 287 

257<h3 id="open-files-in-other-apps">288<h3 id="open-files-in-other-apps">

258 Apri file in altre app289 Apri file in altre app


283 Scorciatoie da tastiera314 Scorciatoie da tastiera

284</h3>315</h3>

285 316 

286Premi **Cmd+/** su macOS o **Ctrl+/** su Windows per vedere tutte le scorciatoie disponibili nella scheda Code. Su Windows, usa **Ctrl** al posto di **Cmd** per le scorciatoie di seguito. Il ciclo della sessione, l'interruttore del terminale e l'interruttore della modalità di visualizzazione usano **Ctrl** su ogni piattaforma.317Premi **Cmd+/** su macOS o **Ctrl+/** su Windows per vedere tutte le scorciatoie disponibili nella scheda Code. La tabella in questa sezione mostra i tasti di macOS. Su Windows e Linux, sostituisci questi tasti:

318 

319* **Cmd+Option**: premi **Alt**

320* **Cmd**: premi **Ctrl**

321 

322Il ciclo della sessione, l'interruttore del terminale e l'interruttore della modalità di visualizzazione usano **Ctrl** su ogni piattaforma.

287 323 

288| Scorciatoia | Azione |324| Scorciatoia | Azione |

289| - | - |325| - | - |

290| `Cmd` `/` | Mostra scorciatoie da tastiera |326| `Cmd` `/` | Mostra scorciatoie da tastiera |

291| `Cmd` `N` | Nuova sessione |327| `Cmd` `N` | Nuova sessione |

328| `Cmd` `Option` `1`–`9` | Nella schermata di nuova sessione del [layout attuale](#check-which-layout-you-have), seleziona un ambiente |

329| `Cmd` `Option` `0` | Nella schermata di nuova sessione del layout attuale, apri la [finestra di dialogo **New environment**](#create-a-saved-environment) |

292| `Cmd` `W` | Chiudi sessione |330| `Cmd` `W` | Chiudi sessione |

293| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Sessione successiva o precedente |331| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Sessione successiva o precedente |

294| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Sessione successiva o precedente |332| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Sessione successiva o precedente |


404 Lavora in parallelo con le sessioni442 Lavora in parallelo con le sessioni

405</h3>443</h3>

406 444 

407Fai 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).445Fai clic su **+ New** 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.

408 446 

409Per 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.447Per 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.

410 448 

411I worktree sono archiviati in `<project-root>/.claude/worktrees/` per impostazione predefinita. Puoi cambiare questo percorso in una directory personalizzata:449<h4 id="run-a-session-in-its-own-worktree">

450 Esegui una sessione nel suo worktree

451</h4>

452 

453In un progetto che è un repository Git, attiva **Worktree** prima di avviare una sessione per eseguirla nel suo [worktree Git](/docs/it/worktrees), una copia isolata del progetto. Per impostazione predefinita, **Worktree** è disattivato e Claude lavora direttamente nella cartella del progetto. Fai clic sul controllo della cartella del progetto nella [riga sotto la casella del prompt](#start-a-session) e attiva **Worktree**.

454 

455* **Con un [ambiente salvato](#create-a-saved-environment)**: imposta **Worktree** quando crei o modifichi l'ambiente

456* **[Layout precedente](#check-which-layout-you-have)**: seleziona la casella di controllo **worktree** accanto al nome del branch, sopra la casella del prompt

457 

458I worktree sono archiviati in `<project-root>/.claude/worktrees/` per impostazione predefinita. Per archiviarli invece in una directory personalizzata:

412 459 

413* **Sessioni locali**: imposta **Worktree location** in **Settings > Claude Code**460* **Sessioni locali**: imposta **Worktree location** in **Settings > Claude Code**

414* **Sessioni SSH**: imposta **Worktree folder** sulla [connessione SSH](#choose-where-ssh-session-worktrees-go)461* **Sessioni SSH**: imposta **Worktree folder** sulla [connessione SSH](#choose-where-ssh-session-worktrees-go)

415 462 

416Puoi anche impostare un **Branch prefix** in **Settings > Claude Code**. Desktop lo antepone a ogni nome di branch worktree, il che è utile per mantenere organizzati i branch creati da Claude.463Puoi anche impostare un **Branch prefix** in **Settings > Claude Code**. Desktop lo antepone a ogni nome di branch worktree, il che è utile per mantenere organizzati i branch creati da Claude.

417 464 

418Per rimuovere un worktree quando hai finito, passa il mouse sulla sessione nella barra laterale e fai clic sull'icona di archivio. Per avere sessioni che si archiviano automaticamente quando viene eseguito il merge della loro pull request o quando questa viene chiusa, attiva **Auto-archive after PR merge or close** in **Settings > Claude Code**. Auto-archive si applica solo alle sessioni locali che hanno finito di funzionare.

419 

420Per includere file gitignored come `.env` nei nuovi worktree, crea un [file `.worktreeinclude`](/docs/it/worktrees#copy-gitignored-files-into-worktrees) nella radice del tuo progetto. Vedi [Cosa condividono i worktree con il checkout principale](/docs/it/worktrees#what-worktrees-share-with-the-main-checkout) per sapere da dove una sessione worktree legge le impostazioni di progetto, gli hook e le skill.465Per includere file gitignored come `.env` nei nuovi worktree, crea un [file `.worktreeinclude`](/docs/it/worktrees#copy-gitignored-files-into-worktrees) nella radice del tuo progetto. Vedi [Cosa condividono i worktree con il checkout principale](/docs/it/worktrees#what-worktrees-share-with-the-main-checkout) per sapere da dove una sessione worktree legge le impostazioni di progetto, gli hook e le skill.

421 466 

422<Note>467<Note>

423 L'isolamento della sessione richiede [Git](https://git-scm.com/downloads). La maggior parte dei Mac include Git per impostazione predefinita. Esegui `git --version` in Terminal per verificare; se stampa un numero di versione, Git è installato. Se riscontri errori Git, chiedi a Claude nella scheda [Cowork](https://claude.com/product/cowork) di aiutarti a risolvere i problemi della tua configurazione.468 L'isolamento della sessione richiede [Git](https://git-scm.com/downloads). La maggior parte dei Mac include Git per impostazione predefinita. Esegui `git --version` in Terminal per verificare; se stampa un numero di versione, Git è installato. Se riscontri errori Git, chiedi a Claude nella scheda [Cowork](https://claude.com/product/cowork) di aiutarti a risolvere i problemi della tua configurazione.

424</Note>469</Note>

425 470 

426Usa i controlli in cima alla barra laterale per filtrare le sessioni per stato, progetto o ambiente, e per raggruppare le sessioni per progetto. Per rinominare una sessione, fai clic sul titolo della sessione nella barra degli strumenti in cima alla sessione attiva.471<h3 id="add-folders-to-a-session">

472 Aggiungi cartelle a una sessione

473</h3>

474 

475Aggiungi le cartelle prima che la sessione si avvii o mentre è in esecuzione:

476 

477* **Prima che si avvii una sessione locale**: aggiungi le cartelle in **Folders** quando [crei un ambiente salvato](#create-a-saved-environment) o ne modifichi uno, quindi [avvia la sessione da quell'ambiente salvato](#use-edit-or-remove-a-saved-environment).

478* **Mentre è in esecuzione una sessione locale o [SSH](#ssh-sessions)**: fai clic su **+** accanto alla casella del prompt e seleziona **Add folder**. Claude lavora direttamente in quella cartella, senza alcun [worktree](#run-a-session-in-its-own-worktree).

479 

480<h3 id="archive-a-session">

481 Archivia una sessione

482</h3>

483 

484Prima di archiviare una sessione il cui worktree contiene modifiche senza commit, consulta [Conserva le modifiche senza commit quando una sessione viene archiviata](#keep-uncommitted-changes-when-a-session-is-archived). Per archiviare una sessione, passa il mouse sopra di essa nella barra laterale, apri il suo menu e seleziona **Archive**. La sessione viene spostata nelle tue [sessioni archiviate](#organize-and-find-sessions).

485 

486Per fare in modo che le sessioni si archivino da sole quando viene eseguito il merge della loro pull request o quando questa viene chiusa, attiva **Auto-archive after PR merge or close** in **Settings > Claude Code**. Le sessioni cloud e le sessioni ancora in esecuzione non si archiviano da sole.

487 

488<h4 id="keep-uncommitted-changes-when-a-session-is-archived">

489 Conserva le modifiche senza commit quando una sessione viene archiviata

490</h4>

491 

492Puoi perdere le modifiche senza commit nel worktree di una sessione quando la sessione viene archiviata, quindi prima esegui il commit di ciò che vuoi conservare:

493 

494* **Se Desktop ti chiede delle modifiche**: seleziona **Archive anyway** per scartarle, oppure annulla ed esegui il loro commit

495* **Se le uniche modifiche sono file non tracciati**: esegui il commit di quelli che vuoi conservare prima che venga eseguito il merge di una pull request aperta da Claude nella sessione, perché a quel punto Desktop può eliminarli senza chiedere

496* **In qualsiasi altro caso**: il worktree resta su disco con le sue modifiche. Per una sessione locale, Desktop li rimuove entrambi circa 30 giorni dopo l'archiviazione della sessione o dopo l'ultima volta che la apri, a seconda di quale data sia successiva. Per conservare le modifiche, apri la sessione dalla [scheda **Archived**](#organize-and-find-sessions) e seleziona **Unarchive**

497 

498<h3 id="organize-and-find-sessions">

499 Organizza e trova le sessioni

500</h3>

501 

502Raggruppi, ordini e trovi le sessioni da un'icona nell'elenco delle sessioni della barra laterale:

503 

504* **Layout attuale**: passa il mouse su un'intestazione nell'elenco delle sessioni per mostrare l'icona **Group and sort**, quindi fai clic su di essa. Per trovare le sessioni archiviate, seleziona **View all**, l'ultima riga del menu, quindi apri la scheda **Archived**.

505* **[Layout precedente](#check-which-layout-you-have)**: l'icona **Filter** è visibile senza passare il mouse. Fai clic su di essa per organizzare l'elenco con **Group by** o **Sort by**. Per mostrare le sessioni archiviate, seleziona **Status**, quindi **Archived**.

506 

507Per rinominare una sessione, aprila e fai clic sul titolo della sessione nella barra del titolo.

508 

509<h3 id="check-and-free-up-context">

510 Controlla e libera il contesto

511</h3>

427 512 

428Per controllare l'utilizzo del contesto, vedi [Controlla l'utilizzo](#check-usage). Quando il contesto si riempie, Claude riassume automaticamente la conversazione e continua a lavorare. Puoi anche digitare `/compact` per attivare la compattazione prima e liberare spazio di contesto. Vedi [la finestra di contesto](/docs/it/how-claude-code-works#the-context-window) per i dettagli su come funziona la compattazione.513Per controllare l'utilizzo del contesto, vedi [Controlla l'utilizzo](#check-usage). Quando il contesto si riempie, Claude riassume automaticamente la conversazione e continua a lavorare. Puoi anche digitare `/compact` per attivare la compattazione prima e liberare spazio di contesto. Vedi [la finestra di contesto](/docs/it/how-claude-code-works#the-context-window) per i dettagli su come funziona la compattazione.

429 514 

515<h3 id="get-notified-when-a-session-finishes">

516 Ricevi una notifica quando una sessione termina

517</h3>

518 

430L'app desktop invia una notifica del sistema operativo quando una sessione Code termina un'attività e non stai visualizzando quella sessione. Per le sessioni che appartengono a un [progetto](/docs/it/claude-projects#see-what-needs-you-in-overview), ricevi invece le notifiche del progetto.519L'app desktop invia una notifica del sistema operativo quando una sessione Code termina un'attività e non stai visualizzando quella sessione. Per le sessioni che appartengono a un [progetto](/docs/it/claude-projects#see-what-needs-you-in-overview), ricevi invece le notifiche del progetto.

431 520 

432<h3 id="ask-a-side-question-without-derailing-the-session">521<h3 id="ask-a-side-question-without-derailing-the-session">


451 Lavora tra le sessioni540 Lavora tra le sessioni

452</h3>541</h3>

453 542 

454Claude può elencare le tue altre sessioni della scheda Code, leggere cosa ognuna ha fatto, e inviare messaggi tra di loro. Chiedi in linguaggio naturale: "quale sessione ha toccato il refactor dell'autenticazione?", "cosa ha concluso la sessione API?", o "dì alla sessione dei pagamenti che lo schema è cambiato". Puoi anche chiedere a Claude di rinominare o archiviare una sessione. Claude archivia una sessione nello stesso modo in cui lo fa l'icona di archivio della barra laterale, quindi chiedigli di pulire le sessioni delle cui PR è stato eseguito il merge.543Claude può elencare le tue altre sessioni della scheda Code, leggere cosa ognuna ha fatto, e inviare messaggi tra di loro. Chiedi in linguaggio naturale: "quale sessione ha toccato il refactor dell'autenticazione?", "cosa ha concluso la sessione API?", o "dì alla sessione dei pagamenti che lo schema è cambiato".

544 

545Puoi anche chiedere a Claude di rinominare o archiviare una sessione. Ad esempio, chiedigli di archiviare le sessioni delle cui PR è stato eseguito il merge.

455 546 

456Attraverso questa superficie, Claude vede solo le sessioni che l'app desktop esegue da sola: locale, [SSH](#ssh-sessions), e sessioni [WSL](/docs/it/desktop-wsl) nella scheda Code. Claude non vede le sessioni cloud, o le sessioni che hai avviato dal CLI del terminale o dall'estensione VS Code, anche nei worktree dello stesso progetto, quindi con nove worktree del terminale aperti e due sessioni desktop, Claude che risponde in una di esse segnala l'altra sessione desktop. Claude non elenca mai la sessione da cui stai chiedendo. Per impostazione predefinita vede le 20 sessioni più recentemente attive e salta le sessioni archiviate a meno che non le chiedi. [La messaggistica tra sessioni](/docs/it/cross-session-messaging) consente separatamente a Claude di inviare messaggi alle [tue altre sessioni Claude Code](/docs/it/cross-session-messaging#see-which-sessions-claude-can-reach), incluse le sessioni del terminale.547Attraverso questa superficie, Claude vede solo le sessioni che l'app desktop esegue da sola: locale, [SSH](#ssh-sessions), e sessioni [WSL](/docs/it/desktop-wsl) nella scheda Code. Claude non vede le sessioni cloud, o le sessioni che hai avviato dal CLI del terminale o dall'estensione VS Code, anche nei worktree dello stesso progetto, quindi con nove worktree del terminale aperti e due sessioni desktop, Claude che risponde in una di esse segnala l'altra sessione desktop. Claude non elenca mai la sessione da cui stai chiedendo. Per impostazione predefinita vede le 20 sessioni più recentemente attive e salta le sessioni archiviate a meno che non le chiedi. [La messaggistica tra sessioni](/docs/it/cross-session-messaging) consente separatamente a Claude di inviare messaggi alle [tue altre sessioni Claude Code](/docs/it/cross-session-messaging#see-which-sessions-claude-can-reach), incluse le sessioni del terminale.

457 548 


470 Esegui attività a lunga esecuzione nel cloud561 Esegui attività a lunga esecuzione nel cloud

471</h3>562</h3>

472 563 

473Per grandi refactor, suite di test, migrazioni o altre attività a lunga esecuzione, seleziona **Cloud** invece di **Local** quando avvii una sessione. Le sessioni cloud vengono eseguite sull'infrastruttura gestita da Anthropic per impostazione predefinita e continuano anche se chiudi l'app o spegni il computer. Torna indietro in qualsiasi momento per vedere i progressi o indirizzare Claude in una direzione diversa. Puoi anche monitorare le sessioni cloud da [claude.ai/code](https://claude.ai/code) o dall'[app mobile Claude](/docs/it/mobile).564Per grandi refactor, suite di test, migrazioni o altre attività a lunga esecuzione, seleziona un ambiente in **Cloud** nel [selettore dell'ambiente](#start-a-session) quando avvii una sessione. Le sessioni cloud vengono eseguite sull'infrastruttura gestita da Anthropic per impostazione predefinita e continuano anche se chiudi l'app o spegni il computer. Torna indietro in qualsiasi momento per vedere i progressi o indirizzare Claude in una direzione diversa. Puoi anche monitorare le sessioni cloud da [claude.ai/code](https://claude.ai/code) o dall'[app mobile Claude](/docs/it/mobile).

565 

566Le sessioni cloud supportano anche più repository. Scegli i repository:

474 567 

475Le sessioni cloud supportano anche più repository. Dopo aver selezionato un ambiente cloud, fai clic sul pulsante **+** accanto al repository selezionato per aggiungere repository aggiuntivi alla sessione. Ogni repo ottiene il suo selettore di branch. Questo è utile per compiti che si estendono su più codebase, come l'aggiornamento di una libreria condivisa e dei suoi consumatori.568* **Layout attuale**: nella riga sotto la casella del prompt, una volta selezionato un ambiente cloud.

569* **[Layout precedente](#check-which-layout-you-have)**: sopra la casella del prompt. Per aggiungere un altro repository, fai clic su **+** accanto a quello selezionato.

476 570 

477Vedi [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web) per ulteriori informazioni su come funzionano le sessioni cloud. Quando un corpo di lavoro ha bisogno di molte sessioni cloud, seleziona **Projects** nella barra laterale per creare un [progetto](/docs/it/claude-projects), dove Claude avvia e traccia le sessioni per te da una conversazione.571Vedi [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web) per ulteriori informazioni su come funzionano le sessioni cloud. Quando un corpo di lavoro ha bisogno di molte sessioni cloud, seleziona **Projects** nella barra laterale per creare un [progetto](/docs/it/claude-projects), dove Claude avvia e traccia le sessioni per te da una conversazione.

478 572 


500* **Lo attivi per quella sessione**: con l'interruttore **Remote Control** della sessione, oppure digitando `/remote-control` nella sua casella del prompt.594* **Lo attivi per quella sessione**: con l'interruttore **Remote Control** della sessione, oppure digitando `/remote-control` nella sua casella del prompt.

501* **Si connette all'avvio**: le nuove sessioni si connettono automaticamente mentre **Connect new sessions to Remote Control** è attivo in **Settings > Claude Code**. Se non hai mai modificato quell'impostazione, Desktop segue [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) nelle tue impostazioni utente o nelle impostazioni gestite, quindi il valore predefinito della tua organizzazione.595* **Si connette all'avvio**: le nuove sessioni si connettono automaticamente mentre **Connect new sessions to Remote Control** è attivo in **Settings > Claude Code**. Se non hai mai modificato quell'impostazione, Desktop segue [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) nelle tue impostazioni utente o nelle impostazioni gestite, quindi il valore predefinito della tua organizzazione.

502 596 

503Per vedere se una sessione è connessa, guarda l'icona del laptop prima del titolo della sessione nella barra degli strumenti. L'icona è evidenziata mentre la sessione è connessa o in fase di connessione. Fai clic su di essa per aprire l'interruttore **Remote Control** della sessione.597Per vedere se una sessione è connessa, controlla l'interruttore **Remote Control** nella scheda **Environment** del suo [pannello dei dettagli della sessione](#see-session-details).

504 598 

505Per tenere le sessioni lontane dagli altri tuoi dispositivi, disattiva Remote Control al livello che ti serve:599Per tenere le sessioni lontane dagli altri tuoi dispositivi, disattiva Remote Control al livello che ti serve:

506 600 


538 Connetti strumenti esterni632 Connetti strumenti esterni

539</h3>633</h3>

540 634 

541Per le sessioni locali e [SSH](#ssh-sessions), fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Connectors** per aggiungere integrazioni come Google Calendar, Slack, GitHub, Linear, Notion e altri. Puoi aggiungere connettori prima o durante una sessione. Il pulsante **+** non è disponibile nelle sessioni cloud o WSL, ma le [routine](/docs/it/routines) configurano i connettori al momento della creazione della routine.635I connettori sono [server MCP](/docs/it/mcp) con un flusso di configurazione grafico.

636 

637Fai clic su **+** accanto alla casella del prompt, prima o durante la sessione, per aggiungere connettori in una sessione locale o [SSH](#ssh-sessions) con un account Claude. Seleziona **Add connectors** per aprire la directory dei connettori. Se il menu mostra invece **Connectors**, selezionalo, poi seleziona **Browse connectors**.

638 

639<Note>

640 Questi casi sono trattati in altre pagine:

542 641 

543Per gestire o disconnettere i connettori, vai a Impostazioni → Connectors nell'app desktop, o seleziona **Manage connectors** dal menu Connectors nella casella del prompt.642 * **Connectors è disattivato in una sessione WSL**: vedi [Se il terminale o i connettori non sono disponibili](/docs/it/desktop-wsl#check-for-the-terminal-and-connectors)

643 * **Sessioni cloud**: vedi [Come i connettori raggiungono Claude Code](/docs/it/mcp#how-connectors-reach-claude-code)

644</Note>

544 645 

545Una volta connesso, Claude può leggere il tuo calendario, inviare messaggi, creare problemi e interagire direttamente con i tuoi strumenti. Puoi chiedere a Claude quali connettori sono configurati nella tua sessione.646Una volta connesso, Claude può leggere il tuo calendario, inviare messaggi, creare problemi e interagire direttamente con i tuoi strumenti. Puoi chiedere a Claude quali connettori sono configurati nella tua sessione. Per gestire o disconnettere i connettori, vai a **Settings > Connectors** nell'app desktop.

546 647 

547I connettori sono [MCP servers](/docs/it/mcp) con un flusso di configurazione grafico. Usali per l'integrazione rapida con i servizi supportati. Per le integrazioni non elencate in Connectors, aggiungi MCP servers manualmente tramite [file di impostazioni](/docs/it/mcp#installing-mcp-servers). Puoi anche [creare connettori personalizzati](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).648Per le integrazioni non elencate in Connectors, aggiungi server MCP manualmente tramite [file di impostazioni](/docs/it/mcp#installing-mcp-servers). Puoi anche [creare connettori personalizzati](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

548 649 

549<h3 id="use-skills">650<h3 id="use-skills">

550 Usa skills651 Usa skills


564 665 

565[Plugins](/docs/it/plugins/overview) sono pacchetti riutilizzabili che aggiungono skills, agent, hooks, MCP servers e configurazioni LSP a Claude Code. Puoi installare plugin dall'app desktop senza usare il terminale.666[Plugins](/docs/it/plugins/overview) sono pacchetti riutilizzabili che aggiungono skills, agent, hooks, MCP servers e configurazioni LSP a Claude Code. Puoi installare plugin dall'app desktop senza usare il terminale.

566 667 

567Per le sessioni locali e [SSH](#ssh-sessions), fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Plugins** per vedere i tuoi plugin installati e i loro skills. Per aggiungere un plugin, seleziona **Add plugin** dal sottomenu per aprire il browser dei plugin, che mostra i plugin disponibili dai tuoi [marketplace](/docs/it/plugins/overview) configurati incluso il marketplace ufficiale di Anthropic. Seleziona **Manage plugins** per abilitare, disabilitare o disinstallare plugin.668In una sessione locale o in una [sessione SSH](#ssh-sessions), fai clic su **+** accanto alla casella del prompt e seleziona **Add plugins** per aprire il browser dei plugin. Se il menu mostra invece **Plugins**, selezionalo, poi seleziona **Browse plugins**, oppure **Manage plugins** per abilitare, disabilitare o disinstallare plugin.

568 669 

569Puoi limitare i plugin al tuo account utente, a un progetto specifico o solo locali. Se la tua organizzazione gestisce i plugin centralmente, quei plugin sono disponibili nelle sessioni desktop nello stesso modo in cui lo sono nella CLI, tranne quelli che l'app desktop [trattiene sotto `disableSideloadFlags`](/docs/it/settings-reference#disablesideloadflags).670Puoi limitare i plugin al tuo account utente, a un progetto specifico o solo locali. Se la tua organizzazione gestisce i plugin centralmente, quei plugin sono disponibili nelle sessioni desktop nello stesso modo in cui lo sono nella CLI, tranne quelli che l'app desktop [trattiene sotto `disableSideloadFlags`](/docs/it/settings-reference#disablesideloadflags).

570 671 


632| `runtimeArgs` | string\[] | Argomenti passati a `runtimeExecutable`, come `["run", "dev"]` |733| `runtimeArgs` | string\[] | Argomenti passati a `runtimeExecutable`, come `["run", "dev"]` |

633| `port` | number | La porta su cui il tuo server ascolta. Predefinito a 3000 |734| `port` | number | La porta su cui il tuo server ascolta. Predefinito a 3000 |

634| `cwd` | string | Directory di lavoro relativa alla radice del tuo progetto. Predefinito alla radice del progetto. Usa `${workspaceFolder}` per fare riferimento alla radice del progetto esplicitamente |735| `cwd` | string | Directory di lavoro relativa alla radice del tuo progetto. Predefinito alla radice del progetto. Usa `${workspaceFolder}` per fare riferimento alla radice del progetto esplicitamente |

635| `env` | object | Variabili di ambiente aggiuntive come coppie chiave-valore, come `{ "NODE_ENV": "development" }`. Non mettere segreti qui poiché questo file viene eseguito il commit nel tuo repo. Per passare segreti al tuo server di sviluppo, impostali nell'[editor di ambiente locale](#local-sessions) invece. |736| `env` | object | Variabili d'ambiente aggiuntive come coppie chiave-valore, come `{ "NODE_ENV": "development" }`. Non mettere segreti qui poiché questo file viene eseguito il commit nel tuo repo. Per i segreti, vedi [Imposta le variabili d'ambiente per i server di sviluppo](#set-environment-variables-for-dev-servers). |

636| `autoPort` | boolean | Come gestire i conflitti di porta. Vedi [Conflitti di porta](#port-conflicts) |737| `autoPort` | boolean | Come gestire i conflitti di porta. Vedi [Conflitti di porta](#port-conflicts) |

637| `program` | string | Uno script da eseguire con `node`. Vedi [quando usare `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |738| `program` | string | Uno script da eseguire con `node`. Vedi [quando usare `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

638| `args` | string\[] | Argomenti passati a `program`. Usato solo quando `program` è impostato |739| `args` | string\[] | Argomenti passati a `program`. Usato solo quando `program` è impostato |


795* **SSH**: viene eseguito su una macchina remota a cui ti connetti tramite SSH, come i tuoi stessi server, VM cloud o dev container. Un'attività in esecuzione può [proseguire mentre Desktop è disconnesso](#keep-a-task-running-while-desktop-is-disconnected), ma con un account Claude può interrompersi quando il suo accesso scade.896* **SSH**: viene eseguito su una macchina remota a cui ti connetti tramite SSH, come i tuoi stessi server, VM cloud o dev container. Un'attività in esecuzione può [proseguire mentre Desktop è disconnesso](#keep-a-task-running-while-desktop-is-disconnected), ma con un account Claude può interrompersi quando il suo accesso scade.

796* **WSL** (Windows): viene eseguito all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl) sulla tua macchina, utilizzando la sua toolchain Linux e i percorsi nativi897* **WSL** (Windows): viene eseguito all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl) sulla tua macchina, utilizzando la sua toolchain Linux e i percorsi nativi

797 898 

899<h3 id="create-a-saved-environment">

900 Creare un ambiente salvato

901</h3>

902 

903Un ambiente salvato è una voce nel [selettore di ambiente](#start-a-session) che registra dove viene eseguito Claude, così puoi avviare lì le sessioni successive. Un ambiente locale o SSH contiene anche le cartelle in cui Claude lavora. Gli ambienti locali e SSH salvati [richiedono Claude Desktop v2.37337.0 o successiva](#check-which-layout-you-have).

904 

905<Steps>

906 <Step title="Apri la finestra di dialogo New environment">

907 Apri il selettore di ambiente sotto la casella del prompt e seleziona **New environment** in fondo al suo menu.

908 </Step>

909 

910 <Step title="Scegli dove viene eseguito Claude">

911 Seleziona la scheda **Local**, **SSH** o [**Cloud**](#cloud-sessions) e compila il modulo in quella scheda. Nella scheda **SSH**, scegli una [connessione](#ssh-sessions) e una cartella sulla macchina remota.

912 </Step>

913 

914 <Step title="Salva l'ambiente">

915 Seleziona **Create environment**, oppure **Add environment** nella scheda **Cloud**.

916 </Step>

917</Steps>

918 

919<h4 id="environments-that-desktop-creates-for-you">

920 Ambienti che Desktop crea per te

921</h4>

922 

923Se il selettore di ambiente elenca ambienti locali o SSH che non hai creato, li ha creati Desktop per te. La prima volta che apri la scheda Code nel [layout attuale](#check-which-layout-you-have), Desktop crea fino a otto ambienti. Gli ambienti derivano dalle cartelle locali e SSH che hai usato di più nell'ultimo mese. Puoi [modificarli o eliminarli](#use-edit-or-remove-a-saved-environment).

924 

925<h4 id="use-edit-or-remove-a-saved-environment">

926 Usare, modificare o rimuovere un ambiente salvato

927</h4>

928 

929Trova la voce dell'ambiente nel [selettore di ambiente](#start-a-session):

930 

931* **Avviare una sessione**: seleziona la voce.

932* **Modificare o eliminare**: passa il mouse sulla voce e fai clic sull'icona a forma di ingranaggio. Per eliminare un ambiente locale o SSH, fai clic su **Delete environment** in **Edit environment**.

933* **Archiviare ambienti cloud**: consulta [Archiviare un ambiente](/docs/it/cloud-environments#archive-an-environment).

934 

798<h3 id="local-sessions">935<h3 id="local-sessions">

799 Local sessions936 Local sessions

800</h3>937</h3>

801 938 

802L'app desktop non sempre eredita il tuo ambiente shell completo. Su macOS, quando avvii l'app dal Dock o dal Finder, legge il tuo profilo shell, come `~/.zshrc` o `~/.bashrc`, per fornire a Claude Code il `PATH` e un insieme fisso di variabili di Claude Code, ma non le altre variabili che esporti lì. Su Windows, l'app eredita le variabili d'ambiente utente e di sistema ma non legge i profili PowerShell.939L'app desktop non sempre eredita il tuo ambiente shell completo. Su macOS, quando avvii l'app dal Dock o dal Finder, legge il tuo profilo shell, come `~/.zshrc` o `~/.bashrc`, per fornire a Claude Code il `PATH` e un insieme fisso di variabili di Claude Code, ma non le altre variabili che esporti lì. Su Windows, l'app eredita le variabili d'ambiente utente e di sistema ma non legge i profili PowerShell.

803 940 

804Per impostare variabili di ambiente per le sessioni locali e i server di sviluppo su qualsiasi piattaforma, apri il menu a discesa dell'ambiente nella casella del prompt, passa il mouse su **Local** e fai clic sull'icona dell'ingranaggio per aprire l'editor di ambiente locale. Le variabili che salvi qui vengono archiviate crittografate sulla tua macchina e si applicano a ogni sessione locale e server di anteprima che avvii. Puoi anche aggiungere variabili alla chiave `env` nel tuo file `~/.claude/settings.json`, anche se queste raggiungono solo le sessioni Claude e non i server di sviluppo. Vedi [variabili di ambiente](/docs/it/env-vars) per l'elenco completo delle variabili supportate.941<h4 id="set-environment-variables-for-local-sessions">

942 Impostare le variabili d'ambiente per le sessioni locali

943</h4>

944 

945Aggiungi le variabili a un ambiente locale salvato e avvia le tue sessioni da esso. Desktop [imposta alcune variabili da sé](#environment-variables-desktop-sets-itself), come `API_TIMEOUT_MS`, e le tue sessioni ricevono il suo valore per quelle al posto del tuo.

946 

947<Note>

948 Se il tuo selettore di ambiente si trova sopra la casella del prompt, hai il [layout precedente](#check-which-layout-you-have), che non prevede ambienti locali salvati. Usa invece l'[editor dell'ambiente locale](#use-the-local-environment-editor).

949</Note>

950 

951<Steps>

952 <Step title="Apri il modulo dell'ambiente">

953 Apri [**New environment**](#create-a-saved-environment) o [**Edit environment**](#use-edit-or-remove-a-saved-environment).

954 </Step>

955 

956 <Step title="Inserisci le variabili">

957 Seleziona **Environment variables**, inserisci un `KEY=value` per riga e seleziona **Done**.

958 </Step>

959 

960 <Step title="Salva l'ambiente">

961 Seleziona **Create environment** o **Save**.

962 </Step>

963</Steps>

964 

965Solo le sessioni che avvii da quell'ambiente ricevono le variabili.

966 

967Per impostare una variabile per ogni sessione locale, aggiungila alla [chiave `env`](/docs/it/env-vars#set-variables-in-settings-files) nel tuo file `~/.claude/settings.json`. Claude Code [ignora il valore](/docs/it/settings-reference#how-env-values-interact-with-your-shell) se quella variabile è già presente nell'ambiente con cui Desktop avvia la sessione. Consulta [variabili d'ambiente](/docs/it/env-vars) per l'elenco completo delle variabili supportate.

968 

969<h4 id="set-environment-variables-for-dev-servers">

970 Impostare le variabili d'ambiente per i dev server

971</h4>

972 

973Per fornire un segreto a un dev server senza eseguirne il commit in [`launch.json`](#configure-preview-servers), impostalo in uno di questi punti, poi riavvia Desktop:

974 

975* **macOS e Linux**: esportalo nel profilo della tua shell

976* **Windows**: aggiungilo alle tue variabili d'ambiente utente o di sistema

977* **Qualsiasi piattaforma**: salvalo nell'[editor dell'ambiente locale](#use-the-local-environment-editor), se riesci ad aprirlo

978 

979I dev server non ricevono le variabili che aggiungi a un [ambiente salvato](#create-a-saved-environment) o a `~/.claude/settings.json`.

980 

981<h4 id="use-the-local-environment-editor">

982 Usare l'editor dell'ambiente locale

983</h4>

984 

985Per aprire l'editor dell'ambiente locale, fai clic sull'icona a forma di ingranaggio sulla voce del tuo computer, non su quella di un ambiente salvato:

986 

987* **Selettore sotto la casella del prompt**: passa il mouse sulla voce del tuo computer, la prima sotto **Local**. Se compare un'icona a forma di ingranaggio, fai clic su di essa. In caso contrario, l'editor non è disponibile, quindi imposta la variabile per le [sessioni locali](#set-environment-variables-for-local-sessions) o per i [dev server](#set-environment-variables-for-dev-servers) in un altro modo.

988* **Selettore sopra la casella del prompt**: passa il mouse su **Local** e fai clic sull'icona a forma di ingranaggio

989 

990Inserisci un `KEY=value` per riga e seleziona **Save changes**. Le variabili che salvi qui vengono memorizzate crittografate sulla tua macchina. Le sessioni locali le ricevono, tranne qualsiasi variabile che [Desktop imposta da sé](#environment-variables-desktop-sets-itself), come `API_TIMEOUT_MS`. Riavvia Desktop per fornire le tue variabili ai dev server.

991 

992<h4 id="environment-variables-desktop-sets-itself">

993 Variabili d'ambiente che Desktop imposta da sé

994</h4>

995 

996Se hai impostato `API_TIMEOUT_MS` o `ANTHROPIC_BASE_URL` e non è cambiato nulla nelle tue sessioni locali, è perché Desktop imposta da sé queste [variabili](/docs/it/env-vars#variables), tra le altre. Una sessione locale riceve il valore di Desktop sia che tu abbia impostato il tuo nel profilo della shell, nelle variabili utente o di sistema di Windows, nell'editor dell'ambiente locale o in un ambiente salvato. Spostare il tuo valore in un file di impostazioni non aiuta, perché Claude Code [ignora quel valore](/docs/it/settings-reference#how-env-values-interact-with-your-shell) in una sessione locale.

997 

998* `API_TIMEOUT_MS`: una sessione locale riceve `900000`, ovvero 15 minuti. Per un timeout più lungo, [installa la CLI di Claude Code](/docs/it/quickstart) e usala al posto di Desktop. [Imposta la variabile nella tua shell](/docs/it/env-vars#set-variables-in-your-shell) ed esegui `claude` nel tuo terminale.

999* `ANTHROPIC_BASE_URL`: una sessione locale riceve l'host API di Anthropic quando hai effettuato l'accesso con un account Claude. Per usare un gateway, configura invece la [configurazione di inferenza di terze parti](/docs/it/llm-gateway-connect#desktop-app) di Desktop.

1000 

1001<h4 id="turn-off-extended-thinking">

1002 Disattivare il ragionamento esteso

1003</h4>

805 1004 

806Il [ragionamento esteso](/docs/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni su compiti di ragionamento complesso ma utilizza token aggiuntivi. Sulla Anthropic API, imposta `MAX_THINKING_TOKENS` a `0` nell'editor di ambiente locale per disattivare il ragionamento; questo non ha effetto su Opus 5.5, Sonnet 5.5, Haiku 5.5 o sui modelli Fable, che utilizzano sempre il ragionamento esteso. Con il ragionamento disattivato sulla Anthropic API, Claude Code invia effort `high` invece di un livello superiore ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5.1005Il [ragionamento esteso](/docs/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni nelle attività di ragionamento complesse ma usa token aggiuntivi. Per disattivarlo, imposta `MAX_THINKING_TOKENS` su `0` in un [ambiente locale salvato](#set-environment-variables-for-local-sessions) o nell'[editor dell'ambiente locale](#use-the-local-environment-editor). Il ragionamento si disattiva quindi sull'API di Anthropic, tranne su Opus 5.5, Sonnet 5.5, Haiku 5.5 e sui modelli Fable, che usano sempre il ragionamento esteso.

1006 

1007Su Opus 5, seleziona anche un effort `high` o inferiore prima di avviare la sessione. Nel [layout attuale](#check-which-layout-you-have), apri il selettore del modello e seleziona un livello sotto **Effort**. Se hai avviato la sessione a un livello più alto, avviane una nuova a `high` o inferiore.

1008 

1009<h4 id="fixed-thinking-budgets">

1010 Budget di ragionamento fissi

1011</h4>

807 1012 

808Sui modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level), Claude Code ignora il numero in sé in un valore positivo di `MAX_THINKING_TOKENS`, perché è invece il ragionamento adattivo a controllare la profondità del ragionamento. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di ragionamento fisso; i modelli Fable, Sonnet 5 e versioni successive, Haiku 5.5, e Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo e non hanno una modalità di budget fisso.1013Sui modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level), Claude Code ignora il numero in sé in un valore positivo di `MAX_THINKING_TOKENS`, perché è invece il ragionamento adattivo a controllare la profondità del ragionamento. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di ragionamento fisso; i modelli Fable, Sonnet 5 e versioni successive, Haiku 5.5, e Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo e non hanno una modalità di budget fisso.

809 1014 


811 Local sessions on managed devices1016 Local sessions on managed devices

812</h4>1017</h4>

813 1018 

814Il tuo amministratore può disattivare le sessioni locali con l'[impostazione gestita `disableDesktopLocalSessions`](#managed-settings). Quando lo fa, **Local** rimane nel menu a discesa dell'ambiente ma è disattivato e non può essere selezionato, con un tooltip che dice che la tua organizzazione lo ha disattivato, e su Windows la voce [WSL](/docs/it/desktop-wsl), la cui disponibilità su dispositivi gestiti è [governata separatamente](/docs/it/admin-setup#wsl-sessions-in-claude-code-desktop), è disattivata allo stesso modo. Le nuove sessioni predefinite alla prima connessione SSH se una è configurata, e Desktop mostra un messaggio che le sessioni locali non sono disponibili su questo dispositivo se provi a continuare una sessione esistente. Scegli un ambiente [SSH](#ssh-sessions) o [cloud](#cloud-sessions) invece, o contatta il tuo team IT.1019Se la voce del tuo computer è disattivata nel selettore di ambiente, con il tooltip **Disabled by your organization**, il tuo amministratore ha [disattivato le sessioni locali](#managed-settings). Su Windows la voce [WSL](/docs/it/desktop-wsl), la cui disponibilità sui dispositivi gestiti è [regolata separatamente](/docs/it/admin-setup#wsl-sessions-in-claude-code-desktop), viene disattivata allo stesso modo.

1020 

1021Le nuove sessioni usano per impostazione predefinita la prima connessione SSH, se ne è configurata una. Se provi a continuare una sessione locale esistente, Desktop mostra un messaggio che indica che le sessioni locali non sono disponibili su questo dispositivo. Gli [ambienti locali salvati](#create-a-saved-environment) mostrano questo errore quando ne selezioni uno: `Couldn’t switch environments: the Local environment isn’t available anymore.` Scegli invece un ambiente [SSH](#ssh-sessions) o [cloud](#cloud-sessions), oppure contatta il tuo team IT.

815 1022 

816<h3 id="cloud-sessions">1023<h3 id="cloud-sessions">

817 Cloud sessions1024 Cloud sessions


819 1026 

820Le sessioni cloud continuano in background anche se chiudi l'app. L'utilizzo conta verso i limiti del tuo [piano di abbonamento](/docs/it/costs) senza costi di calcolo separati.1027Le sessioni cloud continuano in background anche se chiudi l'app. L'utilizzo conta verso i limiti del tuo [piano di abbonamento](/docs/it/costs) senza costi di calcolo separati.

821 1028 

822Puoi creare ambienti cloud personalizzati con diversi livelli di accesso alla rete e variabili di ambiente. Per gestirli, apri il menu a discesa dell'ambiente nella casella del prompt e seleziona **Cloud**:1029Per aggiungere, modificare o [archiviare](/docs/it/cloud-environments#archive-an-environment) un ambiente cloud, apri il [selettore di ambiente](#start-a-session):

823 1030 

824* **Add an environment**: seleziona **Add cloud environment**1031* **Aggiungere un ambiente**: seleziona **New environment** in fondo al menu del selettore, poi la scheda **Cloud** della [finestra di dialogo **New environment**](#create-a-saved-environment)

825* **Edit or archive one of your own environments**: passa il mouse su di esso e fai clic sull'icona dell'ingranaggio1032* **Edit or archive one of your own environments**: passa il mouse su di esso e fai clic sull'icona dell'ingranaggio

826 1033 

827Vedi [Configure cloud environments](/docs/it/cloud-environments) per i dettagli sulla configurazione dell'accesso alla rete e delle variabili di ambiente.1034Vedi [Configure cloud environments](/docs/it/cloud-environments) per i dettagli sulla configurazione dell'accesso alla rete e delle variabili di ambiente.


836 Se usi Desktop con un [provider di terze parti](/docs/it/third-party-integrations), le sessioni SSH richiedono una configurazione a parte. Consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1043 Se usi Desktop con un [provider di terze parti](/docs/it/third-party-integrations), le sessioni SSH richiedono una configurazione a parte. Consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

837</Note>1044</Note>

838 1045 

839Per aggiungere una connessione SSH, apri il menu a discesa dell'ambiente nella casella del prompt prima di avviare una sessione, quindi seleziona **SSH > Add SSH connection…** e compila i dettagli della connessione:1046Aggiungi una connessione SSH nella [finestra di dialogo **New environment**](#create-a-saved-environment), poi avvia una sessione su quella connessione. Se una nuova sessione non ha un selettore di ambiente sotto la casella del prompt, hai il layout precedente. Consulta [Verificare quale layout hai](#check-which-layout-you-have).

1047 

1048<Steps>

1049 <Step title="Apri la finestra di dialogo New environment">

1050 Prima di avviare una sessione, apri il selettore di ambiente sotto la casella del prompt e seleziona **New environment** in fondo al suo menu.

1051 </Step>

1052 

1053 <Step title="Aggiungi la connessione">

1054 Nella scheda **SSH** della finestra di dialogo **New environment**, apri l'elenco **Host**, seleziona **Add SSH connection…** e compila i dettagli della connessione:

840 1055 

841* **Name**: un'etichetta amichevole per questa connessione1056 * **Name**: un'etichetta descrittiva per questa connessione.

842* **SSH host**: `user@hostname` o un host definito in `~/.ssh/config`1057 * **SSH host**: `user@hostname` o un host definito in `~/.ssh/config`.

843* **SSH port**: 22 per impostazione predefinita se lasciato vuoto, oppure usa la porta della tua configurazione SSH1058 * **SSH port**: se lasciato vuoto usa 22 come valore predefinito, oppure usa la porta della tua configurazione SSH.

844* **SSH key (optional)**: percorso della tua chiave privata, come `~/.ssh/id_ed25519`. Lascia vuoto per usare la tua configurazione SSH o l'agente SSH.1059 * **SSH key (optional)**: percorso della tua chiave privata, come `~/.ssh/id_ed25519`. Lascia vuoto per usare la tua configurazione SSH o il tuo agente SSH.

845* **Worktree folder**: una cartella sulla macchina remota, come `~/worktrees`, in cui le nuove sessioni creano i propri worktree. Lascia vuoto per usare il [valore predefinito della macchina remota](#choose-where-ssh-session-worktrees-go).1060 * **Worktree folder**: una cartella sulla macchina remota, come `~/worktrees`, in cui le nuove sessioni creano i loro worktree. Lascia vuoto per usare il [valore predefinito della macchina remota](#choose-where-ssh-session-worktrees-go).

846 1061 

847Una volta aggiunta, la connessione appare sotto **SSH** nel menu a discesa dell'ambiente. Selezionala per avviare una sessione su quella macchina. Claude viene eseguito sulla macchina remota con accesso ai suoi file e strumenti.1062 Poi seleziona **Add SSH connection**.

1063 </Step>

1064 

1065 <Step title="Avvia una sessione sulla connessione">

1066 Seleziona una cartella sulla macchina remota e fai clic su **Create environment**. Mantieni la macchina e la cartella insieme come [ambiente salvato](#create-a-saved-environment) per le sessioni successive. Desktop lo seleziona per la nuova sessione, quindi digita la tua attività e premi **Invio**.

1067 </Step>

1068</Steps>

848 1069 

849La macchina remota può eseguire Linux, macOS o [Windows](#windows-remote-machines). Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Una volta connesso, le sessioni SSH supportano modalità di permesso, connettori, plugin e server MCP.1070La macchina remota può eseguire Linux, macOS o [Windows](#windows-remote-machines). Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Una volta connesso, le sessioni SSH supportano modalità di permesso, connettori, plugin e server MCP.

850 1071 


1175 1396 

1176Le modifiche ai file e alcuni strumenti possono non riuscire mentre Desktop è disconnesso. Se l'attività ne ha bisogno, mantieni Desktop connesso:1397Le modifiche ai file e alcuni strumenti possono non riuscire mentre Desktop è disconnesso. Se l'attività ne ha bisogno, mantieni Desktop connesso:

1177 1398 

1178* **Worktree**: in una sessione che usa un [worktree](#work-in-parallel-with-sessions), Desktop controlla ogni modifica ai file prima che Claude la effettui. Mentre Desktop è disconnesso, ogni modifica attende circa 30 secondi e poi non riesce. I comandi shell vengono comunque eseguiti. Su una macchina remota Linux o macOS, [le modifiche possono continuare a funzionare](#worktree-edits-while-disconnected). Se non sei sicuro, avvia la sessione senza un worktree.1399* **Worktree**: in una sessione che usa un [worktree](#run-a-session-in-its-own-worktree), Desktop verifica ogni modifica ai file prima che Claude la apporti. Mentre Desktop è disconnesso, ogni modifica attende circa 30 secondi e poi fallisce. I comandi della shell vengono comunque eseguiti. Su una macchina remota Linux o macOS, [le modifiche possono continuare a funzionare](#worktree-edits-while-disconnected). Se non sei sicuro, avvia la sessione senza un worktree.

1179* **Restrizioni sulle cartelle**: se la tua organizzazione limita le cartelle che le sessioni possono usare, Desktop controlla ogni lettura, ricerca e modifica di file, con o senza un worktree. Mentre Desktop è disconnesso, ciascuna attende fino a 10 minuti e poi non riesce.1400* **Restrizioni sulle cartelle**: se la tua organizzazione limita le cartelle che le sessioni possono usare, Desktop controlla ogni lettura, ricerca e modifica di file, con o senza un worktree. Mentre Desktop è disconnesso, ciascuna attende fino a 10 minuti e poi non riesce.

1180* **Connettori**: i [connettori](#connect-external-tools) e gli altri strumenti forniti da Desktop passano attraverso Desktop, quindi mentre è disconnesso ogni chiamata non riesce dopo circa 30 secondi1401* **Connettori**: i [connettori](#connect-external-tools) e gli altri strumenti forniti da Desktop passano attraverso Desktop, quindi mentre è disconnesso ogni chiamata non riesce dopo circa 30 secondi

1181* **Workflow**: Desktop controlla ogni nuovo [workflow](/docs/it/workflows) prima che venga avviato, quindi mentre Desktop è disconnesso un nuovo workflow attende fino a 10 minuti e poi non riesce1402* **Workflow**: Desktop controlla ogni nuovo [workflow](/docs/it/workflows) prima che venga avviato, quindi mentre Desktop è disconnesso un nuovo workflow attende fino a 10 minuti e poi non riesce


1264 Scegliere dove vengono creati i worktree delle sessioni SSH1485 Scegliere dove vengono creati i worktree delle sessioni SSH

1265</h4>1486</h4>

1266 1487 

1267A meno che la tua organizzazione non limiti le cartelle che le sessioni possono usare, le nuove sessioni SSH creano i propri [worktree](#work-in-parallel-with-sessions) nella prima di queste posizioni che risulta impostata:1488A meno che la tua organizzazione non limiti le cartelle che le sessioni possono usare, le nuove sessioni SSH creano i loro [worktree](#run-a-session-in-its-own-worktree) nella prima di queste posizioni che risulta impostata:

1268 1489 

12691. **Worktree folder** nella connessione SSH14901. **Worktree folder** nella connessione SSH

12702. [`worktree.location`](/docs/it/settings-reference#worktree-location) in `~/.claude/settings.json` sulla macchina remota14912. [`worktree.location`](/docs/it/settings-reference#worktree-location) in `~/.claude/settings.json` sulla macchina remota


1272 1493 

1273Ogni progetto ottiene una propria sottocartella nella cartella che imposti, quindi con `~/worktrees` il percorso di un worktree è `~/worktrees/<project>-<id>/<worktree-name>`. Se la cartella che imposti si trova all'interno del progetto, Desktop la ignora per quel progetto e usa il valore predefinito. Su una [macchina remota Windows](#windows-remote-machines), Desktop usa sempre il valore predefinito.1494Ogni progetto ottiene una propria sottocartella nella cartella che imposti, quindi con `~/worktrees` il percorso di un worktree è `~/worktrees/<project>-<id>/<worktree-name>`. Se la cartella che imposti si trova all'interno del progetto, Desktop la ignora per quel progetto e usa il valore predefinito. Su una [macchina remota Windows](#windows-remote-machines), Desktop usa sempre il valore predefinito.

1274 1495 

1275Per impostare **Worktree folder** su una connessione che hai aggiunto in precedenza o su una gestita dalla tua organizzazione, passa il mouse su di essa nel menu a discesa dell'ambiente e fai clic sull'icona dell'ingranaggio.1496<a id="set-the-worktree-folder-on-an-existing-connection" />

1276 1497 

1277Il campo richiede Claude Desktop v1.44121.0 o versioni successive. Se la tua organizzazione limita le cartelle che le sessioni possono usare, Desktop nasconde il campo e mantiene i worktree all'interno del progetto.1498<h5 id="set-the-worktree-folder-on-an-existing-connection">

1499 Impostare la cartella dei worktree su una connessione esistente

1500</h5>

1501 

1502Imposta **Worktree folder** nelle impostazioni di una connessione che hai aggiunto in precedenza o di una gestita dalla tua organizzazione. Il campo richiede Claude Desktop v1.44121.0 o successiva. Se la tua organizzazione limita le cartelle che le sessioni possono usare, Desktop nasconde il campo e mantiene i worktree all'interno del progetto.

1503 

1504<Steps>

1505 <Step title="Trova la connessione">

1506 Apri il [selettore di ambiente](#start-a-session) e trova la connessione sotto **SSH**.

1507 </Step>

1508 

1509 <Step title="Apri le impostazioni della connessione">

1510 Passa il mouse sulla connessione e fai clic sull'icona a forma di ingranaggio. Se la finestra di dialogo che si apre mostra **Edit connection…** accanto a **Host**, seleziona **Edit connection…**.

1511 </Step>

1512 

1513 <Step title="Imposta la cartella">

1514 In **Worktree folder**, inserisci una cartella sulla macchina remota, come `~/worktrees`, e seleziona **Save changes**.

1515 </Step>

1516</Steps>

1278 1517 

1279<h4 id="files-and-processes-on-the-remote-machine">1518<h4 id="files-and-processes-on-the-remote-machine">

1280 File e processi sulla macchina remota1519 File e processi sulla macchina remota


1321 Terminare il processo di una sessione1560 Terminare il processo di una sessione

1322</h5>1561</h5>

1323 1562 

1324Per terminare il processo Claude Code di una sessione, [archivia la sessione](#work-in-parallel-with-sessions) in Desktop mentre Desktop è connesso alla macchina remota. Il processo continua a essere eseguito dopo che la sua attività è terminata e dopo che chiudi Desktop.1563Per terminare il processo di Claude Code di una sessione, [archivia la sessione](#archive-a-session) in Desktop mentre Desktop è connesso alla macchina remota. Il processo continua a essere eseguito dopo che la sua attività è terminata e dopo che esci da Desktop.

1325 1564 

1326Prima di archiviare una sessione che ha un worktree, consulta [Lavorare in parallelo con le sessioni](#work-in-parallel-with-sessions).1565Prima di archiviare una sessione il cui worktree ha modifiche non sottoposte a commit, consulta [Conservare le modifiche non sottoposte a commit quando una sessione viene archiviata](#keep-uncommitted-changes-when-a-session-is-archived).

1327 1566 

1328<h5 id="see-which-user-the-processes-run-as">1567<h5 id="see-which-user-the-processes-run-as">

1329 Vedere con quale utente vengono eseguiti i processi1568 Vedere con quale utente vengono eseguiti i processi


1474 Pre-configure SSH connections for your team1713 Pre-configure SSH connections for your team

1475</h4>1714</h4>

1476 1715 

1477Gli amministratori possono distribuire connessioni SSH ai membri del team impostando `sshConfigs` nelle [impostazioni gestite](/docs/it/managed-settings). Le connessioni definite in questo modo appaiono nel menu a discesa dell'ambiente di ogni utente automaticamente e vengono mostrate come gestite. Gli utenti possono selezionarle e [impostare il proprio campo **Worktree folder**](#choose-where-ssh-session-worktrees-go) per esse, ma non possono modificare nient'altro né eliminarle nell'app.1716Gli amministratori possono distribuire connessioni SSH ai membri del team impostando `sshConfigs` nelle [impostazioni gestite](/docs/it/managed-settings).

1717 

1718* **Cosa vedono gli utenti**: le connessioni definite in questo modo compaiono automaticamente nel selettore di ambiente di ciascun utente.

1719* **Cosa possono modificare gli utenti**: gli utenti possono selezionare una connessione gestita e [impostare la propria **Worktree folder**](#set-the-worktree-folder-on-an-existing-connection) per essa. Non possono modificarne gli altri campi né eliminarla nell'app.

1478 1720 

1479L'esempio seguente pre-configura una singola connessione:1721L'esempio seguente pre-configura una singola connessione:

1480 1722 


1563Per verificare che le impostazioni vengano applicate, controlla il computer di uno sviluppatore:1805Per verificare che le impostazioni vengano applicate, controlla il computer di uno sviluppatore:

1564 1806 

1565<Steps>1807<Steps>

1566 <Step title="Controlla il menu a discesa dell'ambiente">1808 <Step title="Controlla il selettore di ambiente">

1567 Chiudi e riapri Desktop, quindi apri il menu a discesa dell'ambiente nella casella del prompt. **Local** è disattivato e **Shared Dev VM** appare sotto **SSH**. Se **Local** è ancora disponibile, controlla la versione di Desktop, che il file sia JSON valido e quale fonte gestita legge il computer.1809 Chiudi e riapri Desktop, poi apri il [selettore di ambiente](#start-a-session). Le impostazioni sono applicate se mostra:

1810 

1811 * La voce relativa a quel computer, in grigio

1812 * **Shared Dev VM** sotto **SSH**. Se non è elencata lì, fai clic sulla singola riga **SSH**, oppure su **More** alla fine del gruppo.

1813 

1814 Se la voce relativa al computer è ancora disponibile, verifica queste cause:

1815 

1816 * **Versione di Desktop**: aggiorna Desktop se è precedente alla v1.37937.0.

1817 * **File delle impostazioni gestite**: assicurati che il file sia un JSON valido.

1818 * **Fonte gestita**: assicurati che il computer legga la [fonte gestita](/docs/it/managed-settings#how-claude-code-combines-managed-sources) che contiene le chiavi.

1568 </Step>1819 </Step>

1569 1820 

1570 <Step title="Aggiungi un host che non è nell'allowlist">1821 <Step title="Aggiungi un host che non è nell'allowlist">

1571 [Aggiungi una connessione SSH](#ssh-sessions) con un nome host che non è nell'allowlist, come `other.example.com`. Desktop salva la connessione ma si rifiuta di connettersi e indica che le impostazioni della tua organizzazione non consentono la connessione.1822 [Aggiungi una connessione SSH](#ssh-sessions) con un hostname che non è nell'allowlist, come `other.example.com`. Desktop salva la connessione ma rifiuta di connettersi, e indica che le impostazioni della tua organizzazione non consentono la connessione.

1572 </Step>1823 </Step>

1573</Steps>1824</Steps>

1574 1825 


1612| `browserExternalPageTools` | imposta su `"disabled"` per impedire a Claude di utilizzare strumenti per leggere o agire su pagine esterne nel [riquadro Browser](#browse-external-sites). Gli utenti possono comunque navigare verso siti esterni da soli, e le anteprime del server di sviluppo locale non sono interessate. |1863| `browserExternalPageTools` | imposta su `"disabled"` per impedire a Claude di utilizzare strumenti per leggere o agire su pagine esterne nel [riquadro Browser](#browse-external-sites). Gli utenti possono comunque navigare verso siti esterni da soli, e le anteprime del server di sviluppo locale non sono interessate. |

1613| `disableMobileSimulatorTools` | imposta su `true` per bloccare gli strumenti di Claude per il controllo e l'acquisizione dei dispositivi nel [riquadro iOS Simulator](/docs/it/desktop-ios-simulator#turn-off-simulator-access). Il riquadro rimane utilizzabile per i tocchi dell'utente; solo l'accesso di Claude viene rimosso. Il valore deve essere il booleano JSON `true`; la stringa `"true"` viene ignorata. |1864| `disableMobileSimulatorTools` | imposta su `true` per bloccare gli strumenti di Claude per il controllo e l'acquisizione dei dispositivi nel [riquadro iOS Simulator](/docs/it/desktop-ios-simulator#turn-off-simulator-access). Il riquadro rimane utilizzabile per i tocchi dell'utente; solo l'accesso di Claude viene rimosso. Il valore deve essere il booleano JSON `true`; la stringa `"true"` viene ignorata. |

1614| `disableBrowserExternalNavigation` | imposta su `true` per disattivare completamente la navigazione esterna nel [riquadro Browser](#browse-external-sites). Né gli utenti né Claude possono navigare verso siti esterni, e le anteprime del server localhost dev non sono interessate. Il valore deve essere il booleano JSON `true`; la stringa `"true"` viene ignorata. |1865| `disableBrowserExternalNavigation` | imposta su `true` per disattivare completamente la navigazione esterna nel [riquadro Browser](#browse-external-sites). Né gli utenti né Claude possono navigare verso siti esterni, e le anteprime del server localhost dev non sono interessate. Il valore deve essere il booleano JSON `true`; la stringa `"true"` viene ignorata. |

1615| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel menu a discesa dell'ambiente. Gli utenti non possono eliminare le connessioni gestite né modificare nulla tranne la propria **Worktree folder**. |1866| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel selettore dell'ambiente. Gli utenti non possono eliminare le connessioni gestite né modificare nulla tranne la propria **Worktree folder**. |

1616| `sshHostAllowlist` | limita le [sessioni SSH](#restrict-which-ssh-hosts-users-can-connect-to) agli host il cui nome host risolto corrisponde a uno di questi modelli. Letto solo dalle impostazioni gestite. |1867| `sshHostAllowlist` | limita le [sessioni SSH](#restrict-which-ssh-hosts-users-can-connect-to) agli host il cui nome host risolto corrisponde a uno di questi modelli. Letto solo dalle impostazioni gestite. |

1617| `disableDesktopLocalSessions` | imposta su `true` per disattivare le [sessioni Code che vengono eseguite sul dispositivo](#local-sessions-on-managed-devices), lasciando disponibili le sessioni SSH verso altri host e le sessioni cloud. Il valore deve essere il booleano JSON `true`. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.37937.0 o successivo. |1868| `disableDesktopLocalSessions` | imposta su `true` per disattivare le [sessioni Code che vengono eseguite sul dispositivo](#local-sessions-on-managed-devices), lasciando disponibili le sessioni SSH verso altri host e le sessioni cloud. Il valore deve essere il booleano JSON `true`. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.37937.0 o successivo. |

1618| `disableSshSavedPasswords` | imposta su `true` per impedire a Desktop di offrire di ricordare le password SSH e di usare o mostrare quelle salvate in precedenza. Attivarla non le elimina. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.49585.0 o successivo. |1869| `disableSshSavedPasswords` | imposta su `true` per impedire a Desktop di offrire di ricordare le password SSH e di usare o mostrare quelle salvate in precedenza. Attivarla non le elimina. Letto solo dalle impostazioni gestite. Richiede Claude Desktop v1.49585.0 o successivo. |


1756 2007 

1757| CLI | Equivalente desktop |2008| CLI | Equivalente desktop |

1758| - | - |2009| - | - |

1759| `--model sonnet` | Menu a discesa del modello accanto al pulsante di invio |2010| `--model sonnet` | Selettore del modello nella riga sotto la casella del prompt |

1760| `--resume`, `--continue` | Fai clic su una sessione nella barra laterale, o digita `/resume` nella casella del prompt per riprendere una sessione che hai avviato dalla CLI |2011| `--resume`, `--continue` | Fai clic su una sessione nella barra laterale, o digita `/resume` nella casella del prompt per riprendere una sessione che hai avviato dalla CLI |

1761| `--permission-mode` | Selettore di modalità accanto al pulsante di invio |2012| `--permission-mode` | Selettore di modalità nella riga sotto la casella del prompt |

1762| `--dangerously-skip-permissions` | Modalità Bypass permissions. Su piani Pro e Max, abilitala in Impostazioni → Claude Code → "Allow bypass permissions mode"; su piani Team ed Enterprise, la politica organizzativa la controlla |2013| `--dangerously-skip-permissions` | Modalità Bypass permissions. Su piani Pro e Max, abilitala in Impostazioni → Claude Code → "Allow bypass permissions mode"; su piani Team ed Enterprise, la politica organizzativa la controlla |

1763| `--add-dir` | Aggiungi più repo con il pulsante **+** nelle sessioni cloud |2014| `--add-dir` | [Aggiungi cartelle a una sessione](#add-folders-to-a-session) nelle sessioni locali e SSH, oppure seleziona [più repository](#run-long-running-tasks-in-the-cloud) in una sessione cloud |

1764| `--allowedTools`, `--disallowedTools` | Nessun equivalente per sessione. Le regole di permesso nei [file di impostazioni](/docs/it/settings) si applicano ancora. |2015| `--allowedTools`, `--disallowedTools` | Nessun equivalente per sessione. Le regole di permesso nei [file di impostazioni](/docs/it/settings) si applicano ancora. |

1765| `--verbose` | [Modalità di visualizzazione Verbose](#switch-view-modes) |2016| `--verbose` | [Modalità di visualizzazione Verbose](#switch-view-modes) |

1766| `--print`, `--output-format` | Non disponibile. Desktop è solo interattivo. |2017| `--print`, `--output-format` | Non disponibile. Desktop è solo interattivo. |

1767| `ANTHROPIC_MODEL` env var | Menu a discesa del modello accanto al pulsante di invio |2018| `ANTHROPIC_MODEL` env var | Selettore del modello nella riga sotto la casella del prompt |

1768| `MAX_THINKING_TOKENS` env var | Imposta nell'editor di ambiente locale. Vedi [configurazione dell'ambiente](#environment-configuration). |2019| `MAX_THINKING_TOKENS` env var | Vedi [Disattivare il ragionamento esteso](#turn-off-extended-thinking) |

1769 2020 

1770<h3 id="shared-configuration">2021<h3 id="shared-configuration">

1771 Configurazione condivisa2022 Configurazione condivisa


1777* I **[server MCP](/docs/it/mcp)** configurati in `~/.claude.json` o `.mcp.json` funzionano in entrambi2028* I **[server MCP](/docs/it/mcp)** configurati in `~/.claude.json` o `.mcp.json` funzionano in entrambi

1778* Gli **[hook](/docs/it/hooks)** e le **[skill](/docs/it/skills)** definiti nelle impostazioni si applicano a entrambi2029* Gli **[hook](/docs/it/hooks)** e le **[skill](/docs/it/skills)** definiti nelle impostazioni si applicano a entrambi

1779* Le **[impostazioni](/docs/it/settings)** in `~/.claude.json` e `~/.claude/settings.json` sono condivise. Le regole di permesso, gli strumenti consentiti e altre impostazioni in `settings.json` si applicano alle sessioni Desktop.2030* Le **[impostazioni](/docs/it/settings)** in `~/.claude.json` e `~/.claude/settings.json` sono condivise. Le regole di permesso, gli strumenti consentiti e altre impostazioni in `settings.json` si applicano alle sessioni Desktop.

1780* **Modelli**: gli stessi [modelli](/docs/it/model-config#available-models) sono disponibili in entrambi. In Desktop, seleziona il modello dal menu a discesa accanto al pulsante di invio. Puoi cambiare il modello durante una sessione dallo stesso menu a discesa.2031* **Modelli**: gli stessi [modelli](/docs/it/model-config#available-models) sono disponibili in entrambi. In Desktop, seleziona il modello dal selettore del modello nella riga sotto la casella del prompt. Puoi cambiare il modello durante una sessione dallo stesso selettore.

1781 2032 

1782<h4 id="mcp-servers-from-the-claude-desktop-chat-app">2033<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

1783 Server MCP dall'app desktop chat Claude2034 Server MCP dall'app desktop chat Claude


1805| [Provider di terze parti](/docs/it/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API di Anthropic per impostazione predefinita. Per il routing tramite gateway, vedi [connetti l'app desktop a un gateway](/docs/it/llm-gateway-connect#desktop-app). Per eseguire la scheda Code su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM self-hosted, vedi [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2056| [Provider di terze parti](/docs/it/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API di Anthropic per impostazione predefinita. Per il routing tramite gateway, vedi [connetti l'app desktop a un gateway](/docs/it/llm-gateway-connect#desktop-app). Per eseguire la scheda Code su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM self-hosted, vedi [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1806| [Server MCP](/docs/it/mcp) | Configura nei file di impostazioni | UI Connectors per sessioni locali e SSH, o file di impostazioni |2057| [Server MCP](/docs/it/mcp) | Configura nei file di impostazioni | UI Connectors per sessioni locali e SSH, o file di impostazioni |

1807| [Plugin](/docs/it/plugins/overview) | Comando `/plugin` | UI gestore plugin |2058| [Plugin](/docs/it/plugins/overview) | Comando `/plugin` | UI gestore plugin |

1808| @mention file | Basato su testo | Con autocomplete; solo sessioni locali e SSH |2059| @mention file | Basato su testo | Con autocomplete, tranne per il primo messaggio di una sessione cloud |

1809| Allegati di file | Non disponibile | Immagini, PDF |2060| Allegati di file | Non disponibile | Immagini, PDF |

1810| Isolamento della sessione | Flag [`--worktree`](/docs/it/cli-reference) | Opzione **worktree** quando si avvia una sessione |2061| Isolamento della sessione | Flag [`--worktree`](/docs/it/cli-reference) | [Esegui una sessione nel proprio worktree](#run-a-session-in-its-own-worktree) |

1811| Sessioni multiple | Terminali separati | Schede della barra laterale |2062| Sessioni multiple | Terminali separati | Schede della barra laterale |

1812| Attività ricorrenti | Cron job, pipeline CI | [Attività pianificate](/docs/it/desktop-scheduled-tasks) |2063| Attività ricorrenti | Cron job, pipeline CI | [Attività pianificate](/docs/it/desktop-scheduled-tasks) |

1813| Utilizzo del computer | [Abilita tramite `/mcp`](/docs/it/computer-use) su macOS | [Controllo di app e schermo](#let-claude-use-your-computer) su macOS e Windows |2064| Utilizzo del computer | [Abilita tramite `/mcp`](/docs/it/computer-use) su macOS | [Controllo di app e schermo](#let-claude-use-your-computer) su macOS e Windows |


1833 Troubleshooting2084 Troubleshooting

1834</h2>2085</h2>

1835 2086 

1836Le sezioni di seguito coprono i problemi specifici dell'app desktop. Per gli errori API di runtime che appaiono nella chat come `API Error: 500`, `529 Overloaded`, `429` o `Prompt is too long`, vedi il [riferimento degli errori](/docs/it/errors). Questi errori e le loro correzioni sono gli stessi su CLI, desktop e web.2087Le sezioni di seguito coprono i problemi specifici dell'app desktop. Per gli errori API di runtime che appaiono nella chat come `API Error: 500`, `529 Overloaded`, `429` o `Prompt is too long`, vedi il [riferimento degli errori](/docs/it/errors).

1837 2088 

1838<h3 id="check-your-version">2089<h3 id="check-your-version">

1839 Check your version2090 Check your version


1852 2103 

1853Per vedere quale versione di Claude Code esegue una sessione, digita `/status` in una sessione locale nella scheda **Code** e leggi la riga **Claude Code**, che mostra una versione come `2.1.286`.2104Per vedere quale versione di Claude Code esegue una sessione, digita `/status` in una sessione locale nella scheda **Code** e leggi la riga **Claude Code**, che mostra una versione come `2.1.286`.

1854 2105 

1855Per ottenere una versione più recente per le sessioni locali, apri **Claude → Check for Updates** su macOS o **Help → Check for Updates** su Windows, quindi avvia una nuova sessione.2106Per ottenere una versione più recente per le sessioni locali, apri **Claude > Check for Updates…** su macOS o **Help > Check for Updates…** su Windows, quindi avvia una nuova sessione.

1856 2107 

1857In una sessione locale, la scheda **Code** esegue una propria copia di Claude Code, che ha un proprio numero di versione. L'app desktop scarica e aggiorna quella copia, quindi può differire dal comando `claude` nel tuo terminale, e aggiornarne una non aggiorna l'altra.2108In una sessione locale, la scheda **Code** esegue una propria copia di Claude Code, che ha un proprio numero di versione. L'app desktop scarica e aggiorna quella copia, quindi può differire dal comando `claude` nel tuo terminale, e aggiornarne una non aggiorna l'altra.

1858 2109 

2110<h3 id="check-which-layout-you-have">

2111 Verifica quale layout hai

2112</h3>

2113 

2114Se una nuova sessione non ha il [selettore dell'ambiente](#start-a-session) sotto la casella del prompt, hai il layout precedente:

2115 

2116* **[Desktop precedente alla v2.37337.0](#check-your-version)**: aggiorna per ottenere il layout attuale. Seleziona **Claude > Check for Updates…** su macOS o **Help > Check for Updates…** su Windows.

2117* **[Provider di terze parti](/docs/it/third-party-integrations)**: mantieni il layout precedente, quindi non c'è nulla da fare.

2118 

2119Nel layout precedente, scegli l'ambiente e la cartella del progetto sopra la casella del prompt, e la modalità di permesso e il modello nella riga sottostante. Il layout precedente non dispone del [pannello dei dettagli della sessione](#see-session-details) e degli [ambienti locali e SSH salvati](#create-a-saved-environment).

2120 

1859<h3 id="403-or-authentication-errors-in-the-code-tab">2121<h3 id="403-or-authentication-errors-in-the-code-tab">

1860 403 or authentication errors in the Code tab2122 403 or authentication errors in the Code tab

1861</h3>2123</h3>

Details

160* Conferma che Xcode e i simulatori iOS siano installati e che stai utilizzando una [versione Xcode consigliata](#requirements).160* Conferma che Xcode e i simulatori iOS siano installati e che stai utilizzando una [versione Xcode consigliata](#requirements).

161* Se la tua organizzazione gestisce Claude Code, gli [strumenti del simulatore potrebbero essere disabilitati dalla politica](#turn-off-simulator-access).161* Se la tua organizzazione gestisce Claude Code, gli [strumenti del simulatore potrebbero essere disabilitati dalla politica](#turn-off-simulator-access).

162* Se sei in un'organizzazione Enterprise che ha una configurazione HIPAA abilitata, il riquadro del simulatore non è disponibile per te.162* Se sei in un'organizzazione Enterprise che ha una configurazione HIPAA abilitata, il riquadro del simulatore non è disponibile per te.

163* Il riquadro del simulatore richiede Claude Desktop v1.24012.0 o successivo. Apri **Claude → Check for Updates**, quindi riavvia l'app.163* Il riquadro del simulatore richiede Claude Desktop v1.24012.0 o successivo. Apri **Claude > Check for Updates…**, quindi riavvia l'app.

164 164 

165<h3 id="the-simulator-pane-says-no-simulators-were-found">165<h3 id="the-simulator-pane-says-no-simulators-were-found">

166 Il riquadro del simulatore dice che non sono stati trovati simulatori166 Il riquadro del simulatore dice che non sono stati trovati simulatori


174 174 

175* [Computer use in Desktop](/docs/it/desktop#let-claude-use-your-computer): controllo dello schermo per app senza un riquadro dedicato175* [Computer use in Desktop](/docs/it/desktop#let-claude-use-your-computer): controllo dello schermo per app senza un riquadro dedicato

176* [Computer use from the CLI](/docs/it/computer-use): come la CLI raggiunge l'iOS Simulator176* [Computer use from the CLI](/docs/it/computer-use): come la CLI raggiunge l'iOS Simulator

177* [Work in parallel with sessions](/docs/it/desktop#work-in-parallel-with-sessions): come le sessioni isolano i cambiamenti177* [Esegui una sessione nel proprio worktree](/docs/it/desktop#run-a-session-in-its-own-worktree): come le sessioni isolano i cambiamenti

178* [Get started with Claude Code Desktop](/docs/it/desktop-quickstart)178* [Get started with Claude Code Desktop](/docs/it/desktop-quickstart)

Details

63 63 

64<Steps>64<Steps>

65 <Step title="Scegli un ambiente e una cartella">65 <Step title="Scegli un ambiente e una cartella">

66 Seleziona **Local** per eseguire Claude sulla tua macchina utilizzando direttamente i tuoi file. Fai clic su **Select folder** e scegli la directory del tuo progetto.66 Nella [riga sotto la casella del prompt](/docs/it/desktop#start-a-session), fai clic sul primo controllo, il selettore dell'ambiente, e seleziona la prima voce nel gruppo **Local**. Poi fai clic sul controllo della cartella del progetto accanto al selettore dell'ambiente, seleziona **Open folder…** e scegli la directory del tuo progetto.

67 

68 Se sotto la casella del prompt non compare alcun selettore dell'ambiente, hai il layout precedente. Vedi [Verifica quale layout hai](/docs/it/desktop#check-which-layout-you-have).

67 69 

68 <Tip>70 <Tip>

69 Inizia con un piccolo progetto che conosci bene. È il modo più veloce per vedere cosa può fare Claude Code.71 Inizia con un piccolo progetto che conosci bene. È il modo più veloce per vedere cosa può fare Claude Code.


72 Puoi anche selezionare:74 Puoi anche selezionare:

73 75 

74 * **Cloud**: Esegui sessioni nel cloud che continuano anche se chiudi l'app. Vedi [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web) per sapere come funzionano le sessioni cloud.76 * **Cloud**: Esegui sessioni nel cloud che continuano anche se chiudi l'app. Vedi [Usa Claude Code nel cloud](/docs/it/claude-code-on-the-web) per sapere come funzionano le sessioni cloud.

75 * **SSH**: Connettiti a una macchina remota tramite SSH, come i tuoi server, VM cloud o dev container. Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Un'attività in esecuzione può [continuare mentre Desktop è disconnesso](/docs/it/desktop#keep-a-task-running-while-desktop-is-disconnected), ma con un account Claude può interrompersi quando il suo accesso scade.77 * **SSH**: Connettiti a una macchina remota tramite SSH, come i tuoi server, VM cloud o dev container. Prima [aggiungi una connessione](/docs/it/desktop#ssh-sessions). Desktop installa Claude Code sulla macchina remota automaticamente la prima volta che ti connetti. Un'attività in esecuzione può [continuare mentre Desktop è disconnesso](/docs/it/desktop#keep-a-task-running-while-desktop-is-disconnected), ma con un account Claude può interrompersi quando il suo accesso scade.

76 * **WSL** (Windows): Esegui la sessione all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl); Claude Code, gli strumenti e git vengono eseguiti sul lato Linux con percorsi nativi.78 * **WSL** (Windows): Esegui la sessione all'interno di una [distribuzione WSL 2](/docs/it/desktop-wsl); Claude Code, gli strumenti e git vengono eseguiti sul lato Linux con percorsi nativi.

77 </Step>79 </Step>

78 80 

79 <Step title="Scegli un modello">81 <Step title="Scegli un modello">

80 Seleziona un modello dal menu a discesa accanto al pulsante di invio. Vedi [modelli](/docs/it/model-config#available-models) per un confronto dei modelli disponibili. Puoi cambiare il modello in seguito dallo stesso menu a discesa.82 Seleziona un modello dal selettore dei modelli verso l'estremità destra della riga sotto la casella del prompt. Vedi [modelli](/docs/it/model-config#available-models) per un confronto dei modelli disponibili. Puoi cambiare il modello in seguito dal selettore dei modelli.

81 </Step>83 </Step>

82 84 

83 <Step title="Dì a Claude cosa fare">85 <Step title="Dì a Claude cosa fare">


91 </Step>93 </Step>

92 94 

93 <Step title="Rivedi e accetta le modifiche">95 <Step title="Rivedi e accetta le modifiche">

94 Quello che succede dopo dipende dalla [modalità di permesso](/docs/it/desktop#choose-a-permission-mode) mostrata nel selettore accanto al pulsante di invio:96 Controlla la tua [modalità di permesso](/docs/it/desktop#choose-a-permission-mode) nella riga sotto la casella del prompt per vedere se Claude attende la tua approvazione:

95 97 

96 * **Auto o Accept edits**: Claude applica le sue modifiche ai file e appare un indicatore come `+12 -1` in modo che tu possa esaminarle nella vista diff98 * **Auto o Accept edits**: Claude applica le sue modifiche ai file e appare un indicatore come `+12 -1` in modo che tu possa esaminarle nella vista diff

97 * **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla. I tuoi file non vengono modificati finché non accetti, e se rifiuti una modifica, Claude ti chiede come vorresti procedere invece99 * **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla

98 100 

99 In modalità Manual, vedrai:101 In modalità Manual, vedrai:

100 102 


112 114 

113**Interrompi e reindirizza.** Puoi reindirizzare Claude in qualsiasi momento. Fai clic sul pulsante di stop per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza fermare l'azione in corso. In entrambi i casi, non devi aspettare che finisca né ricominciare da capo.115**Interrompi e reindirizza.** Puoi reindirizzare Claude in qualsiasi momento. Fai clic sul pulsante di stop per interrompere immediatamente, oppure digita una correzione e premi **Invio** per inviarla senza fermare l'azione in corso. In entrambi i casi, non devi aspettare che finisca né ricominciare da capo.

114 116 

115**Fornisci a Claude più contesto.** Digita `@filename` nella casella del prompt per includere un file specifico nella conversazione, allega immagini e PDF usando il pulsante degli allegati, oppure trascina e rilascia i file direttamente nel prompt. Più contesto ha Claude, migliori sono i risultati. Consulta [Aggiungere file e contesto](/docs/it/desktop#add-files-and-context-to-prompts).117**Fornisci a Claude più contesto.** Digita `@filename` nella casella del prompt per includere un file specifico nella conversazione. Più contesto ha Claude, migliori sono i risultati. Consulta [Aggiungere file e contesto](/docs/it/desktop#add-files-and-context-to-prompts).

116 118 

117**Usa le skill per attività ripetibili.** Digita `/` o fai clic su **+** → **Slash commands** per sfogliare i [comandi integrati](/docs/it/commands), le [skill personalizzate](/docs/it/skills) e le skill dei plugin. Le skill sono prompt riutilizzabili che puoi richiamare ogni volta che ne hai bisogno, come checklist di code review o passaggi di deploy.119**Usa le skill per attività ripetibili.** Digita `/` o fai clic su **+** → **Slash commands** per sfogliare i [comandi integrati](/docs/it/commands), le [skill personalizzate](/docs/it/skills) e le skill dei plugin. Le skill sono prompt riutilizzabili che puoi richiamare ogni volta che ne hai bisogno, come checklist di code review o passaggi di deploy.

118 120 


125* **Accept edits**: Claude accetta automaticamente le modifiche ai file per un'iterazione più rapida.127* **Accept edits**: Claude accetta automaticamente le modifiche ai file per un'iterazione più rapida.

126* **Plan**: Claude propone un approccio senza modificare alcun file, utile prima di un refactoring di grandi dimensioni.128* **Plan**: Claude propone un approccio senza modificare alcun file, utile prima di un refactoring di grandi dimensioni.

127 129 

128**Aggiungi plugin per più funzionalità.** Fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Plugins** per sfogliare e installare [plugin](/docs/it/desktop#install-plugins) che aggiungono skill, agenti, server MCP e altro.130**Aggiungi plugin per più funzionalità.** Installa [plugin](/docs/it/desktop#install-plugins) che aggiungono skill, agenti, server MCP e altro.

129 131 

130**Organizza il tuo workspace.** Trascina i riquadri di chat, diff, terminale, file e browser nel layout che preferisci. Apri il terminale con **Ctrl+\`** per eseguire comandi accanto alla tua sessione, oppure fai clic sul percorso di un file per aprirlo nel riquadro dei file. Consulta [Organizzare il workspace](/docs/it/desktop#arrange-your-workspace).132**Organizza il tuo workspace.** Trascina i riquadri di chat, diff, terminale, file e browser nel layout che preferisci. Apri il terminale con **Ctrl+\`** per eseguire comandi accanto alla tua sessione, oppure fai clic sul percorso di un file per aprirlo. Consulta [Organizzare il workspace](/docs/it/desktop#arrange-your-workspace).

131 133 

132**Visualizza l'anteprima della tua app.** Quando esegui il tuo server di sviluppo nel desktop, la tua app si apre nel riquadro Browser, che può anche [aprire siti esterni](/docs/it/desktop#browse-external-sites). Claude può visualizzare l'app in esecuzione, testare gli endpoint, ispezionare i log e iterare in base a ciò che vede. Consulta [Visualizzare l'anteprima della tua app](/docs/it/desktop#preview-your-app).134**Visualizza l'anteprima della tua app.** Quando esegui il tuo server di sviluppo nel desktop, la tua app si apre nel riquadro Browser, che può anche [aprire siti esterni](/docs/it/desktop#browse-external-sites). Claude può visualizzare l'app in esecuzione, testare gli endpoint, ispezionare i log e iterare in base a ciò che vede. Consulta [Visualizzare l'anteprima della tua app](/docs/it/desktop#preview-your-app).

133 135 

134**Monitora la tua pull request.** Dopo l'apertura di una PR, Claude Code monitora i risultati dei controlli CI e può correggere automaticamente i fallimenti o eseguire il merge della PR una volta superati tutti i controlli. Consulta [Monitorare lo stato della pull request](/docs/it/desktop#monitor-pull-request-status).136**Monitora la tua pull request.** Dopo l'apertura di una PR, Claude Code monitora i risultati dei controlli CI e può correggere automaticamente i fallimenti. Consulta [Monitorare lo stato della pull request](/docs/it/desktop#monitor-pull-request-status).

135 137 

136**Pianifica il lavoro di Claude.** Configura delle [attività pianificate](/docs/it/desktop-scheduled-tasks) per eseguire Claude automaticamente a intervalli ricorrenti: una code review quotidiana ogni mattina, un audit settimanale delle dipendenze o un briefing che attinge dai tuoi strumenti collegati.138**Pianifica il lavoro di Claude.** Configura delle [attività pianificate](/docs/it/desktop-scheduled-tasks) per eseguire Claude automaticamente a intervalli ricorrenti: una code review quotidiana ogni mattina, un audit settimanale delle dipendenze o un briefing che attinge dai tuoi strumenti collegati.

137 139 

Details

33</Tip>33</Tip>

34 34 

35<Note>35<Note>

36 Per impostazione predefinita, le attività pianificate vengono eseguite rispetto a qualsiasi stato si trovi la tua directory di lavoro, incluse le modifiche non sottoposte a commit. Abilita l'interruttore worktree quando crei l'attività per dare a ogni esecuzione il suo proprio worktree Git isolato, nello stesso modo in cui funzionano le [sessioni parallele](/docs/it/desktop#work-in-parallel-with-sessions).36 Per impostazione predefinita, le attività pianificate vengono eseguite rispetto a qualsiasi stato si trovi la tua directory di lavoro, incluse le modifiche non sottoposte a commit. Abilita l'interruttore worktree quando crei l'attività per dare a ogni esecuzione il suo proprio [worktree Git isolato](/docs/it/desktop#run-a-session-in-its-own-worktree).

37</Note>37</Note>

38 38 

39<h2 id="create-a-scheduled-task">39<h2 id="create-a-scheduled-task">

desktop-wsl.md +19 −5

Details

24 24 

25<Steps>25<Steps>

26 <Step title="Scegli una distribuzione">26 <Step title="Scegli una distribuzione">

27 Avvia una nuova sessione nella scheda Code e apri il selezionatore di ambiente. Le tue distribuzioni WSL 2 installate appaiono in una sezione **WSL**. Scegline una.27 Avvia una nuova sessione nella scheda Code e apri il [selezionatore di ambiente](/docs/it/desktop#start-a-session) sotto la casella del prompt, oppure sopra di essa nel [layout precedente](/docs/it/desktop#check-which-layout-you-have). Le tue distribuzioni WSL 2 installate appaiono sotto **WSL**. Scegline una.

28 </Step>28 </Step>

29 29 

30 <Step title="Scegli una cartella">30 <Step title="Scegli una cartella">


32 </Step>32 </Step>

33 33 

34 <Step title="Fidati della cartella">34 <Step title="Fidati della cartella">

35 La prima sessione in una cartella mostra la finestra di dialogo di fiducia dell'area di lavoro. La fiducia viene concessa per distribuzione e cartella. Una cartella di cui ti fidi in una distribuzione non è attendibile in un'altra distribuzione o nello stesso percorso su Windows.35 La prima sessione in una cartella mostra la finestra di dialogo di fiducia del workspace. La fiducia viene concessa per distribuzione e cartella. Una cartella di cui ti fidi in una distribuzione non è attendibile in un'altra distribuzione o nello stesso percorso su Windows.

36 </Step>36 </Step>

37</Steps>37</Steps>

38 38 

39La prima sessione in una distribuzione richiede un po' più di tempo mentre Claude si configura al suo interno. Puoi anche aprire una cartella `\\wsl.localhost\...` dal selezionatore di cartelle normale, e si riapre all'interno di quella distribuzione.39La prima sessione in una distribuzione richiede un po' più di tempo mentre Claude si configura al suo interno. Puoi anche aprire una cartella `\\wsl.localhost\...` dal selezionatore di cartelle normale, e si riapre all'interno di quella distribuzione.

40 40 

41Le cartelle che hai utilizzato di recente appaiono nel selezionatore per distribuzione, quindi riconnettersi a un progetto è un solo clic.

42 

43<h2 id="what-works-in-a-wsl-session">41<h2 id="what-works-in-a-wsl-session">

44 Cosa funziona in una sessione WSL42 Cosa funziona in una sessione WSL

45</h2>43</h2>

46 44 

47Le sessioni parallele, le chat laterali, la revisione visiva dei diff, lo stato dei branch e delle pull request, e i worktrees funzionano tutti, supportati da git e dalla toolchain all'interno della distribuzione. "Open in editor" apre VS Code connesso alla distribuzione tramite [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).45Le sessioni parallele, le chat laterali, la revisione visiva dei diff, lo stato dei branch e delle pull request, e i worktrees funzionano tutti, supportati da git e dalla toolchain all'interno della distribuzione. "Open in editor" apre VS Code connesso alla distribuzione tramite [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).

48 46 

49Alcune funzionalità non sono ancora disponibili nelle sessioni WSL: il terminale integrato, i connettori e i plugin, il fork della sessione, il riquadro del browser dei file e i suggerimenti di file quando digiti `@` nel compositore.47Se una funzionalità di Desktop non è disponibile o è limitata in una sessione WSL, verifica se si tratta di una di queste:

48 

49* **Terminale e connettori**: nella tua sessione potrebbero mancare il [terminale integrato](/docs/it/desktop#run-commands-in-the-terminal), i [connettori](/docs/it/desktop#connect-external-tools) o entrambi. Consulta [Se il terminale o i connettori non sono disponibili](#check-for-the-terminal-and-connectors).

50* **[Plugin](/docs/it/desktop#install-plugins)**: non disponibili nelle sessioni WSL

51* **Modifica dei file**: puoi visualizzare i file nel [riquadro dei file](/docs/it/desktop#open-and-edit-files) ma non puoi modificarli lì, quindi chiedi a Claude di apportare le modifiche

52* **Allegati**: se il menu **+** mostra **Add image** al posto di **Add files or photos**, puoi allegare solo immagini. Consulta [Aggiungere file e contesto ai prompt](/docs/it/desktop#add-files-and-context-to-prompts).

53 

54<a id="check-for-the-terminal-and-connectors" />

55 

56<h3 id="if-the-terminal-or-connectors-are-unavailable">

57 Se il terminale o i connettori non sono disponibili

58</h3>

59 

60Non puoi attivare tu stesso il terminale integrato o i connettori per una sessione WSL:

61 

62* **Account Claude**: le due funzionalità vengono distribuite separatamente. Seleziona **Help > Check for Updates…** e, se una funzionalità manca ancora dopo l'aggiornamento, non c'è nulla da fare.

63* **[Provider di terze parti](/docs/it/third-party-integrations)**: le sessioni WSL non hanno il terminale né i connettori, e l'aggiornamento di Desktop non cambia questa situazione

50 64 

51<h2 id="managed-devices">65<h2 id="managed-devices">

52 Dispositivi gestiti66 Dispositivi gestiti

env-vars.md +7 −11

Details

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

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

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

199| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, ovvero 10 minuti; massimo: 2147483647). Una richiesta in streaming deve ricevere gli header della risposta entro questo tempo. Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi le richieste attraverso un proxy |199| `API_TIMEOUT_MS` | Tempo in millisecondi che ogni tentativo di richiesta API ha a disposizione per ricevere gli header della risposta (predefinito: 600000, ovvero 10 minuti; massimo: 2147483647). Non limita la durata di una risposta in streaming dopo quel momento. Quando imposti un valore positivo, ogni tentativo di una [richiesta non in streaming](/docs/it/errors#streaming-response-ended-before-any-complete-data-was-received) deve terminare entro quel tempo. Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi le richieste tramite un proxy |

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

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

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


230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Rimossa nella v2.1.283. Usa invece `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

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

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

233| `CLAUDE_CODE_AUTO_MODE_MODEL` | Imposta il modello per le richieste al classificatore che Claude Code invia in [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode). Usa un ID di modello completo come `claude-sonnet-4-6`. Per i casi in cui Claude Code la ignora, consulta [Scegliere il modello del classificatore](/docs/it/permission-modes#choose-the-classifier-model). Richiede Claude Code v2.1.302 o successiva |

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

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

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


241| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |242| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |

242| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |243| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata del client per l'autenticazione mTLS |

243| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |244| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per la CLAUDE\_CODE\_CLIENT\_KEY crittografata (facoltativa) |

244| `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` |245| `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 della risposta di una richiesta API in streaming. Usa invece `API_TIMEOUT_MS`. Per la fase degli header della risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

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

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

247| `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) |248| `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) |


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

305| `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) |306| `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) |

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

307| `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) |308| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta a `false` per disattivare i suggerimenti di prompt, le previsioni in grigio che compaiono nell'input del prompt. Ha la precedenza sull'impostazione [`promptSuggestionEnabled`](/docs/it/settings-reference#promptsuggestionenabled), che è quella scritta dall'opzione **Prompt suggestions** in `/config`. Claude Code inoltre [sospende i suggerimenti quando il tuo account è vicino al limite di utilizzo o lo ha raggiunto](/docs/it/interactive-mode#when-claude-code-skips-suggestions). Imposta a `true` per evitare che questa sospensione si applichi finché non raggiungi il limite. Richiede Claude Code v2.1.238 o successiva. Consulta [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |

308| `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) |309| `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) |

309| `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) |310| `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) |

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


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

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

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

319| `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 |320| `CLAUDE_CODE_FORK_SUBAGENT` | Controlla la modalità fork, attiva per impostazione predefinita, che consente a Claude di avviare autonomamente dei [fork](/docs/it/sub-agents#fork-the-current-conversation). Mentre la modalità fork è attiva, Claude inoltre non può [attendere un subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) nelle sessioni interattive del terminale, di VS Code o dell'app desktop sulla tua macchina. Imposta su `0` per disattivare la modalità fork. Per le versioni, consulta [Disattivare la modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) |

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

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

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


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

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

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

343| `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 |344| `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 e di dichiararlo nella risposta. 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 successivo |

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

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

346| `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 riguarda tutti i server in sospeso; in un [ambiente self-hosted](/docs/it/self-hosted-environments-configuration#connection-timing), cambia solo la durata dell'attesa. 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 |347| `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 riguarda tutti i server in sospeso; in un [ambiente self-hosted](/docs/it/self-hosted-environments-configuration#connection-timing), cambia solo la durata dell'attesa. 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 |


599* Eseguire [`/skill-doctor`](/docs/it/skills#find-unused-skills) o aprirne il report nella scheda **Stats** di `/plugin`600* Eseguire [`/skill-doctor`](/docs/it/skills#find-unused-skills) o aprirne il report nella scheda **Stats** di `/plugin`

600* Sincronizzare le [skill](/docs/it/skills#where-synced-skills-load) e i [plugin](/docs/it/plugins/loading#synced-plugins) abilitati per il tuo account claude.ai nelle sessioni del terminale601* Sincronizzare le [skill](/docs/it/skills#where-synced-skills-load) e i [plugin](/docs/it/plugins/loading#synced-plugins) abilitati per il tuo account claude.ai nelle sessioni del terminale

601* Attivare il [mod You should know](/docs/it/interactive-mode#you-should-know-suggestions)602* Attivare il [mod You should know](/docs/it/interactive-mode#you-should-know-suggestions)

602* Vedere ciò che un [mod](/docs/it/plugins/mods/overview#where-mods-run) disegna nel pannello della chat dell'estensione VS Code; gli hook del mod vengono comunque eseguiti

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

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

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


613 Prima sessione dopo un'installazione o un aggiornamento613 Prima sessione dopo un'installazione o un aggiornamento

614</h3>614</h3>

615 615 

616Nella prima sessione dopo aver installato Claude Code, o dopo aver eseguito l'aggiornamento a una versione che aggiunge una funzionalità, una [funzionalità controllata da flag](#features-that-need-feature-flag-fetching) può mancare. Quella sessione può anche avviarsi in una [modalità di permesso](/docs/it/permission-modes#which-mode-a-session-starts-in) diversa da quella delle sessioni successive. Quando Claude Code recupera i flag durante quella sessione, li salva sulla macchina, quindi la sessione successiva su quella macchina dispone della funzionalità e della consueta modalità di permesso iniziale.616Nella prima sessione dopo aver installato Claude Code, o dopo aver eseguito l'aggiornamento a una versione che aggiunge una funzionalità, una [funzionalità controllata da flag](#features-that-need-feature-flag-fetching) può mancare. Quando Claude Code recupera i flag durante quella sessione, li salva sulla macchina, quindi la sessione successiva su quella macchina dispone della funzionalità.

617 

618Dopo una nuova installazione, in una sessione non interattiva come `claude -p`, l'Agent SDK o l'estensione VS Code, Claude Code può acquisire i flag prima di [scegliere la modalità di permesso iniziale](/docs/it/permission-modes#which-mode-a-session-starts-in), ma non sempre li attende.

619 617 

620In configurazioni come queste, anche le sessioni successive alla prima si avviano senza flag recuperati di recente:618In configurazioni come queste, anche le sessioni successive alla prima si avviano senza flag recuperati di recente:

621 619 

622* **Un ambiente pulito a ogni esecuzione**: se ogni esecuzione parte in un container CI, o in qualsiasi altro ambiente privo dei flag salvati da una sessione precedente, ogni esecuzione è una prima sessione620* **Un ambiente pulito a ogni esecuzione**: se ogni esecuzione parte in un container CI, o in qualsiasi altro ambiente privo dei flag salvati da una sessione precedente, ogni esecuzione è una prima sessione

623* **Un token del gateway senza chiave API**: se ti autentichi con `ANTHROPIC_AUTH_TOKEN` e nessuna chiave API, e `ANTHROPIC_BASE_URL` punta a un host diverso da quello di Anthropic, come un [gateway LLM](/docs/it/llm-gateway), Claude Code non dispone di credenziali con cui recuperare i flag621* **Un token del gateway senza chiave API**: se ti autentichi con `ANTHROPIC_AUTH_TOKEN` e nessuna chiave API, e `ANTHROPIC_BASE_URL` punta a un host diverso da quello di Anthropic, come un [gateway LLM](/docs/it/llm-gateway), Claude Code non dispone di credenziali con cui recuperare i flag

624 622 

625Per scegliere la modalità di permesso in cui si avviano le sessioni in queste configurazioni, consulta [Avviare in una modalità di permesso diversa](/docs/it/permission-modes#start-in-a-different-mode).

626 

627<h2 id="see-also">623<h2 id="see-also">

628 Vedi anche624 Vedi anche

629</h2>625</h2>

errors.md +33 −6

Details

41| `Auto mode classifier transcript exceeded context window` | [Errori del server](#auto-mode-cannot-determine-the-safety-of-an-action) |41| `Auto mode classifier transcript exceeded context window` | [Errori del server](#auto-mode-cannot-determine-the-safety-of-an-action) |

42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Errori del server](#auto-mode-cannot-determine-the-safety-of-an-action) |42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Errori del server](#auto-mode-cannot-determine-the-safety-of-an-action) |

43| `The server-side auto mode classifier gave no verdict` | [Errori del server](#the-server-returned-no-safety-verdict) |43| `The server-side auto mode classifier gave no verdict` | [Errori del server](#the-server-returned-no-safety-verdict) |

44| `<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier` | [Errori del server](#was-not-reviewed-and-did-not-run) |

44| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Errori del server](#the-server-returned-no-safety-verdict) |45| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Errori del server](#the-server-returned-no-safety-verdict) |

45| `Agent terminated early due to an API error` | [Errori del server](#agent-terminated-early-due-to-an-api-error) |46| `Agent terminated early due to an API error` | [Errori del server](#agent-terminated-early-due-to-an-api-error) |

46| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Limiti di utilizzo](#youve-hit-your-session-limit) |47| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Limiti di utilizzo](#youve-hit-your-session-limit) |


471| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/it/env-vars) | unset | Tempo massimo in millisecondi che ogni richiesta API trascorre in attesa durante gli errori `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato. Se non è impostato, l'attesa non ha limite. Richiede Claude Code v2.1.295 o successivo. |472| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/it/env-vars) | unset | Tempo massimo in millisecondi che ogni richiesta API trascorre in attesa durante gli errori `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato. Se non è impostato, l'attesa non ha limite. Richiede Claude Code v2.1.295 o successivo. |

472| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/it/env-vars) | 500 | Ritardo iniziale in millisecondi del backoff tra i nuovi tentativi di una richiesta che l'API rifiuta con un errore di sovraccarico `529`. Aumentalo, fino a 32000, per distribuire i nuovi tentativi su un intervallo più lungo quando l'API è al limite della capacità. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato 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 successivo. |473| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/it/env-vars) | 500 | Ritardo iniziale in millisecondi del backoff tra i nuovi tentativi di una richiesta che l'API rifiuta con un errore di sovraccarico `529`. Aumentalo, fino a 32000, per distribuire i nuovi tentativi su un intervallo più lungo quando l'API è al limite della capacità. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato 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 successivo. |

473| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/it/env-vars) | 32000 | Limite massimo in millisecondi del backoff tra i nuovi tentativi di una richiesta che l'API rifiuta con un errore di sovraccarico `529`. Aumentalo, fino a 64000, in modo che i nuovi tentativi successivi continuino a distanziarsi quando l'API è al limite della capacità. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato su `1`, o quando la richiesta rifiutata è stata inviata in [modalità veloce](/docs/it/fast-mode#handle-rate-limits). Richiede Claude Code v2.1.296 o successivo. |474| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/it/env-vars) | 32000 | Limite massimo in millisecondi del backoff tra i nuovi tentativi di una richiesta che l'API rifiuta con un errore di sovraccarico `529`. Aumentalo, fino a 64000, in modo che i nuovi tentativi successivi continuino a distanziarsi quando l'API è al limite della capacità. Non ha effetto quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostato su `1`, o quando la richiesta rifiutata è stata inviata in [modalità veloce](/docs/it/fast-mode#handle-rate-limits). Richiede Claude Code v2.1.296 o successivo. |

474| [`API_TIMEOUT_MS`](/docs/it/env-vars) | 600000 | Timeout per richiesta in millisecondi. Aumentalo per reti lente o proxy. Limita anche quanto a lungo Claude Code attende le intestazioni di risposta, descritto in [No response from API](#no-response-from-api). |475| [`API_TIMEOUT_MS`](/docs/it/env-vars) | 600000 | Tempo in millisecondi entro cui ogni tentativo di richiesta deve ricevere le intestazioni di risposta. Non limita quanto a lungo prosegue una risposta in streaming dopo quel momento. Aumentalo per reti lente o proxy. Per come limita la scadenza del primo byte, vedi [No response from API](#no-response-from-api). |

475| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/it/env-vars) | unset | Limite di nuovi invii di una [richiesta non in streaming](#streaming-response-ended-before-any-complete-data-was-received) che va in timeout. Al raggiungimento del limite, la richiesta fallisce. Una risposta di Claude che impiega più del timeout per essere generata va di nuovo in timeout a ogni nuovo invio, quindi imposta un numero basso come `0` per fallire prima. Ogni tentativo non in streaming va in timeout dopo 300 secondi in una sessione locale, oppure dopo `API_TIMEOUT_MS` quando imposti un valore positivo. Richiede Claude Code v2.1.285 o successivo. |476| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/it/env-vars) | unset | Limite di nuovi invii di una [richiesta non in streaming](#streaming-response-ended-before-any-complete-data-was-received) che va in timeout. Al raggiungimento del limite, la richiesta fallisce. Una risposta di Claude che impiega più del timeout per essere generata va di nuovo in timeout a ogni nuovo invio, quindi imposta un numero basso come `0` per fallire prima. Ogni tentativo non in streaming va in timeout dopo 300 secondi in una sessione locale, oppure dopo `API_TIMEOUT_MS` quando imposti un valore positivo. Richiede Claude Code v2.1.285 o successivo. |

476| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) | unset | Scadenza in millisecondi per il primo byte di risposta di una richiesta di streaming. Richiede Claude Code v2.1.242 o successivo. Per come Claude Code sceglie la scadenza quando questo non è impostato, vedi [No response from API](#no-response-from-api). |477| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) | unset | Scadenza in millisecondi per il primo byte di risposta di una richiesta di streaming. Richiede Claude Code v2.1.242 o successivo. Per come Claude Code sceglie la scadenza quando questo non è impostato, vedi [No response from API](#no-response-from-api). |

477 478 


535Request timed out536Request timed out

536```537```

537 538 

538Questo può accadere durante periodi di carico elevato o quando il modello sta generando una risposta molto lunga. Il timeout predefinito della richiesta è di 10 minuti.539Il timeout predefinito della richiesta è di 10 minuti.

539 540 

540**Cosa fare:**541**Cosa fare:**

541 542 


627<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.628<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

628```629```

629 630 

630In una sessione interattiva, sotto la chiamata allo strumento appare una riga attenuata `Not run · auto mode's check had no usable answer` al posto di questo messaggio. Premi `Ctrl+O` per leggere il messaggio nel [visualizzatore della trascrizione](/docs/it/interactive-mode#transcript-viewer). I rifiuti descritti in [The server returned no safety verdict](#the-server-returned-no-safety-verdict) mostrano la stessa riga. Prima della v2.1.296, il messaggio appariva sotto la chiamata come errore in rosso.631In una sessione interattiva, sotto la chiamata allo strumento appare una riga attenuata `Not run · auto mode's check had no usable answer` al posto di questo messaggio. Premi `Ctrl+O` per leggere il messaggio nel [visualizzatore della trascrizione](/docs/it/interactive-mode#transcript-viewer). I rifiuti `gave no verdict` descritti in [The server returned no safety verdict](#the-server-returned-no-safety-verdict) mostrano la stessa riga. Prima della v2.1.296, il messaggio appariva sotto la chiamata come errore in rosso.

631 632 

632Quando Claude Code riesce a determinare la categoria dell'errore, la indica tra parentesi dopo `temporarily unavailable`, ad esempio `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Le categorie sono `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` o `(connection failed)` si ripete, controlla la tua connessione; consulta [Unable to connect to API](#unable-to-connect-to-api). Prima della v2.1.229, il messaggio non indicava mai una categoria e diceva `Wait briefly and then try this action again`.633Quando Claude Code riesce a determinare la categoria dell'errore, la indica tra parentesi dopo `temporarily unavailable`, ad esempio `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Le categorie sono `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` o `(connection failed)` si ripete, controlla la tua connessione; consulta [Unable to connect to API](#unable-to-connect-to-api). Prima della v2.1.229, il messaggio non indicava mai una categoria e diceva `Wait briefly and then try this action again`.

633 634 


638* Riprova dopo qualche secondo; Claude vede lo stesso messaggio e di solito riprova da solo. Un errore temporaneo non è legato all'[idoneità alla modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode); non devi modificare le impostazioni639* Riprova dopo qualche secondo; Claude vede lo stesso messaggio e di solito riprova da solo. Un errore temporaneo non è legato all'[idoneità alla modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode); non devi modificare le impostazioni

639* Se i nuovi tentativi continuano a non riuscire, prosegui con attività di sola lettura e torna più tardi all'azione bloccata640* Se i nuovi tentativi continuano a non riuscire, prosegui con attività di sola lettura e torna più tardi all'azione bloccata

640* Su Amazon Bedrock, se il messaggio si ripresenta a ogni nuovo tentativo, verifica che il tuo account possa invocare il modello indicato: per i modelli Amazon Bedrock standard, conferma che la tua [policy IAM](/docs/it/amazon-bedrock#iam-configuration) ne consenta l'invocazione; per gli ID modello Mantle, [contatta il team del tuo account AWS](/docs/it/amazon-bedrock#mantle-endpoint-errors)641* Su Amazon Bedrock, se il messaggio si ripresenta a ogni nuovo tentativo, verifica che il tuo account possa invocare il modello indicato: per i modelli Amazon Bedrock standard, conferma che la tua [policy IAM](/docs/it/amazon-bedrock#iam-configuration) ne consenta l'invocazione; per gli ID modello Mantle, [contatta il team del tuo account AWS](/docs/it/amazon-bedrock#mantle-endpoint-errors)

642* Se il messaggio si ripresenta a ogni nuovo tentativo e indica il modello che hai impostato in [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/it/permission-modes#choose-the-classifier-model), verifica che l'API o il provider cloud su cui viene eseguita la tua sessione serva quell'ID modello. In caso contrario, imposta la variabile su un ID modello che serve, oppure rimuovi la variabile per usare il [modello del classificatore predefinito](/docs/it/permission-modes#default-classifier-model).

641 643 

642Quando una richiesta al classificatore non riesce perché il tuo token OAuth è scaduto o è stato ruotato da un'altra sessione, Claude Code aggiorna il token e riprova la richiesta una volta, quindi una normale scadenza del token non si manifesta con questo messaggio. Prima della v2.1.216, un token scaduto o ruotato faceva fallire ogni richiesta al classificatore e la modalità auto negava ogni azione controllata con questo messaggio finché il token non veniva aggiornato.644Quando una richiesta al classificatore non riesce perché il tuo token OAuth è scaduto o è stato ruotato da un'altra sessione, Claude Code aggiorna il token e riprova la richiesta una volta, quindi una normale scadenza del token non si manifesta con questo messaggio. Prima della v2.1.216, un token scaduto o ruotato faceva fallire ogni richiesta al classificatore e la modalità auto negava ogni azione controllata con questo messaggio finché il token non veniva aggiornato.

643 645 


672* In una sessione interattiva, passa a una [modalità di permesso](/docs/it/permission-modes) diversa in modo da poter approvare l'azione quando ti viene chiesto674* In una sessione interattiva, passa a una [modalità di permesso](/docs/it/permission-modes) diversa in modo da poter approvare l'azione quando ti viene chiesto

673* Avvia una nuova conversazione senza i contenuti che attivano il filtro675* Avvia una nuova conversazione senza i contenuti che attivano il filtro

674 676 

675Quando la conversazione è diventata più grande della finestra di contesto del classificatore:677Quando la conversazione è troppo lunga per la richiesta al classificatore di Claude Code e Claude Code non riesce a [compattarla da solo](#was-not-reviewed-and-did-not-run):

676 678 

677```text theme={null}679```text theme={null}

678Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)680Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)


715 717 

716**Cosa fare:**718**Cosa fare:**

717 719 

720* In una sessione interattiva, premi `Ctrl+O` per leggere il testo del rifiuto nel [visualizzatore della trascrizione](/docs/it/interactive-mode#transcript-viewer).

721* Se il rifiuto indica `(the conversation is too long for the check)`, esegui `/compact` al prompt di Claude Code per accorciare la conversazione. Finché la conversazione non è più breve, inviare un altro messaggio produce lo stesso rifiuto. Se hai disattivato la [compattazione automatica](/docs/it/settings-reference#autocompactenabled), riattivala in modo che Claude Code compatti da solo la prossima volta.

718* Invia un altro messaggio per far riprovare Claude. Il conteggio delle risposte riparte da zero.722* Invia un altro messaggio per far riprovare Claude. Il conteggio delle risposte riparte da zero.

719* Se l'interruzione si ripete e le tue richieste passano attraverso un [gateway o proxy LLM](/docs/it/llm-gateway), verifica se tronca o riscrive le risposte in streaming. La sezione [Revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review) indica quale comportamento del gateway causa i rifiuti, e la [guida alla compatibilità dei gateway](/docs/it/llm-gateway-protocol#feature-pass-through) elenca cosa deve essere inoltrato senza modifiche.723* Se l'interruzione si ripete e le tue richieste passano attraverso un [gateway o proxy LLM](/docs/it/llm-gateway), verifica se tronca o riscrive le risposte in streaming. La sezione [Revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review) indica quale comportamento del gateway causa i rifiuti, e la [guida alla compatibilità dei gateway](/docs/it/llm-gateway-protocol#feature-pass-through) elenca cosa deve essere inoltrato senza modifiche.

720* Imposta `CLAUDE_CODE_AUTO_MODE_SERVER=0` prima di avviare Claude Code per usare invece le sue richieste al classificatore. Prima della v2.1.281, Claude Code non leggeva la variabile su una connessione diretta ad Anthropic API.724* Imposta `CLAUDE_CODE_AUTO_MODE_SERVER=0` prima di avviare Claude Code per usare invece le sue richieste al classificatore. Prima della v2.1.281, Claude Code non leggeva la variabile su una connessione diretta ad Anthropic API.


722 726 

723Prima della v2.1.280, Claude Code negava immediatamente ogni azione proveniente da una risposta senza verdetto e non interrompeva mai il turno.727Prima della v2.1.280, Claude Code negava immediatamente ogni azione proveniente da una risposta senza verdetto e non interrompeva mai il turno.

724 728 

729Prima della v2.1.302, su una connessione diretta ad Anthropic API, Claude Code non compattava una conversazione diventata troppo lunga per il controllo del server.

730 

731<h3 id="was-not-reviewed-and-did-not-run">

732 Was not reviewed and did not run

733</h3>

734 

735Un rifiuto `was not reviewed and did not run` significa che la conversazione è troppo lunga perché il classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) possa controllare l'azione, quindi l'azione non è stata eseguita. Claude Code restituisce questo messaggio a Claude:

736 

737```text theme={null}

738<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier. Claude Code will try to compact the conversation before the next request; if this action is still needed after that, issue it again and it will be reviewed normally.

739```

740 

741Se la compattazione non riesce, le azioni successive che il classificatore non può controllare ricevono uno di altri due messaggi:

742 

743* Un rifiuto [`gave no verdict (the conversation is too long for the check)`](#the-server-returned-no-safety-verdict)

744* Il messaggio [`Auto mode classifier transcript exceeded context window`](#auto-mode-cannot-determine-the-safety-of-an-action)

745 

746**Cosa fare:**

747 

748* Se la compattazione annunciata dal messaggio riesce, non devi fare nulla.

749* Se vedi uno di questi due messaggi, esegui `/compact` al prompt di Claude Code per accorciare tu stesso la conversazione. Se hai disattivato la [compattazione automatica](/docs/it/settings-reference#autocompactenabled), riattivala in modo che Claude Code compatti da solo la prossima volta.

750 

725<h3 id="agent-terminated-early-due-to-an-api-error">751<h3 id="agent-terminated-early-due-to-an-api-error">

726 Agent terminated early due to an API error752 Agent terminated early due to an API error

727</h3>753</h3>


4554* Correggi ogni voce indicata dall'errore confrontandola con gli [strumenti disponibili per i subagent](/docs/it/sub-agents#available-tools)4580* Correggi ogni voce indicata dall'errore confrontandola con gli [strumenti disponibili per i subagent](/docs/it/sub-agents#available-tools)

4555* Rimuovi le voci relative a strumenti che la sessione non ha, come gli strumenti MCP di un server non connesso4581* Rimuovi le voci relative a strumenti che la sessione non ha, come gli strumenti MCP di un server non connesso

4556* Se la voce indica un server MCP connesso, confronta la voce con il nome di quel server così come lo scrivono i [nomi degli strumenti](/docs/it/permissions#mcp) del server, ad esempio `reports__v2` in `mcp__reports__v2__get_totals`. Per quel server, scrivi `mcp__reports__v2__*`, ovvero `mcp__` seguito dal nome completo e da `__*`. Con la forma più breve `mcp__reports`, che indica un server chiamato `reports`, il subagent non riceve nessuno degli strumenti di `reports__v2`4582* Se la voce indica un server MCP connesso, confronta la voce con il nome di quel server così come lo scrivono i [nomi degli strumenti](/docs/it/permissions#mcp) del server, ad esempio `reports__v2` in `mcp__reports__v2__get_totals`. Per quel server, scrivi `mcp__reports__v2__*`, ovvero `mcp__` seguito dal nome completo e da `__*`. Con la forma più breve `mcp__reports`, che indica un server chiamato `reports`, il subagent non riceve nessuno degli strumenti di `reports__v2`

4557* Per uno strumento che [i subagent in background escludono](/docs/it/sub-agents#available-tools), come `CronCreate`, rimuovi la voce. Per mantenere lo strumento, [disattiva la modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) e chiedi a Claude di eseguire il subagent in primo piano4583* Per uno strumento che [i subagent in background escludono](/docs/it/sub-agents#available-tools), come `CronCreate`, rimuovi la voce

4584* Per mantenere invece uno strumento come `CronCreate`, [lascia che Claude attenda il subagent](/docs/it/sub-agents#let-claude-wait-for-a-subagent), poiché un subagent che Claude attende viene eseguito in primo piano e mantiene lo strumento. Se la definizione imposta `background: true`, rimuovi prima quel campo, perché mantiene il subagent in background

4558* Elimina il campo `tools` invece di elencare gli strumenti per dare al subagent ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools)4585* Elimina il campo `tools` invece di elencare gli strumenti per dare al subagent ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools)

4559* Per un elenco `tools` che contiene solo `Agent`, aumenta il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) oppure assegna all'agente almeno un altro strumento: Claude Code nega `Agent` a quel limite, quindi un elenco che non contiene nient'altro si risolve in nessuno strumento4586* Per un elenco `tools` che contiene solo `Agent`, aumenta il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) oppure assegna all'agente almeno un altro strumento: Claude Code nega `Agent` a quel limite, quindi un elenco che non contiene nient'altro si risolve in nessuno strumento

4560 4587 


5405**Cosa fare:**5432**Cosa fare:**

5406 5433 

5407* In VS Code, seguite il collegamento **View output logs** mostrato con l'errore per vedere il guasto sottostante5434* In VS Code, seguite il collegamento **View output logs** mostrato con l'errore per vedere il guasto sottostante

5408* In un'applicazione Agent SDK, catturate l'errore intorno al vostro ciclo di messaggi. Le voci sotto [CLI process exit](/docs/it/agent-sdk/troubleshooting#cli-process-exit) coprono ciò che il vostro codice riceve in ogni linguaggio SDK.5435* In un'applicazione Agent SDK, catturate l'errore intorno al vostro ciclo di messaggi. Le voci sotto [Uscita del processo CLI](/docs/it/agent-sdk/troubleshooting#cli-process-exit) coprono ciò che il vostro codice riceve in ogni linguaggio SDK.

5409* Eseguite `claude` in un terminale nello stesso progetto. Il guasto di solito si riproduce lì con il suo messaggio di errore reale, che potete quindi cercare su questa pagina.5436* Eseguite `claude` in un terminale nello stesso progetto. Il guasto di solito si riproduce lì con il suo messaggio di errore reale, che potete quindi cercare su questa pagina.

5410* Eseguite `claude doctor` in un terminale per verificare l'installazione e la configurazione5437* Eseguite `claude doctor` in un terminale per verificare l'installazione e la configurazione

5411 5438 

fast-mode.md +1 −1

Details

47* Un piccolo icona `↯` appare accanto al prompt mentre la modalità veloce è attiva47* Un piccolo icona `↯` appare accanto al prompt mentre la modalità veloce è attiva

48* Esegui `/fast` di nuovo in qualsiasi momento per verificare se la modalità veloce è attiva o disattiva48* Esegui `/fast` di nuovo in qualsiasi momento per verificare se la modalità veloce è attiva o disattiva

49 49 

50Opus 5.5 è il valore predefinito della modalità veloce in Claude Code v2.1.280 e successivo. Prima di v2.1.280, la modalità veloce predefinita era Opus 5 da v2.1.219, a Opus 4.8 su v2.1.154 fino a v2.1.218, e a Opus 4.7 su v2.1.142 fino a v2.1.153.50Opus 5.5 è il valore predefinito della modalità veloce in Claude Code v2.1.280 e successivo. Prima di v2.1.280, la modalità veloce predefinita era Opus 5 da v2.1.219, e Opus 4.8 su v2.1.154 fino a v2.1.218.

51 51 

52Quando disabiliti la modalità veloce con `/fast` di nuovo, rimani su Opus. Per passare a un modello diverso, usa `/model`.52Quando disabiliti la modalità veloce con `/fast` di nuovo, rimani su Opus. Per passare a un modello diverso, usa `/model`.

53 53 

fullscreen.md +3 −3

Details

101* **Fare clic nell'input del prompt** per posizionare il cursore in qualsiasi punto del testo che state digitando.101* **Fare clic nell'input del prompt** per posizionare il cursore in qualsiasi punto del testo che state digitando.

102* **Fare clic su un suggerimento nel comando `/` o nell'elenco di file `@`** per accettarlo. Passare il mouse evidenzia la riga sotto il cursore.102* **Fare clic su un suggerimento nel comando `/` o nell'elenco di file `@`** per accettarlo. Passare il mouse evidenzia la riga sotto il cursore.

103* **Fare clic su un'opzione in un menu di selezione** per sceglierla. Questo copre le richieste di permesso, `/model`, `/config` e altri dialoghi che mostrano un elenco di opzioni.103* **Fare clic su un'opzione in un menu di selezione** per sceglierla. Questo copre le richieste di permesso, `/model`, `/config` e altri dialoghi che mostrano un elenco di opzioni.

104* **Fare clic su un'opzione in un menu di selezione multipla** per attivarla/disattivarla, e fare clic sul pulsante di invio per confermare le scelte. Fare clic su una riga di testo libero, come la riga `Other` in una domanda a scelta multipla, mette a fuoco il suo campo di input in modo da poter digitare una risposta. Richiede Claude Code v2.1.208 o successivo.104* **Fare clic su un'opzione in un menu di selezione multipla** per attivarla/disattivarla, e fare clic sul pulsante di invio per confermare le scelte. Fare clic su una riga di testo libero, come la riga `Other` in una domanda a scelta multipla, mette a fuoco il suo campo di input in modo da poter digitare una risposta.

105* **Fare clic sul valore di un'impostazione nel pannello `/config`** per modificarlo, e scorrere l'elenco delle impostazioni con la rotella del mouse. Richiede Claude Code v2.1.271 o successivo.105* **Fare clic sul valore di un'impostazione nel pannello `/config`** per modificarlo, e scorrere l'elenco delle impostazioni con la rotella del mouse. Richiede Claude Code v2.1.271 o successivo.

106* **Scorrere un menu di selezione o selezione multipla con la rotella del mouse** quando ha più opzioni di quante ne mostri contemporaneamente, come l'elenco `/model` in una finestra del terminale breve. La rotella scorre l'elenco mentre il puntatore si trova sopra le sue opzioni. Richiede Claude Code v2.1.280 o successivo.106* **Scorrere un menu di selezione o selezione multipla con la rotella del mouse** quando ha più opzioni di quante ne mostri contemporaneamente, come l'elenco `/model` in una finestra del terminale breve. La rotella scorre l'elenco mentre il puntatore si trova sopra le sue opzioni. Richiede Claude Code v2.1.280 o successivo.

107* **Scorrere un elenco in overflow con la sua barra di scorrimento.** In pannelli di elenco come `/skills`, `/mcp` e l'elenco Installed di `/plugin`, una barra di scorrimento appare accanto a un elenco con più righe di quante ne stiano mentre il puntatore si trova sopra di esso. Fare clic sulla traccia per saltare a quel punto, o trascinare il pollice. Richiede Claude Code v2.1.281 o successivo.107* **Scorrere un elenco in overflow con la sua barra di scorrimento.** In pannelli di elenco come `/skills`, `/mcp` e l'elenco Installed di `/plugin`, una barra di scorrimento appare accanto a un elenco con più righe di quante ne stiano mentre il puntatore si trova sopra di esso. Fare clic sulla traccia per saltare a quel punto, o trascinare il pollice. Richiede Claude Code v2.1.281 o successivo.


146| `Ctrl+End` | Saltare al messaggio più recente e riabilitare il follow automatico |146| `Ctrl+End` | Saltare al messaggio più recente e riabilitare il follow automatico |

147| Rotella del mouse | Scorrere di poche righe alla volta |147| Rotella del mouse | Scorrere di poche righe alla volta |

148 148 

149È possibile scorrere fino all'inizio della sessione anche dopo la [compattazione](/docs/it/context-window#what-survives-compaction). Claude continua a lavorare dal riepilogo di compattazione, ma Claude Code mantiene ogni messaggio precedente nello scrollback a schermo intero attraverso compattazioni ripetute.149Se chiudi una sessione [compattata](/docs/it/context-window#what-survives-compaction) e la [riprendi](/docs/it/sessions#what-a-resumed-session-restores), lo scorrimento verso l'alto si ferma alla riga `Conversation compacted` e i tuoi messaggi precedenti restano su disco nel [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored). Per recuperare un dettaglio da quei messaggi, chiedi a Claude di cercarlo in quel file.

150 150 

151Su tastiere senza tasti dedicati `PgUp`, `PgDn`, `Home` o `End`, come le tastiere MacBook, tenere premuto `Fn` insieme ai tasti freccia: `Fn+↑` invia `PgUp`, `Fn+↓` invia `PgDn`, `Fn+←` invia `Home` e `Fn+→` invia `End`. `Ctrl+Fn+→` non raggiunge Claude Code su macOS, quindi una tastiera MacBook non ha una combinazione di tasti funzionante per saltare al fondo per impostazione predefinita. Utilizzare invece una di queste opzioni:151Su tastiere senza tasti dedicati `PgUp`, `PgDn`, `Home` o `End`, come le tastiere MacBook, tenere premuto `Fn` insieme ai tasti freccia: `Fn+↑` invia `PgUp`, `Fn+↓` invia `PgDn`, `Fn+←` invia `Home` e `Fn+→` invia `End`. `Ctrl+Fn+→` non raggiunge Claude Code su macOS, quindi una tastiera MacBook non ha una combinazione di tasti funzionante per saltare al fondo per impostazione predefinita. Utilizzare invece una di queste opzioni:

152 152 


162 Follow automatico162 Follow automatico

163</h3>163</h3>

164 164 

165Lo scorrimento verso l'alto mette in pausa il follow automatico in modo che il nuovo output non ti riporti al fondo. Un pulsante `Salta al fondo` galleggia sul bordo inferiore della trascrizione mentre sei scorso verso l'alto e mostra un conteggio come `3 nuovi messaggi` quando arriva un nuovo output. Fare clic su di esso, premere `Ctrl+End` o scorrere fino al fondo per riprendere il follow.165Lo scorrimento verso l'alto mette in pausa il follow automatico in modo che il nuovo output non ti riporti al fondo. Un pulsante `Jump to bottom` galleggia sul bordo inferiore della trascrizione mentre sei scorso verso l'alto e mostra un conteggio come `3 new messages` quando arriva un nuovo output. Fai clic su di esso, premi `Ctrl+End` o scorri fino al fondo per riprendere il follow.

166 166 

167Mentre il follow automatico è in pausa, la vista rimane anche dove l'hai scrollata quando una risposta finisce di trasmettere.167Mentre il follow automatico è in pausa, la vista rimane anche dove l'hai scrollata quando una risposta finisce di trasmettere.

168 168 

headless.md +5 −4

Details

138 Stdin inviato tramite pipe è limitato a 10MB. Se superi il limite, Claude Code esce con un errore chiaro e uno stato diverso da zero. Per lavorare con input più grandi, scrivi il contenuto in un file e fai riferimento al percorso del file nel tuo prompt invece di inviarlo tramite pipe.138 Stdin inviato tramite pipe è limitato a 10MB. Se superi il limite, Claude Code esce con un errore chiaro e uno stato diverso da zero. Per lavorare con input più grandi, scrivi il contenuto in un file e fai riferimento al percorso del file nel tuo prompt invece di inviarlo tramite pipe.

139</Note>139</Note>

140 140 

141Se Claude Code non riesce a leggere stdin, ad esempio perché il processo che lo ha avviato ha disconnesso la sua estremità, Claude Code stampa un avviso su stderr e continua con il prompt dalla riga di comando. Prima della v2.1.211, uno stdin illeggibile su Windows causava l'arresto della sessione o l'uscita silenziosa senza output.141Se Claude Code non riesce a leggere stdin, ad esempio perché il processo che lo ha avviato ha disconnesso la sua estremità, Claude Code stampa un avviso su stderr e continua con il prompt dalla riga di comando.

142 142 

143<h3 id="add-claude-to-a-build-script">143<h3 id="add-claude-to-a-build-script">

144 Aggiungere Claude a uno script di build144 Aggiungere Claude a uno script di build


213 213 

214L'ultima riga del flusso è un messaggio `result` con il testo della risposta finale, il costo e i metadati della sessione.214L'ultima riga del flusso è un messaggio `result` con il testo della risposta finale, il costo e i metadati della sessione.

215 215 

216Se il tuo consumer legge il flusso lentamente, Claude Code attende che l'output in coda si svuoti prima di uscire, scalando l'attesa in base a quanto è ancora in coda, con un limite di 30 secondi. Prima della v2.1.214 l'attesa di uscita era limitata a circa due secondi, il che poteva troncare la fine di una risposta di grandi dimensioni.216Se il tuo consumer legge il flusso lentamente, Claude Code attende che l'output in coda si svuoti prima di uscire, scalando l'attesa in base a quanto è ancora in coda, con un limite di 30 secondi.

217 217 

218L'esempio seguente utilizza [jq](https://jqlang.org/) per filtrare i delta di testo e visualizzare solo il testo in streaming. Il flag `-r` restituisce stringhe non elaborate (senza virgolette) e `-j` unisce senza newline in modo che i token fluiscano continuamente:218L'esempio seguente utilizza [jq](https://jqlang.org/) per filtrare i delta di testo e visualizzare solo il testo in streaming. Il flag `-r` restituisce stringhe non elaborate (senza virgolette) e `-j` unisce senza newline in modo che i token fluiscano continuamente:

219 219 


249 249 

250Se alcuni di questi messaggi mancano dal tuo flusso, verifica la tua versione di Claude Code rispetto a questi requisiti minimi:250Se alcuni di questi messaggi mancano dal tuo flusso, verifica la tua versione di Claude Code rispetto a questi requisiti minimi:

251 251 

252* **`--forward-subagent-text` e `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`**: v2.1.211 o successivo

253* **Inoltro a ogni profondità di annidamento**: v2.1.219 o successivo252* **Inoltro a ogni profondità di annidamento**: v2.1.219 o successivo

254* **Una skill biforcata che Claude avvia con lo strumento Skill dalla conversazione principale**: v2.1.86 o successivo per i suoi blocchi `tool_use` e `tool_result`, e v2.1.265 o successivo per il suo primo messaggio `user` e i suoi blocchi di testo e di ragionamento253* **Una skill biforcata che Claude avvia con lo strumento Skill dalla conversazione principale**: v2.1.86 o successivo per i suoi blocchi `tool_use` e `tool_result`, e v2.1.265 o successivo per il suo primo messaggio `user` e i suoi blocchi di testo e di ragionamento

255* **Messaggi dei subagent generati da una skill biforcata, e delle skill biforcate avviate all'interno di un subagent o di un'altra skill biforcata**: v2.1.275 o successivo254* **Messaggi dei subagent generati da una skill biforcata, e delle skill biforcate avviate all'interno di un subagent o di un'altra skill biforcata**: v2.1.275 o successivo


336 --allowedTools "Bash,Read,Edit"335 --allowedTools "Bash,Read,Edit"

337```336```

338 337 

339Per impostare una linea di base per l'intera sessione invece di elencare i singoli strumenti, passa una [modalità di permesso](/docs/it/permission-modes). Un'esecuzione in cui nulla imposta una modalità di permesso adotta la [modalità di permesso iniziale integrata](/docs/it/permission-modes#which-mode-a-session-starts-in), che può essere `auto`, quindi passa quella che desideri:338Le chiamate agli strumenti che non hai elencato vengono eseguite se non richiedono approvazione. In un'esecuzione `claude -p` in [modalità Manual](/docs/it/permission-modes#available-modes), una chiamata che richiede approvazione viene negata a meno che qualcosa non la approvi, come un [hook `PermissionRequest`](/docs/it/hooks#permissionrequest) o un [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags). Con Claude Code v2.1.302 o successivo, le esecuzioni `claude -p` si avviano in modalità Manual quando [nulla imposta una modalità di permesso](/docs/it/permission-modes#which-mode-a-non-interactive-run-starts-in).

339 

340Per impostare una linea di base per l'intera sessione invece di elencare i singoli strumenti, passa una [modalità di permesso](/docs/it/permission-modes) con `--permission-mode`, come `auto`, `dontAsk` o `acceptEdits`:

340 341 

341* **`auto`**: passa `--permission-mode auto` per avere un classificatore che esamini la maggior parte delle azioni invece di te342* **`auto`**: passa `--permission-mode auto` per avere un classificatore che esamini la maggior parte delle azioni invece di te

342* **`dontAsk`**: Claude Code nega ogni chiamata che altrimenti richiederebbe conferma, il che è utile per esecuzioni CI bloccate. Le azioni che non necessitano di approvazione in modalità Manual vengono comunque eseguite, come le letture di file nelle tue directory di lavoro e il [set di comandi di sola lettura](/docs/it/permissions#read-only-commands), così come le azioni coperte dalle tue voci `--allowedTools` o dalle regole `permissions.allow`. `AskUserQuestion`, gli strumenti dei connettori [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool) e le [letture da percorsi di rete](/docs/it/permissions#network-paths) vengono negati anche quando una regola allow corrisponde343* **`dontAsk`**: Claude Code nega ogni chiamata che altrimenti richiederebbe conferma, il che è utile per esecuzioni CI bloccate. Le azioni che non necessitano di approvazione in modalità Manual vengono comunque eseguite, come le letture di file nelle tue directory di lavoro e il [set di comandi di sola lettura](/docs/it/permissions#read-only-commands), così come le azioni coperte dalle tue voci `--allowedTools` o dalle regole `permissions.allow`. `AskUserQuestion`, gli strumenti dei connettori [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool) e le [letture da percorsi di rete](/docs/it/permissions#network-paths) vengono negati anche quando una regola allow corrisponde

hooks.md +26 −32

Details

423* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): invia un prompt a un modello Claude per la valutazione a turno singolo. Il modello restituisce la sua decisione come JSON. Vedi [Prompt-based hooks](#prompt-based-hooks).423* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): invia un prompt a un modello Claude per la valutazione a turno singolo. Il modello restituisce la sua decisione come JSON. Vedi [Prompt-based hooks](#prompt-based-hooks).

424* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): genera un subagent che può utilizzare tool come Read, Grep, e Glob per verificare le condizioni prima di restituire una decisione. Gli agent hook sono sperimentali e potrebbero cambiare. Vedi [Agent-based hooks](#agent-based-hooks).424* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): genera un subagent che può utilizzare tool come Read, Grep, e Glob per verificare le condizioni prima di restituire una decisione. Gli agent hook sono sperimentali e potrebbero cambiare. Vedi [Agent-based hooks](#agent-based-hooks).

425 425 

426Tutti gli hook corrispondenti vengono eseguiti in parallelo. Se definisci lo stesso handler in più di un file di impostazioni, viene eseguito una volta. Una copia dello stesso handler di un plugin o skill rimane separata.426Quando un evento si attiva, i suoi hook corrispondenti vengono eseguiti in parallelo. Se più di 12 di essi sono hook prompt o agent, 12 di questi vengono eseguiti contemporaneamente e gli altri partono man mano che quelli in esecuzione terminano. Il [`timeout`](#common-fields) di ogni hook in attesa inizia a contare quando quell'hook parte.

427 

428Se definisci lo stesso handler in più di un file di impostazioni, viene eseguito una volta. Una copia dello stesso handler di un plugin o di una skill rimane separata.

427 429 

428Gli handler vengono eseguiti nella directory corrente con l'ambiente di Claude Code. Se la directory corrente non esiste più, ad esempio un worktree o una directory temporanea che un'altra shell ha eliminato a metà sessione, Claude Code esegue gli hook di comando dal primo di questi che esiste ancora: la directory in cui è iniziata la sessione, la radice del progetto, la tua directory home, o la directory temporanea del sistema. Claude Code registra un avviso che nomina la directory di fallback nel [debug log](#debug-hooks). Per una sessione worktree che avvii dall'app desktop, vedi [Cosa condividono i worktree con il checkout principale](/docs/it/worktrees#what-worktrees-share-with-the-main-checkout).430Gli handler vengono eseguiti nella directory corrente con l'ambiente di Claude Code. Se la directory corrente non esiste più, ad esempio un worktree o una directory temporanea che un'altra shell ha eliminato a metà sessione, Claude Code esegue gli hook di comando dal primo di questi che esiste ancora: la directory in cui è iniziata la sessione, la radice del progetto, la tua directory home, o la directory temporanea del sistema. Claude Code registra un avviso che nomina la directory di fallback nel [debug log](#debug-hooks). Per una sessione worktree che avvii dall'app desktop, vedi [Cosa condividono i worktree con il checkout principale](/docs/it/worktrees#what-worktrees-share-with-the-main-checkout).

429 431 


445 447 

446Il campo `if` contiene esattamente una regola di permesso. Non c'è sintassi `&&`, `||`, o lista per combinare le regole; per applicare più condizioni, definisci un handler hook separato per ciascuna.448Il campo `if` contiene esattamente una regola di permesso. Non c'è sintassi `&&`, `||`, o lista per combinare le regole; per applicare più condizioni, definisci un handler hook separato per ciascuna.

447 449 

448In una condizione `if` per uno strumento di file, un pattern di directory a segmento singolo come `"Edit(src/**)"` corrisponde solo alla directory `src` nella directory di lavoro e ai file sotto di essa. Per corrispondere a una directory denominata `src` a qualsiasi profondità, scrivi `"Edit(**/src/**)"`. Prima di v2.1.214, `"Edit(src/**)"` corrispondeva a una directory denominata `src` a qualsiasi profondità sotto la directory di lavoro.450In una condizione `if` per uno strumento di file, un pattern di directory a segmento singolo come `"Edit(src/**)"` corrisponde solo alla directory `src` nella directory di lavoro e ai file sotto di essa. Per corrispondere a una directory denominata `src` a qualsiasi profondità, scrivi `"Edit(**/src/**)"`.

449 451 

450<h4 id="bash-if-matching">452<h4 id="bash-if-matching">

451 Come i pattern `if` corrispondono ai comandi Bash453 Come i pattern `if` corrispondono ai comandi Bash


825 Output del codice di uscita827 Output del codice di uscita

826</h3>828</h3>

827 829 

828Il 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:830Quando l'esecuzione del tuo hook termina, Claude Code usa il suo codice di uscita per decidere se continuare con l'azione che lo ha attivato, come una chiamata a uno strumento o un prompt:

829 831 

830* **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. [Hook che avviano un processo in background](#hooks-that-start-a-background-process) descrive l'eccezione.832* **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. [Hook che avviano un processo in background](#hooks-that-start-a-background-process) descrive l'eccezione.

831* **Errore bloccante**: il tuo hook esce con 2. Sugli [eventi che possono bloccare](#exit-code-2-behavior-per-event), Claude Code interrompe l'azione.833* **Errore bloccante**: il tuo hook esce con 2. Sugli [eventi che possono bloccare](#exit-code-2-behavior-per-event), Claude Code interrompe l'azione.


853 Exit code 0855 Exit code 0

854</h4>856</h4>

855 857 

856Exit 0 significa successo, ed è il codice di uscita previsto quando stampi JSON per il controllo strutturato.858Exit 0 significa successo, ed è il codice di uscita previsto quando stampi JSON per il controllo strutturato. Quando il tuo hook esce con 0 ma stampa JSON che non può essere analizzato o non supera la [convalida dello schema](#json-output), l'azione procede a meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails). Invece di un successo con i tuoi campi applicati, l'esecuzione è un [errore non bloccante](#exit-code-output).

857 

858Per la maggior parte degli eventi, Claude Code scrive stdout nel log di debug e non lo mostra nella trascrizione. Le eccezioni sono `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, dove Claude Code aggiunge lo stdout in testo semplice come contesto che Claude può vedere e su cui può agire.

859 859 

860Per un hook che non è [async](#how-async-hooks-execute), Claude Code analizza il tuo stdout come [JSON output](#json-output) quando l'intero output è un unico oggetto JSON circondato solo da spazi bianchi, e altrimenti lo tratta come testo semplice o come errore di analisi:860Per correggere il tuo output, usa il messaggio di analisi o di convalida riportato dall'avviso `<hook name> hook error`. Per un hook che non è [async](#how-async-hooks-execute), il tuo stdout conta come [JSON output](#json-output) solo quando stampi un unico oggetto JSON, su una riga o su più righe, circondato solo da spazi bianchi. Claude Code legge qualsiasi altro stdout come testo semplice o come errore di analisi:

861 861 

862* **Un unico oggetto JSON, su una riga o su più righe**: analizzato come JSON output.

863* **Output che non inizia con `{`, oppure che inizia con `{` e non finisce con `}`**: testo semplice. In base a questa regola, un array JSON e una stringa JSON tra virgolette sono testo semplice.862* **Output che non inizia con `{`, oppure che inizia con `{` e non finisce con `}`**: testo semplice. In base a questa regola, un array JSON e una stringa JSON tra virgolette sono testo semplice.

864* **Due o più righe che si analizzano ciascuna come JSON da sole, la prima che inizia con `{` e l'ultima che finisce con `}`**: testo semplice quando nessuna riga è un oggetto JSON output che imposta un campo, ed errore di analisi quando una lo è.863* **Due o più righe che si analizzano ciascuna come JSON da sole, la prima che inizia con `{` e l'ultima che finisce con `}`**: testo semplice quando nessuna riga è un oggetto JSON output che imposta un campo. Quando una lo è, l'output è un errore di analisi, quindi stampa quell'oggetto senza nient'altro su stdout.

865* **Qualsiasi altra cosa che inizia con `{` e finisce con `}` ma non è JSON valido**: errore di analisi.864* **Qualsiasi altra cosa che inizia con `{` e finisce con `}` ma non è JSON valido**: errore di analisi.

866 865 

867A meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails), un errore di analisi o un oggetto analizzato che non supera la [convalida dello schema](#json-output) è 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.866Per la maggior parte degli eventi, Claude Code scrive stdout nel log di debug e non lo mostra nella trascrizione. Le eccezioni sono `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, dove Claude Code aggiunge lo stdout in testo semplice come contesto che Claude può vedere e su cui può agire. Su quegli eventi, Claude Code non aggiunge lo stdout che non è riuscito ad analizzare.

868 867 

869Claude 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.868Claude 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.

870 869 


907 Altri codici di uscita906 Altri codici di uscita

908</h4>907</h4>

909 908 

910A meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails), un codice di uscita diverso da 0 o 2 con testo semplice o niente su stdout è un [errore non bloccante](#exit-code-output). Se l'azione procede, 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.909Un avviso `<hook name> hook error` con `Failed with non-blocking status code:` significa che il codice di uscita del tuo hook non era 0 o 2 e il suo stdout era testo semplice o vuoto. A meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails), si tratta di un [errore non bloccante](#exit-code-output), quindi il tuo hook non ha interrotto l'azione. Per acquisire lo stderr completo del tuo hook anziché la prima riga mostrata dall'avviso, abilita il [debug logging](#debug-hooks).

911 910 

912Ad 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:911Ad 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:

913 912 


915Failed with non-blocking status code: something broke914Failed with non-blocking status code: something broke

916```915```

917 916 

918Per acquisire lo stderr completo anziché la sua prima riga, abilita il [debug logging](#debug-hooks).917Se l'avviso riporta il messaggio `No such file or directory` della shell, come nella riga seguente, l'hook non è mai stato eseguito, ad esempio perché il percorso del suo script non esiste:

919 

920A meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails), anche 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, quando il percorso dello script non esiste, l'avviso riporta una riga come questa:

921 918 

922```text theme={null}919```text theme={null}

923Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory920Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory

924```921```

925 922 

923Se il percorso è sbagliato, correggilo dove l'hook è configurato. 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. A meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails), anche un hook che non riesce ad avviarsi è un errore non bloccante.

924 

926Quando 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 l'azione quando l'hook non riesce ad avviarsi, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).925Quando 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 l'azione quando l'hook non riesce ad avviarsi, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

927 926 

928<Warning>927<Warning>


933 Timeout932 Timeout

934</h4>933</h4>

935 934 

936A parte un command hook che esegui con [`async: true`](#run-hooks-in-the-background), Claude Code annulla un hook `command`, `http` o `mcp_tool` che raggiunge il suo [`timeout`](#common-fields), scartando l'output dell'hook, quindi sulla maggior parte degli eventi un hook scaduto non produce alcuna decisione.935A parte un command hook che esegui con [`async: true`](#run-hooks-in-the-background), Claude Code annulla un hook `command`, `http` o `mcp_tool` che raggiunge il suo [`timeout`](#common-fields), scartando l'output dell'hook, quindi sulla maggior parte degli eventi un hook scaduto non produce alcuna decisione. Su [`PreModelSwitch`](#premodelswitch), un hook annullato al suo timeout blocca il cambio di modello.

937 936 

938Su [`PreModelSwitch`](#premodelswitch), un hook annullato al suo timeout blocca il cambio di modello. Su `PreToolUse`, le due famiglie di hook si comportano diversamente:937Su `PreToolUse`, un hook `command`, `http` o `mcp_tool` scaduto non blocca la chiamata allo strumento, tranne che per gli hook [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails). 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). Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) che supera il suo timeout [blocca la chiamata allo strumento](#pretooluse).

939 

940* Un hook `command`, `http` o `mcp_tool` scaduto non blocca la chiamata allo strumento, tranne che per gli hook [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails). 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).

941* Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) che supera il suo timeout [blocca la chiamata allo strumento](#pretooluse).

942 938 

943<h4 id="hooks-that-start-a-background-process">939<h4 id="hooks-that-start-a-background-process">

944 Hook che avviano un processo in background940 Hook che avviano un processo in background


1086 Gestione della risposta HTTP1082 Gestione della risposta HTTP

1087</h3>1083</h3>

1088 1084 

1089Gli HTTP hook usano i codici di stato HTTP e i corpi della risposta invece dei codici di uscita e di stdout. I risultati seguenti si applicano alla maggior parte degli eventi; un evento con un proprio contratto di fallimento nella [tabella per evento](#exit-code-2-behavior-per-event), come `WorktreeCreate`, applica quel contratto anche a un HTTP hook fallito:1085Gli HTTP hook usano i codici di stato HTTP e i corpi della risposta invece dei codici di uscita e di stdout. Per bloccare l'azione quando la richiesta fallisce o restituisce uno stato non-2xx, imposta [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Per bloccare una chiamata a uno strumento o negare un permesso, restituisci una risposta 2xx con un corpo JSON contenente i [campi di decisione](#decision-control) appropriati.

1086 

1087Dopo un [errore non bloccante](#exit-code-output), l'azione procede a meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails). Tranne che sugli eventi con un proprio contratto di fallimento nella [tabella per evento](#exit-code-2-behavior-per-event), come `WorktreeCreate`, ottieni questi risultati per ciascuna risposta o fallimento:

1090 1088 

1091* **2xx con corpo vuoto**: successo, equivalente al codice di uscita 0 senza output1089* **2xx con corpo vuoto**: successo, equivalente al codice di uscita 0 senza output

1092* **2xx con corpo costituito da un oggetto JSON**: analizzato usando lo stesso schema [JSON output](#json-output) dei command hook. Un corpo che non supera la convalida dello schema è un errore non bloccante1090* **2xx con corpo costituito da un oggetto JSON**: analizzato usando lo stesso schema [JSON output](#json-output) dei command hook. Un corpo che non supera la convalida dello schema è un errore non bloccante


1095* **Errore di connessione**: errore non bloccante1093* **Errore di connessione**: errore non bloccante

1096* **Timeout**: l'hook viene annullato, come descritto in [Timeouts](#timeouts)1094* **Timeout**: l'hook viene annullato, come descritto in [Timeouts](#timeouts)

1097 1095 

1098Dopo un [errore non bloccante](#exit-code-output), l'azione procede a meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](#block-the-action-when-a-hook-fails). Per bloccare una chiamata a uno strumento o negare un permesso, restituisci una risposta 2xx con un corpo JSON contenente i [campi di decisione](#decision-control) 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).

1099 

1100<h3 id="json-output">1096<h3 id="json-output">

1101 Output JSON1097 Output JSON

1102</h3>1098</h3>


1319| `compact` | Compattazione automatica o manuale |1315| `compact` | Compattazione automatica o manuale |

1320| `fork` | Una nuova sessione derivata da una esistente: `--fork-session` con `--resume` o `--continue`, la copia in background di `/fork`, `/branch` o una conversazione che [sposti in background](/docs/it/agent-view#from-inside-a-session) |1316| `fork` | Una nuova sessione derivata da una esistente: `--fork-session` con `--resume` o `--continue`, la copia in background di `/fork`, `/branch` o una conversazione che [sposti in background](/docs/it/agent-view#from-inside-a-session) |

1321 1317 

1322Prima della v2.1.214, le sessioni derivate riportavano come origine `"resume"`.

1323 

1324Quando avvii una sessione interattiva, riprendi una conversazione all'avvio con `--continue` o `--resume`, oppure esegui `/clear`, gli hook SessionStart vengono eseguiti in background. Puoi digitare subito, e una conversazione che hai ripreso appare senza attendere gli hook. La prima risposta di Claude attende comunque che gli hook terminino, così il loro contesto raggiunge Claude.1318Quando avvii una sessione interattiva, riprendi una conversazione all'avvio con `--continue` o `--resume`, oppure esegui `/clear`, gli hook SessionStart vengono eseguiti in background. Puoi digitare subito, e una conversazione che hai ripreso appare senza attendere gli hook. La prima risposta di Claude attende comunque che gli hook terminino, così il loro contesto raggiunge Claude.

1325 1319 

1326Quando cambi conversazione con `/resume` all'interno di una sessione, il cambio attende invece che gli hook terminino. Se esegui `/clear` o passi a un'altra conversazione mentre gli hook in background sono ancora in esecuzione, nulla di ciò che restituiscono si applica alla sessione.1320Quando cambi conversazione con `/resume` all'interno di una sessione, il cambio attende invece che gli hook terminino. Se esegui `/clear` o passi a un'altra conversazione mentre gli hook in background sono ancora in esecuzione, nulla di ciò che restituiscono si applica alla sessione.


1583 1577 

1584Fatta eccezione per un hook di comando che esegui con [`async: true`](#run-hooks-in-the-background), un hook `UserPromptSubmit` di comando, HTTP o di 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 che l'output è stato scartato.1578Fatta eccezione per un hook di comando che esegui con [`async: true`](#run-hooks-in-the-background), un hook `UserPromptSubmit` di comando, HTTP o di 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 che l'output è stato scartato.

1585 1579 

1586Un [hook di callback dell'Agent SDK](/docs/it/agent-sdk/hooks) su `UserPromptSubmit` che raggiunge il suo 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.1580Un [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é un callback in quel punto può fungere da controllo di policy che non deve fallire in modo permissivo. La sessione continua.

1587 1581 

1588<h4 id="userpromptsubmit-input">1582<h4 id="userpromptsubmit-input">

1589 Input di UserPromptSubmit1583 Input di UserPromptSubmit


2058 2052 

2059| Campo | Tipo | Esempio | Descrizione |2053| Campo | Tipo | Esempio | Descrizione |

2060| :- | :- | :- | :- |2054| :- | :- | :- | :- |

2061| `status` | string | `"completed"` | `"completed"` per i subagent in primo piano, `"async_launched"` per i subagent in background. I subagent vengono eseguiti in background per impostazione predefinita, quindi anche una chiamata Agent che omette `run_in_background` produce `"async_launched"` |2055| `status` | string | `"completed"` | `"completed"` per i subagent in primo piano, `"async_launched"` per i subagent in background. Per sapere quali subagent vengono eseguiti in ciascun modo, consulta [Eseguire i subagent in primo piano o in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) |

2062| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificatore dell'esecuzione del subagent |2056| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificatore dell'esecuzione del subagent |

2063| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | I blocchi di testo finali del subagent oppure, per un subagent il cui resoconto passa attraverso `SubagentHandback`, una breve nota su quella consegna al loro posto |2057| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | I blocchi di testo finali del subagent oppure, per un subagent il cui resoconto passa attraverso `SubagentHandback`, una breve nota su quella consegna al loro posto |

2064| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modello con cui il subagent è partito, che può differire dal modello richiesto |2058| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modello con cui il subagent è partito, che può differire dal modello richiesto |

2065| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelli usati in ordine, con le ripetizioni consecutive compresse; impostato solo quando il modello è stato cambiato durante l'esecuzione. Richiede Claude Code v2.1.212 o successivo |2059| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelli usati in ordine, con le ripetizioni consecutive compresse; impostato solo quando il modello è stato cambiato durante l'esecuzione |

2066| `totalTokens` | number | `12450` | Numero di token dalla richiesta API finale del subagent: token di input, di output e di cache combinati. Non è un totale sull'intera esecuzione |2060| `totalTokens` | number | `12450` | Numero di token dalla richiesta API finale del subagent: token di input, di output e di cache combinati. Non è un totale sull'intera esecuzione |

2067| `totalDurationMs` | number | `48211` | Durata in tempo reale dell'esecuzione del subagent |2061| `totalDurationMs` | number | `48211` | Durata in tempo reale dell'esecuzione del subagent |

2068| `totalToolUseCount` | number | `7` | Numero di chiamate agli strumenti effettuate dal subagent |2062| `totalToolUseCount` | number | `7` | Numero di chiamate agli strumenti effettuate dal subagent |


2072 2066 

2073Per i subagent in background, lo strumento restituisce un risultato quando l'attività passa in background, quindi `tool_response` non contiene campi di utilizzo: un avvio in background restituisce immediatamente, e un'attività in primo piano che Claude Code sposta in background durante l'esecuzione restituisce al momento di quella transizione. Contiene `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.2067Per i subagent in background, lo strumento restituisce un risultato quando l'attività passa in background, quindi `tool_response` non contiene campi di utilizzo: un avvio in background restituisce immediatamente, e un'attività in primo piano che Claude Code sposta in background durante l'esecuzione restituisce al momento di quella transizione. Contiene `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.

2074 2068 

2075In una risposta `completed`, `resolvedModel` indica il modello con cui il subagent è partito, che può differire dal valore `model` in `tool_input`, ad esempio quando si applica `availableModels` o un altro override. In una risposta `async_launched`, `resolvedModel` indica il modello in uso quando l'agente è passato in background, quindi un cambio avvenuto prima del passaggio in background vi si riflette. `modelsUsed` e il comportamento di `resolvedModel` al momento del passaggio in background richiedono Claude Code v2.1.212 o successivo.2069In una risposta `completed`, `resolvedModel` indica il modello con cui è partito il subagent, che può differire dal valore `model` in `tool_input`, ad esempio quando si applica `availableModels` o un altro override. In una risposta `async_launched`, `resolvedModel` indica il modello in uso quando l'agente è passato in background, quindi un cambio avvenuto prima del passaggio in background vi si riflette.

2076 2070 

2077<a id="askuserquestion" />2071<a id="askuserquestion" />

2078 2072 


2120 2114 

2121Quando un hook restituisce `"ask"`, la richiesta di permesso mostrata all'utente include un'etichetta che identifica la provenienza dell'hook: `[settings]` per un hook da qualsiasi file di impostazioni o dal frontmatter di un agente, `[plugin:<name>]` per l'hook di un plugin, oppure `[skill]` per un hook dal frontmatter di una skill. Questo aiuta gli utenti a capire quale fonte di configurazione sta richiedendo la conferma.2115Quando un hook restituisce `"ask"`, la richiesta di permesso mostrata all'utente include un'etichetta che identifica la provenienza dell'hook: `[settings]` per un hook da qualsiasi file di impostazioni o dal frontmatter di un agente, `[plugin:<name>]` per l'hook di un plugin, oppure `[skill]` per un hook dal frontmatter di una skill. Questo aiuta gli utenti a capire quale fonte di configurazione sta richiedendo la conferma.

2122 2116 

2123Un `"ask"` di un hook forza una richiesta di permesso anche in [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode): il classificatore può comunque negare la chiamata allo strumento, ma non può approvarla silenziosamente. Prima della v2.1.211, il classificatore poteva approvare un comando Bash eseguito al di fuori della [sandbox](/docs/it/sandboxing) senza mostrare la richiesta richiesta dall'hook; il classificatore applicava comunque a quel comando le proprie regole di sicurezza, e un `"deny"` di un hook veniva sempre rispettato.2117Un `"ask"` di un hook forza inoltre una richiesta di permesso in [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode): il classificatore può comunque negare la chiamata allo strumento, ma non può approvarla silenziosamente.

2124 2118 

2125```json theme={null}2119```json theme={null}

2126{2120{


3696| `source` | string | Da dove proviene la richiesta: `"command"` per `/model <name>`, l'impostazione Model in `/config` o l'attivazione della modalità veloce; `"picker"` per un selettore di modelli; `"sdk"` per una richiesta `set_model`, o un cambio di modello in una richiesta `apply_flag_settings`, da un host dell'Agent SDK o da Remote Control |3690| `source` | string | Da dove proviene la richiesta: `"command"` per `/model <name>`, l'impostazione Model in `/config` o l'attivazione della modalità veloce; `"picker"` per un selettore di modelli; `"sdk"` per una richiesta `set_model`, o un cambio di modello in una richiesta `apply_flag_settings`, da un host dell'Agent SDK o da Remote Control |

3697| `context_tokens` | number | Token che la richiesta successiva reinvia come prompt: i token di input, di lettura dalla cache, di creazione della cache e di output dell'ultima risposta nella conversazione principale, sommati. `0` prima della prima risposta |3691| `context_tokens` | number | Token che la richiesta successiva reinvia come prompt: i token di input, di lettura dalla cache, di creazione della cache e di output dell'ultima risposta nella conversazione principale, sommati. `0` prima della prima risposta |

3698| `prompt_cache_warm` | boolean | Se la cache del prompt del modello corrente è probabilmente ancora calda, il che significa che il cambio la fa perdere |3692| `prompt_cache_warm` | boolean | Se la cache del prompt del modello corrente è probabilmente ancora calda, il che significa che il cambio la fa perdere |

3699| `cache_ttl` | string | [Durata della cache del prompt](/docs/it/prompt-caching#cache-lifetime) che Claude Code richiede per questa sessione: `"5m"` o `"1h"` |3693| `cache_ttl` | string | [Durata della cache del prompt](/docs/it/prompt-caching#cache-lifetime) della conversazione principale al momento di questo cambio: `"5m"` o `"1h"` |

3700| `estimated_cache_write_usd` | number | Costo stimato in dollari USA della scrittura di `context_tokens` nella cache del prompt su `to_model` alla tariffa di `cache_ttl`, esclusa la risposta successiva. Il server potrebbe non dover rimemorizzare nella cache l'intero contesto, quindi consideralo una stima |3694| `estimated_cache_write_usd` | number | Costo stimato in dollari USA della scrittura di `context_tokens` nella cache del prompt su `to_model` alla tariffa di `cache_ttl`, esclusa la risposta successiva. Il server potrebbe non dover rimemorizzare nella cache l'intero contesto, quindi consideralo una stima |

3701| `pricing` | string | Come Claude Code ha calcolato il prezzo di `estimated_cache_write_usd`: `"configured"` alle tariffe della tua organizzazione quando le ha configurate, `"catalog"` al prezzo di listino, oppure `"default"` quando `to_model` non ha un prezzo noto e Claude Code ha assunto una tariffa predefinita |3695| `pricing` | string | Come Claude Code ha calcolato il prezzo di `estimated_cache_write_usd`: `"configured"` alle tariffe della tua organizzazione quando le ha configurate, `"catalog"` al prezzo di listino, oppure `"default"` quando `to_model` non ha un prezzo noto e Claude Code ha assunto una tariffa predefinita |

3702 3696 


3757 3751 

3758Un hook PreModelSwitch che non risponde prima del suo timeout blocca il cambio. Il timeout predefinito per questo evento è di 30 secondi.3752Un hook PreModelSwitch che non risponde prima del suo timeout blocca il cambio. Il timeout predefinito per questo evento è di 30 secondi.

3759 3753 

3760Per sapere cosa comporta un codice di uscita diverso da 0 o 2, consulta [Altri codici di uscita](#other-exit-codes).3754Un codice di uscita diverso da 0 o 2 senza un output JSON valido è un [errore non bloccante](#other-exit-codes), quindi il cambio procede, tranne che per gli hook [il cui fallimento lo blocca](#block-the-action-when-a-hook-fails).

3761 3755 

3762<h3 id="postmodelswitch">3756<h3 id="postmodelswitch">

3763 PostModelSwitch3757 PostModelSwitch


4275Ciò che accade con `ok: false` dipende dall'evento:4269Ciò che accade con `ok: false` dipende dall'evento:

4276 4270 

4277* `Stop` e `SubagentStop`: il motivo viene reinviato a Claude come sua prossima istruzione e il turno continua, a meno che la risposta non imposti anche `impossible: true`, nel qual caso Claude Code consente lo stop e il turno termina4271* `Stop` e `SubagentStop`: il motivo viene reinviato a Claude come sua prossima istruzione e il turno continua, a meno che la risposta non imposti anche `impossible: true`, nel qual caso Claude Code consente lo stop e il turno termina

4278* `PreToolUse`: la chiamata dello strumento viene negata; per impostazione predefinita il turno termina e il motivo della negazione appare nella chat come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo a Claude come errore dello strumento in modo che possa adattarsi e continuare, equivalente a un hook di comando con `permissionDecision: "deny"`. Prima della v2.1.210, il motivo della negazione veniva restituito a Claude come errore dello strumento e il turno continuava4272* `PreToolUse`: la chiamata allo strumento viene negata; per impostazione predefinita il turno termina e il motivo della negazione appare nella chat come una riga di avviso. Impostare `continueOnBlock: true` per reinviare invece il motivo a Claude come errore dello strumento in modo che possa adattarsi e continuare, equivalente a un hook di comando con `permissionDecision: "deny"`

4279* `PostToolUse`: per impostazione predefinita il turno termina e il motivo appare nella chat come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo a Claude e continuare il turno invece4273* `PostToolUse`: per impostazione predefinita il turno termina e il motivo appare nella chat come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo a Claude e continuare il turno invece

4280* `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il motivo appare come una riga di avviso. Questi eventi terminano il turno su `decision: "block"` indipendentemente da `continue`4274* `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il motivo appare come una riga di avviso. Questi eventi terminano il turno su `decision: "block"` indipendentemente da `continue`

4281* `PostToolUseFailure` e `TaskCreated`: il motivo viene restituito a Claude come errore dello strumento e il turno continua, indipendentemente da `continueOnBlock`4275* `PostToolUseFailure` e `TaskCreated`: il motivo viene restituito a Claude come errore dello strumento e il turno continua, indipendentemente da `continueOnBlock`

hooks-guide.md +21 −26

Details

497 Come funzionano gli hooks497 Come funzionano gli hooks

498</h2>498</h2>

499 499 

500Claude Code attiva eventi hook in punti specifici del suo ciclo di vita. Quando un evento si attiva, Claude Code esegue tutti gli hooks corrispondenti in parallelo; consultate [Campi del gestore hook](/docs/it/hooks#hook-handler-fields) per come vengono trattati i gestori duplicati. La tabella sottostante mostra ogni evento e quando si attiva:500Claude Code attiva eventi hook in punti specifici del suo ciclo di vita. Quando un evento si attiva, Claude Code esegue gli hook corrispondenti in parallelo; consulta [Campi del gestore hook](/docs/it/hooks#hook-handler-fields) per sapere come vengono trattati i gestori duplicati. La tabella sottostante mostra ogni evento e quando si attiva:

501 501 

502| Evento | Quando si attiva |502| Evento | Quando si attiva |

503| :- | :- |503| :- | :- |


627exit 0 # exit 0 = no decision; the normal permission flow applies627exit 0 # exit 0 = no decision; the normal permission flow applies

628```628```

629 629 

630Il codice di uscita determina cosa succede dopo:630Con un codice di uscita diverso da 0 e 2 e senza un output JSON valido, l'azione procede nella maggior parte degli eventi, a meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](/docs/it/hooks#block-the-action-when-a-hook-fails). Un hook con `onFailure` impostato su `"block"` ne è un esempio. Esci con 0 per non riportare obiezioni, oppure esci con 2 per bloccare l'azione:

631 631 

632* **Exit 0**: il vostro hook non riporta obiezioni attraverso il suo codice di uscita.632* **Exit 0**: se esci con 0 da un hook `PreToolUse`, la chiamata allo strumento passa comunque per il normale [flusso dei permessi](/docs/it/permissions), perché exit 0 non la approva. Per gli hook `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, Claude Code aggiunge al contesto di Claude lo stdout che [tratta come testo semplice](/docs/it/hooks#exit-code-0).

633 * Per un hook `PreToolUse` questo non approva la chiamata dello strumento: il normale [flusso di autorizzazione](/docs/it/permissions) si applica ancora.633* **Exit 2**: scrivi un motivo su stderr. A seconda dell'evento, Claude lo riceve come feedback in modo da potersi adattare, lo vede l'utente oppure non compare alcun messaggio, come con `ConfigChange` e `Elicitation`. Alcuni eventi non possono essere bloccati: per `SessionStart` e altri, exit 2 mostra stderr all'utente e l'esecuzione continua. Consulta [exit code 2 behavior per evento](/docs/it/hooks#exit-code-2-behavior-per-event) per l'elenco completo.

634 * Per gli hook `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, Claude Code aggiunge stdout che [tratta come testo semplice](/docs/it/hooks#exit-code-0) al contesto di Claude.634* **Qualsiasi altro codice di uscita**: per le eccezioni specifiche per evento, come `WorktreeCreate` che fallisce con qualsiasi uscita diversa da zero, consulta [Exit code output](/docs/it/hooks#exit-code-output). Negli altri eventi, a meno che l'hook non sia uno di quelli il cui fallimento blocca l'azione, individua il tuo caso in base a ciò che il tuo hook ha stampato su stdout:

635* **Exit 2**: Claude Code blocca l'azione. Scrivete un motivo su stderr. Dove finisce dipende dall'evento: alcuni eventi lo alimentano a Claude come feedback in modo che possa adattarsi, altri lo mostrano all'utente, e alcuni, come `ConfigChange` e `Elicitation`, non mostrano alcun messaggio. Alcuni eventi non possono essere bloccati: per `SessionStart` e altri, exit 2 mostra stderr all'utente e l'esecuzione continua. Consultate [exit code 2 behavior per evento](/docs/it/hooks#exit-code-2-behavior-per-event) per l'elenco completo.635 * Un oggetto analizzato che supera la validazione dello schema: Claude Code ignora il codice di uscita, il JSON da solo decide il risultato e l'hook non viene segnalato come errore.

636* **Qualsiasi altro codice di uscita**: per la maggior parte degli eventi, l'azione procede come [errore non bloccante](/docs/it/hooks#exit-code-output), a meno che l'hook non sia uno di quelli [il cui fallimento blocca l'azione](/docs/it/hooks#block-the-action-when-a-hook-fails) o che il suo output JSON superi la validazione:636 * Un oggetto analizzato che non supera la validazione dello schema, o uno stdout che Claude Code [tenta di analizzare come JSON](/docs/it/hooks#exit-code-0) ma che non è JSON valido: l'azione procede come errore non bloccante. Controlla l'avviso `<hook name> hook error` per il messaggio di validazione o di analisi.

637 * Un oggetto analizzato che supera la validazione dello schema: Claude Code ignora il codice di uscita, il JSON da solo decide il risultato e l'hook non viene segnalato come errore. Le eccezioni per evento, come `WorktreeCreate` che fallisce con qualsiasi uscita diversa da zero, sono elencate nella sezione [Exit code output](/docs/it/hooks#exit-code-output) del riferimento.

638 * Un oggetto analizzato che non supera la validazione dello schema, o uno stdout che Claude Code [tenta di analizzare come JSON](/docs/it/hooks#exit-code-0) ma che non è JSON valido: un errore non bloccante; l'avviso riporta il messaggio di validazione o di analisi.

639 * Uno stdout che Claude Code [tratta come testo semplice](/docs/it/hooks#exit-code-0), o uno stdout vuoto: l'azione procede come errore non bloccante. 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 catturare lo stderr completo, abilita il [debug logging](/docs/it/hooks#debug-hooks) con `claude --debug` o eseguendo `/debug` durante la sessione.637 * Uno stdout che Claude Code [tratta come testo semplice](/docs/it/hooks#exit-code-0), o uno stdout vuoto: l'azione procede come errore non bloccante. 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 catturare lo stderr completo, abilita il [debug logging](/docs/it/hooks#debug-hooks) con `claude --debug` o eseguendo `/debug` durante la sessione.

640 638 

641<h4 id="structured-json-output">639<h4 id="structured-json-output">


662 660 

663Con `"deny"`, Claude Code annulla la chiamata dello strumento e alimenta `permissionDecisionReason` di nuovo a Claude.661Con `"deny"`, Claude Code annulla la chiamata dello strumento e alimenta `permissionDecisionReason` di nuovo a Claude.

664 662 

665Su `PreToolUse`, Claude Code gestisce ogni valore `permissionDecision` come segue:663Su `PreToolUse`, puoi anche restituire `"ask"` per mostrare all'utente la normale richiesta di permesso, oppure `"allow"` per saltare la richiesta di permesso interattiva. Con `"allow"`, le regole di negazione e di richiesta, incluse le liste di negazione gestite dall'azienda, si applicano comunque, così come le richieste per:

666 664 

667* `"allow"`: salta la richiesta di permesso interattiva. Le regole di negazione e di richiesta, incluse le liste di negazione gestite dall'azienda, si applicano comunque, così come le richieste per:665* Letture da [percorsi di rete](/docs/it/permissions#network-paths)

668 666* Strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool)

669 * Letture da [percorsi di rete](/docs/it/permissions#network-paths)667* Strumenti dei connettori [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) nelle sessioni in cui quell'impostazione raggiunge Claude Code

670 * Strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool)

671 * Strumenti dei connettori [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) nelle sessioni in cui quell'impostazione raggiunge Claude Code

672 668 

673 Per sapere cosa fa `"allow"` in plan mode, consulta [Approvazioni degli hook in plan mode](/docs/it/permissions#hook-approvals-in-plan-mode).669 Per sapere cosa fa `"allow"` in plan mode, consulta [Approvazioni degli hook in plan mode](/docs/it/permissions#hook-approvals-in-plan-mode).

674* `"deny"`: annulla la chiamata dello strumento e invia il motivo a Claude

675* `"ask"`: mostra il prompt di autorizzazione all'utente come al solito

676 670 

677Un quarto valore, `"defer"`, è disponibile in [modalità non interattiva](/docs/it/headless) con il flag `-p`. Esce dal processo con la chiamata dello strumento preservata in modo che un wrapper SDK Agent possa raccogliere input e riprendere. Consultate [Rinviare una chiamata di strumento per dopo](/docs/it/hooks#defer-a-tool-call-for-later) nel riferimento.671Un quarto valore, `"defer"`, è disponibile in [modalità non interattiva](/docs/it/headless) con il flag `-p`. Esce dal processo con la chiamata dello strumento preservata in modo che un wrapper SDK Agent possa raccogliere input e riprendere. Consultate [Rinviare una chiamata di strumento per dopo](/docs/it/hooks#defer-a-tool-call-for-later) nel riferimento.

678 672 


892 886 

893* `"ok": true`: l'azione procede887* `"ok": true`: l'azione procede

894* `"ok": false`: ciò che accade dipende dall'evento:888* `"ok": false`: ciò che accade dipende dall'evento:

895 * `Stop` e `SubagentStop`: il `reason` viene alimentato di nuovo a Claude in modo che continui a lavorare, a meno che la risposta non imposti anche `"impossible": true` per contrassegnare la condizione come una che non può mai essere soddisfatta, nel qual caso Claude Code consente lo stop e il turno termina889 * `Stop` e `SubagentStop`: il `reason` viene restituito a Claude in modo che continui a lavorare, a meno che la risposta non imposti anche `"impossible": true` per contrassegnare la condizione come una che non può mai essere soddisfatta, nel qual caso Claude Code consente lo stop e il turno termina

896 * `PreToolUse`: la chiamata dello strumento viene negata; per impostazione predefinita il turno termina e il `reason` di negazione appare nella chat come una riga di avviso. Impostate `continueOnBlock: true` sull'hook per restituire invece il `reason` a Claude come errore dello strumento, in modo che possa adattarsi e continuare. Prima della v2.1.210, il `reason` di negazione veniva restituito a Claude come errore dello strumento e il turno continuava890 * `PreToolUse`: la chiamata allo strumento viene negata; per impostazione predefinita il turno termina e il `reason` di negazione appare nella chat come una riga di avviso. Imposta `continueOnBlock: true` sull'hook per restituire invece il `reason` a Claude come errore dello strumento, in modo che possa adattarsi e continuare

897 * `PostToolUse`: per impostazione predefinita il turno termina e il `reason` appare nella chat come una riga di avviso. Impostate `continueOnBlock: true` per alimentare il `reason` di nuovo a Claude e continuare il turno invece891 * `PostToolUse`: per impostazione predefinita il turno termina e il `reason` appare nella chat come una riga di avviso. Imposta `continueOnBlock: true` per restituire invece il `reason` a Claude e continuare il turno

898 * `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il `reason` appare nella chat come una riga di avviso892 * `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il `reason` appare nella chat come una riga di avviso

899 893 

900Questo esempio utilizza un hook `Stop` per chiedere al modello se tutti i compiti richiesti sono completi. Se il modello restituisce `"ok": false` perché la condizione non è ancora soddisfatta, Claude continua a lavorare e utilizza il `reason` come sua prossima istruzione:894Questo esempio utilizza un hook `Stop` per chiedere al modello se tutti i compiti richiesti sono completi. Se il modello restituisce `"ok": false` perché la condizione non è ancora soddisfatta, Claude continua a lavorare e utilizza il `reason` come sua prossima istruzione:


1019 Hook e modalità di permesso1013 Hook e modalità di permesso

1020</h3>1014</h3>

1021 1015 

1022Gli hook `PreToolUse` si attivano prima di qualsiasi controllo della modalità di permesso, in ogni [modalità di permesso](/docs/it/permission-modes), incluso `dontAsk`. Un hook che restituisce `permissionDecision: "deny"` blocca lo strumento anche in modalità `bypassPermissions` o con `--dangerously-skip-permissions`. Questo ti consente di applicare criteri che gli utenti non possono aggirare cambiando la propria modalità di permesso.1016Con un hook in un file di impostazioni o nel file `hooks/hooks.json` di un plugin non puoi allentare le restrizioni oltre quanto consentito dalle regole di permesso, e il `"deny"` di un hook vale in ogni modalità di permesso:

1023 

1024Il contrario non vale: gli hook nei file di impostazioni e nel file `hooks/hooks.json` di un plugin possono rendere più rigide le restrizioni, ma non allentarle oltre quanto consentito dalle regole di permesso. Un hook che restituisce `"allow"` non aggira le regole di negazione delle impostazioni, e non può sopprimere la richiesta di permesso per:

1025 1017 

1026* Le letture da [percorsi di rete](/docs/it/permissions#network-paths)1018* **Cosa vale comunque rispetto ad `"allow"`**: un hook che restituisce `"allow"` non aggira le regole di negazione delle impostazioni, e non può sopprimere la richiesta di permesso per:

1027* Gli strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool)1019 * Le letture da [percorsi di rete](/docs/it/permissions#network-paths)

1028* Gli strumenti dei connettori che [la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) nelle sessioni in cui tale impostazione raggiunge Claude Code1020 * Gli strumenti MCP contrassegnati con [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool)

1021 * Gli strumenti dei connettori che [la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) nelle sessioni in cui tale impostazione raggiunge Claude Code

1029 1022 

1030In [plan mode](/docs/it/permissions#hook-approvals-in-plan-mode), se il tuo hook `PreToolUse` restituisce `"allow"` per la modifica di un file, ottieni la stessa richiesta di permesso, lo stesso blocco o la stessa approvazione che la modifica otterrebbe senza alcun hook. Per rimuovere questo limite sulle approvazioni degli hook, [approva il piano](/docs/it/permission-modes#review-and-approve-a-plan) o passa a un'altra modalità di permesso.1023In [plan mode](/docs/it/permissions#hook-approvals-in-plan-mode), se il tuo hook `PreToolUse` restituisce `"allow"` per la modifica di un file, ottieni la stessa richiesta di permesso, lo stesso blocco o la stessa approvazione che la modifica otterrebbe senza alcun hook. Per rimuovere questo limite sulle approvazioni degli hook, [approva il piano](/docs/it/permission-modes#review-and-approve-a-plan) o passa a un'altra modalità di permesso.

1031 1024 

1025* **`"deny"` in ogni modalità di permesso**: un hook che restituisce `permissionDecision: "deny"` blocca lo strumento anche in modalità `bypassPermissions` o con `--dangerously-skip-permissions`. Gli hook `PreToolUse` si attivano prima di qualsiasi controllo della modalità di permesso, in ogni [modalità di permesso](/docs/it/permission-modes), incluso `dontAsk`. Questo ti consente di applicare criteri che gli utenti non possono aggirare cambiando la propria modalità di permesso.

1026 

1032Un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce `tool.check` può approvare una chiamata bloccata dal tuo hook `PreToolUse`, a meno che l'hook non si trovi nelle impostazioni gestite. In plan mode, il mod può approvare una chiamata di questo tipo quando è di sola lettura, ma non la modifica di un file o un'altra chiamata che non sia di sola lettura. [Estendere i permessi con gli hook](/docs/it/permissions#extend-permissions-with-hooks) elenca quali regole prevalgono su un mod.1027Un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce `tool.check` può approvare una chiamata bloccata dal tuo hook `PreToolUse`, a meno che l'hook non si trovi nelle impostazioni gestite. In plan mode, il mod può approvare una chiamata di questo tipo quando è di sola lettura, ma non la modifica di un file o un'altra chiamata che non sia di sola lettura. [Estendere i permessi con gli hook](/docs/it/permissions#extend-permissions-with-hooks) elenca quali regole prevalgono su un mod.

1033 1028 

1034<h3 id="hook-not-firing">1029<h3 id="hook-not-firing">

Details

183 Rimappa sequenze di tasti in modalità INSERT183 Rimappa sequenze di tasti in modalità INSERT

184</h3>184</h3>

185 185 

186L'impostazione [`vimInsertModeRemaps`](/docs/it/settings-reference#viminsertmoderemaps) mappa una sequenza di due tasti in modalità INSERT su Escape, quindi una mappatura come `jj` ti riporta in modalità NORMAL. Richiede Claude Code v2.1.208 o successivo.186L'impostazione [`vimInsertModeRemaps`](/docs/it/settings-reference#viminsertmoderemaps) mappa una sequenza di due tasti in modalità INSERT su Escape, quindi una mappatura come `jj` ti riporta in modalità NORMAL.

187 187 

188Il seguente esempio di `~/.claude/settings.json` attiva la modalità vim e mappa `jj` su Escape:188Il seguente esempio di `~/.claude/settings.json` attiva la modalità vim e mappa `jj` su Escape:

189 189 


248| `cc` | Cambia riga |248| `cc` | Cambia riga |

249| `C` | Cambia fino alla fine della riga |249| `C` | Cambia fino alla fine della riga |

250| `cw`/`ce`/`cb` | Cambia parola/fino alla fine/indietro |250| `cw`/`ce`/`cb` | Cambia parola/fino alla fine/indietro |

251| `s` | Sostituisci carattere: elimina il carattere sotto il cursore e entra in modalità INSERT. Richiede Claude Code v2.1.211 o successivo |251| `s` | Sostituisci carattere: elimina il carattere sotto il cursore e entra in modalità INSERT |

252| `S` | Sostituisci riga: cancella la riga e entra in modalità INSERT. Richiede Claude Code v2.1.211 o successivo |252| `S` | Sostituisci riga: cancella la riga e entra in modalità INSERT |

253| `yy`/`Y` | Copia riga |253| `yy`/`Y` | Copia riga |

254| `yw`/`ye`/`yb` | Copia parola/fino alla fine/indietro |254| `yw`/`ye`/`yb` | Copia parola/fino alla fine/indietro |

255| `p` | Incolla dopo il cursore |255| `p` | Incolla dopo il cursore |


471* Dopo il primo turno di una conversazione, in alcune sessioni471* Dopo il primo turno di una conversazione, in alcune sessioni

472* La risposta precedente è terminata con un errore472* La risposta precedente è terminata con un errore

473* Mentre siete in plan mode473* Mentre siete in plan mode

474* Il vostro account è vicino o al limite di utilizzo. Per mantenere i suggerimenti attivi fino a quando non raggiungete il limite, impostate [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/it/env-vars) su `true`. Prima della v2.1.238, Claude Code li saltava vicino al limite anche con la variabile impostata su `true`474* Il tuo account è vicino o al limite di utilizzo. Per evitare che questa esclusione si applichi finché non raggiungi il limite, imposta [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/it/env-vars) su `true`. Prima della v2.1.238, Claude Code saltava i suggerimenti vicino al limite anche con la variabile impostata su `true`

475* In un [agent team](/docs/it/agent-teams), nelle sessioni dei compagni di squadra per impostazione predefinita. La sessione del lead mostra i suggerimenti475* In un [agent team](/docs/it/agent-teams), nelle sessioni dei compagni di squadra per impostazione predefinita. La sessione del lead mostra i suggerimenti

476 476 

477L'avviso `Showing fewer prompt suggestions · use one to bring them back` significa che Claude Code mostra i suggerimenti meno spesso perché ne hai lasciati molti di fila inutilizzati. Per tornare alla frequenza abituale, usa un suggerimento oppure imposta [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/it/env-vars) su `true`.477L'avviso `Showing fewer prompt suggestions · use one to bring them back` significa che Claude Code mostra i suggerimenti meno spesso perché ne hai lasciati molti di fila inutilizzati. Per tornare alla frequenza abituale, usa un suggerimento oppure imposta [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/it/env-vars) su `true`.


759 759 

760Le vostre cinque domande laterali precedenti più recenti appaiono come un elenco attenuato sopra la risposta attuale, con un conteggio di quelle più vecchie. Rimangono fuori dalla cronologia della conversazione.760Le vostre cinque domande laterali precedenti più recenti appaiono come un elenco attenuato sopra la risposta attuale, con un conteggio di quelle più vecchie. Rimangono fuori dalla cronologia della conversazione.

761 761 

762Per tornare all'overlay dopo averlo dismissito, eseguite `/btw` senza una domanda. L'overlay si riapre sul vostro scambio più recente. Prima della v2.1.212, `/btw` senza una domanda stampava un messaggio di utilizzo.762Per tornare all'overlay dopo averlo chiuso, esegui `/btw` senza una domanda. L'overlay si riapre sul tuo scambio più recente.

763 763 

764Una volta che la risposta appare, l'overlay accetta questi tasti.764Una volta che la risposta appare, l'overlay accetta questi tasti.

765 765 

keybindings.md +9 −10

Details

128| `chat:thinkingToggle` | Meta+T | Attiva/disattiva il pensiero esteso |128| `chat:thinkingToggle` | Meta+T | Attiva/disattiva il pensiero esteso |

129| `chat:submit` | Invio | Invia il messaggio |129| `chat:submit` | Invio | Invia il messaggio |

130| `chat:queueSubmit` | Ctrl+X Invio | Invia il messaggio, contrassegnato per attendere il suo turno: mentre Claude sta lavorando, Claude Code lo [mette in coda](/docs/it/interactive-mode#queue-messages-while-claude-works) e non interrompe mai il turno. A differenza di `chat:submit`, invia la bozza anche quando un suggerimento di completamento automatico è evidenziato. Richiede v2.1.247 o successiva |130| `chat:queueSubmit` | Ctrl+X Invio | Invia il messaggio, contrassegnato per attendere il suo turno: mentre Claude sta lavorando, Claude Code lo [mette in coda](/docs/it/interactive-mode#queue-messages-while-claude-works) e non interrompe mai il turno. A differenza di `chat:submit`, invia la bozza anche quando un suggerimento di completamento automatico è evidenziato. Richiede v2.1.247 o successiva |

131| `chat:sendNow` | Ctrl+Invio, Ctrl+X Ctrl+S | Invia i tuoi [messaggi in coda](/docs/it/interactive-mode#queue-messages-while-claude-works) e la tua bozza insieme a loro, subito. [Quando Claude Code invia quello che hai messo in coda](/docs/it/interactive-mode#when-claude-code-sends-what-you-queued) copre cosa succede al turno su cui Claude sta lavorando. Quando nulla è in esecuzione, il tasto invia la bozza, e in [shell mode](/docs/it/interactive-mode#shell-mode-with-prefix) mette in coda solo il comando. I terminali che non segnalano tasti estesi consegnano `Ctrl+Invio` come semplice `Invio`, quindi `Ctrl+X Ctrl+S` è l'associazione che funziona in qualsiasi terminale. Richiede v2.1.275 o successiva |131| `chat:sendNow` | Ctrl+Invio, Ctrl+X Ctrl+S | Invia i tuoi [messaggi in coda](/docs/it/interactive-mode#queue-messages-while-claude-works) e la tua bozza insieme a loro, subito. [Quando Claude Code invia quello che hai messo in coda](/docs/it/interactive-mode#when-claude-code-sends-what-you-queued) copre cosa succede al turno su cui Claude sta lavorando. Quando nulla è in esecuzione, il tasto invia la bozza, e in [modalità shell](/docs/it/interactive-mode#shell-mode-with-prefix) mette in coda solo il comando. I terminali che non segnalano tasti estesi consegnano `Ctrl+Enter` come semplice `Enter`, quindi `Ctrl+X Ctrl+S` è l'associazione che funziona in qualsiasi terminale. Richiede v2.1.275 o successiva |

132| `chat:newline` | Ctrl+J | Inserisci una nuova riga senza inviare |132| `chat:newline` | Ctrl+J | Inserisci una nuova riga senza inviare |

133| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | Annulla l'ultima azione |133| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | Annulla l'ultima azione |

134| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Apri nell'editor esterno. Il [dispatch input della vista agente](/docs/it/agent-view#keyboard-shortcuts) segue anche le associazioni a singolo tasto di questa azione |134| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Apri nell'editor esterno. Il [dispatch input della vista agente](/docs/it/agent-view#keyboard-shortcuts) segue anche le associazioni a singolo tasto di questa azione |


232| `historySearch:execute` | Invio | Esegui il comando selezionato |232| `historySearch:execute` | Invio | Esegui il comando selezionato |

233| `historySearch:cycleScope` | Ctrl+S | Cicla l'ambito: sessione, progetto, ovunque |233| `historySearch:cycleScope` | Ctrl+S | Cicla l'ambito: sessione, progetto, ovunque |

234 234 

235I valori predefiniti di `historySearch:next`, `historySearch:accept`, `historySearch:cancel` e `historySearch:execute` si applicano alla ricerca nella cronologia inline nel renderer classico, che ricerca sempre i prompt da tutti i progetti. `historySearch:cycleScope` ha effetto solo nel [rendering a schermo intero](/docs/it/fullscreen), dove `Ctrl+R` apre una finestra di dialogo di ricerca e `Ctrl+S` cicla il suo ambito. I tasti della finestra di dialogo sono fissi e non possono essere riassociati: `Invio` o `Tab` posiziona la corrispondenza evidenziata nell'input del prompt e `Esc` annulla.235I valori predefiniti di `historySearch:next`, `historySearch:accept`, `historySearch:cancel` e `historySearch:execute` si applicano alla ricerca nella cronologia inline nel renderer classico, che ricerca sempre i prompt da tutti i progetti. `historySearch:cycleScope` ha effetto solo nel [rendering a schermo intero](/docs/it/fullscreen), dove `Ctrl+R` apre invece una finestra di dialogo di ricerca e `Ctrl+S` cicla il suo ambito. Gli altri tasti della finestra di dialogo sono fissi e non possono essere riassociati: `Enter` o `Tab` posiziona la corrispondenza evidenziata nell'input del prompt e `Esc` annulla.

236 236 

237<h3 id="task-actions">237<h3 id="task-actions">

238 Azioni delle attività238 Azioni delle attività


277 277 

278In una finestra di dialogo con schede, `tabs:next` e `tabs:previous` cambiano le schede mentre la riga delle schede ha il focus. In alcuni dialoghi, come `/help` e `/sandbox`, i tasti di cambio scheda funzionano anche dall'interno del contenuto della scheda.278In una finestra di dialogo con schede, `tabs:next` e `tabs:previous` cambiano le schede mentre la riga delle schede ha il focus. In alcuni dialoghi, come `/help` e `/sandbox`, i tasti di cambio scheda funzionano anche dall'interno del contenuto della scheda.

279 279 

280`Su` e `Giù` spostano il focus tra la riga delle schede e il contenuto della scheda, e un elenco nel contenuto risponde ai tasti solo mentre ha il focus.280`Up` e `Down` spostano il focus tra la riga delle schede e il contenuto della scheda, e un elenco nel contenuto risponde ai tasti solo mentre ha il focus.

281 281 

282<h3 id="attachments-actions">282<h3 id="attachments-actions">

283 Azioni degli allegati283 Azioni degli allegati


309| `footer:close` | x | Interrompi l'[agente](/docs/it/sub-agents#observe-and-steer-running-forks) o il [workflow](/docs/it/workflows#manage-runs) selezionato, oppure chiudi la sua riga se non è più in esecuzione |309| `footer:close` | x | Interrompi l'[agente](/docs/it/sub-agents#observe-and-steer-running-forks) o il [workflow](/docs/it/workflows#manage-runs) selezionato, oppure chiudi la sua riga se non è più in esecuzione |

310| `footer:dismiss` | (non associato) | Associare un tasto a questa azione non ha alcun effetto, e un `keybindings.json` che la nomina rimane valido. Prima della v2.1.281, Backspace e Canc erano associati a essa e chiudevano il collegamento dell'artefatto selezionato dal piè di pagina. |310| `footer:dismiss` | (non associato) | Associare un tasto a questa azione non ha alcun effetto, e un `keybindings.json` che la nomina rimane valido. Prima della v2.1.281, Backspace e Canc erano associati a essa e chiudevano il collegamento dell'artefatto selezionato dal piè di pagina. |

311 311 

312Mentre un elemento del piè di pagina è selezionato, come una riga nel pannello dell'agente sotto il prompt, `Invio` lo apre anche quando riassoci `Invio` nel contesto `Chat` a `chat:queueSubmit` o `chat:newline`.312Mentre un elemento del piè di pagina è selezionato, come una riga nel pannello dell'agente sotto il prompt, `Enter` lo apre anche quando riassoci `Enter` nel contesto `Chat` a `chat:queueSubmit` o `chat:newline`.

313 313 

314Le associazioni `Chat` sui tasti che il contesto `Footer` non associa, come `Shift+Tab` per `chat:cycleMode`, continuano a funzionare mentre un elemento è selezionato.314Le associazioni `Chat` sui tasti che il contesto `Footer` non associa, come `Shift+Tab` per `chat:cycleMode`, continuano a funzionare mentre un elemento è selezionato.

315 315 


353| `diff:nextFile` | Giù, J | File successivo nell'elenco dei file; scorri verso il basso di una riga nella vista dettagli |353| `diff:nextFile` | Giù, J | File successivo nell'elenco dei file; scorri verso il basso di una riga nella vista dettagli |

354| `diff:back` | (non associato) | Torna indietro nel visualizzatore diff. Escape esegue l'azione indietro tramite `diff:dismiss`. Il valore predefinito precedente di Sinistra nella vista dettagli è stato rimosso nella v2.1.203 |354| `diff:back` | (non associato) | Torna indietro nel visualizzatore diff. Escape esegue l'azione indietro tramite `diff:dismiss`. Il valore predefinito precedente di Sinistra nella vista dettagli è stato rimosso nella v2.1.203 |

355 355 

356L'elenco dei file risponde anche alle [azioni di selezione](#select-actions), attraverso i loro tasti predefiniti e le tue associazioni `Select`. `select:previous` e `select:next` si spostano al file precedente e successivo, e `Invio` apre il diff del file selezionato tramite `select:accept`. Per cambiare uno di quei tasti per l'elenco dei file solo, associa l'azione Select in un blocco `DiffDialog`.356L'elenco dei file risponde anche alle [azioni di selezione](#select-actions), attraverso i loro tasti predefiniti e le tue associazioni `Select`. `select:previous` e `select:next` si spostano al file precedente e successivo, e `Enter` apre il diff del file selezionato tramite `select:accept`. Per cambiare uno di quei tasti solo per l'elenco dei file, associa l'azione Select in un blocco `DiffDialog`.

357 357 

358Prima della v2.1.283, l'elenco dei file ignorava le associazioni `Select`, e `Invio` apriva il diff del file selezionato tramite un'azione `diff:viewDetails` separata. Se il tuo `keybindings.json` associa `diff:viewDetails`, l'associazione continua a funzionare nell'elenco dei file come `select:accept`.358Prima della v2.1.283, l'elenco dei file ignorava le associazioni `Select`, e `Enter` apriva il diff del file selezionato tramite un'azione `diff:viewDetails` separata. Se il tuo `keybindings.json` associa `diff:viewDetails`, l'associazione continua a funzionare nell'elenco dei file come `select:accept`.

359 359 

360La vista dettagli diff associa anche i tasti in stile pager alle [azioni di scorrimento](#scroll-actions) standard. Queste associazioni fanno parte del contesto `DiffDialog` e si applicano solo nella vista dettagli; i valori predefiniti del contesto `Scroll` elencati in [Azioni di scorrimento](#scroll-actions) rimangono invariati.360La vista dettagli diff associa anche i tasti in stile pager alle [azioni di scorrimento](#scroll-actions) standard. Queste associazioni fanno parte del contesto `DiffDialog` e si applicano solo nella vista dettagli; i valori predefiniti del contesto `Scroll` elencati in [Azioni di scorrimento](#scroll-actions) rimangono invariati.

361 361 


462| `abovePrompt:highlightNext` | Giù | Evidenzia l'opzione successiva in un selettore con il focus |462| `abovePrompt:highlightNext` | Giù | Evidenzia l'opzione successiva in un selettore con il focus |

463| `abovePrompt:highlightPrevious` | Su | Evidenzia l'opzione precedente in un selettore con il focus |463| `abovePrompt:highlightPrevious` | Su | Evidenzia l'opzione precedente in un selettore con il focus |

464 464 

465Due contesti associano per impostazione predefinita altri tasti a queste azioni:465Nel [contesto `AbovePrompt`](#contexts), anche Destra e Sinistra eseguono `abovePrompt:next` e `abovePrompt:previous` per impostazione predefinita, e anche Spazio esegue `abovePrompt:press`.

466 

467* **`AbovePrompt`**: anche Destra e Sinistra eseguono `abovePrompt:next` e `abovePrompt:previous`, e anche Spazio esegue `abovePrompt:press`

468* **`AbovePromptInput`**: anche Giù e Su eseguono `abovePrompt:next` e `abovePrompt:previous`

469 466 

470Il contesto `AbovePrompt` associa anche Su, Giù, PagSu, PagGiù, Home e Fine alle [azioni di scorrimento del riquadro](#pane-actions) da `pane:scrollUp` a `pane:bottom`, quindi per cambiare uno di quei tasti per la fascia, associa l'azione di scorrimento in un blocco `AbovePrompt`.467Il contesto `AbovePrompt` associa anche Su, Giù, PagSu, PagGiù, Home e Fine alle [azioni di scorrimento del riquadro](#pane-actions) da `pane:scrollUp` a `pane:bottom`, quindi per cambiare uno di quei tasti per la fascia, associa l'azione di scorrimento in un blocco `AbovePrompt`.

471 468 


769* In modalità vim NORMAL, `?` mostra il menu della guida (comportamento vim)766* In modalità vim NORMAL, `?` mostra il menu della guida (comportamento vim)

770* In modalità vim NORMAL, `/` apre la ricerca nella cronologia, lo stesso di Ctrl+R in modalità standard767* In modalità vim NORMAL, `/` apre la ricerca nella cronologia, lo stesso di Ctrl+R in modalità standard

771 768 

769Nella riga `Other` di una domanda posta da Claude, in modalità vim Escape non annulla subito la domanda. Tranne che in [modalità screen reader](/docs/it/accessibility), la riga parte in modalità INSERT ogni volta che le dai il focus. Quando premi Escape nella riga `Other`, la riga passa alla modalità NORMAL oppure scarta un comando vim digitato a metà, e la domanda resta aperta. Premi di nuovo Escape in modalità NORMAL per annullare la domanda.

770 

772<h2 id="validation">771<h2 id="validation">

773 Convalida772 Convalida

774</h2>773</h2>

mcp.md +5 −5

Details

324* Per un server nell'[ambito](#mcp-installation-scopes) locale, di progetto o utente, o nella configurazione MCP gestita, l'origine mostra l'host come scritto in quella configurazione, quindi un riferimento `${VAR}` nell'host non viene espanso nel messaggio.324* Per un server nell'[ambito](#mcp-installation-scopes) locale, di progetto o utente, o nella configurazione MCP gestita, l'origine mostra l'host come scritto in quella configurazione, quindi un riferimento `${VAR}` nell'host non viene espanso nel messaggio.

325* Per un errore senza codice di stato o di errore, Claude Code mostra il testo di errore senza l'origine.325* Per un errore senza codice di stato o di errore, Claude Code mostra il testo di errore senza l'origine.

326 326 

327Un server remoto la cui configurazione ha un `url` vuoto viene mostrato come `not configured` in `/mcp`, in `claude mcp list`, e nel gestore [`/plugin`](/docs/it/plugins/install), e Claude Code non tenta di connettersi ad esso. Un plugin può includere una voce segnaposto come questa per un connettore che configurerai in seguito, quindi Claude Code non la segnala come un errore o un problema di configurazione. La vista dei dettagli del server in `/mcp` riporta `No URL configured for this server`; imposta l'`url` della voce per connetterla. Prima della v2.1.208, Claude Code segnalava un `url` vuoto come un problema di configurazione con un prompt per riconnettersi.327Un server remoto la cui configurazione ha un `url` vuoto viene mostrato come `not configured` in `/mcp`, in `claude mcp list`, e nel gestore [`/plugin`](/docs/it/plugins/install), e Claude Code non tenta di connettersi ad esso. Un plugin può includere una voce segnaposto come questa per un connettore che configurerai in seguito, quindi Claude Code non la segnala come un errore o un problema di configurazione. La vista dei dettagli del server in `/mcp` riporta `No URL configured for this server`; imposta l'`url` della voce per connetterla.

328 328 

329<h4 id="configuration-warnings">329<h4 id="configuration-warnings">

330 Avvisi di configurazione330 Avvisi di configurazione


403* **In una sessione interattiva del terminale**, Claude Code recupera l'elenco aggiornato da quel server, quindi non devi riconnetterlo.403* **In una sessione interattiva del terminale**, Claude Code recupera l'elenco aggiornato da quel server, quindi non devi riconnetterlo.

404* **In [modalità non interattiva](/docs/it/headless) con il flag `-p` e nell'[Agent SDK](/docs/it/agent-sdk/overview)**, Claude Code aggiorna solo l'elenco degli strumenti in seguito a queste notifiche.404* **In [modalità non interattiva](/docs/it/headless) con il flag `-p` e nell'[Agent SDK](/docs/it/agent-sdk/overview)**, Claude Code aggiorna solo l'elenco degli strumenti in seguito a queste notifiche.

405 405 

406Se una richiesta di aggiornamento fallisce, Claude Code mantiene gli strumenti, i prompt e le risorse del server individuati in precedenza fino a quando un aggiornamento successivo non riesce. Prima della v2.1.214, un errore transitorio durante l'aggiornamento sostituiva gli strumenti, i prompt e le risorse del server con un elenco vuoto.406Se una richiesta di aggiornamento fallisce, Claude Code mantiene gli strumenti, i prompt e le risorse del server individuati in precedenza fino a quando un aggiornamento successivo non riesce.

407 407 

408<h4 id="notification-streams-on-the-v2-runtime">408<h4 id="notification-streams-on-the-v2-runtime">

409 Flussi di notifica sul runtime v2409 Flussi di notifica sul runtime v2


502 Spostamento automatico in background delle chiamate agli strumenti lunghe502 Spostamento automatico in background delle chiamate agli strumenti lunghe

503</h3>503</h3>

504 504 

505Una chiamata a uno strumento MCP nella conversazione principale che è ancora in esecuzione dopo due minuti viene spostata in un'attività in background invece di bloccare la sessione. Claude riceve immediatamente l'ID dell'attività e continua a lavorare, e il risultato arriva come notifica dell'attività quando la chiamata si conclude. Lo spostamento automatico in background richiede Claude Code v2.1.212 o successivo.505Una chiamata a uno strumento MCP nella conversazione principale che è ancora in esecuzione dopo due minuti viene spostata in un'attività in background invece di bloccare la sessione. Claude riceve immediatamente l'ID dell'attività e continua a lavorare, e il risultato arriva come notifica dell'attività quando la chiamata si conclude.

506 506 

507L'attività appare in [`/tasks`](/docs/it/commands#all-commands), dove puoi anche fermarla, e non sopravvive all'uscita dalla sessione. La voce dell'attività mostra l'ultimo avanzamento segnalato dal server. Se fermi l'attività, Claude Code annulla la chiamata e comunica a Claude che non arriverà alcun risultato. Fermarla non garantisce che il server si fermi: potrebbe aver già svolto parte del lavoro, o potrebbe comunque completarlo.507L'attività appare in [`/tasks`](/docs/it/commands#all-commands), dove puoi anche fermarla, e non sopravvive all'uscita dalla sessione. La voce dell'attività mostra l'ultimo avanzamento segnalato dal server. Se fermi l'attività, Claude Code annulla la chiamata e comunica a Claude che non arriverà alcun risultato. Fermarla non garantisce che il server si fermi: potrebbe aver già svolto parte del lavoro, o potrebbe comunque completarlo.

508 508 


1301 Come i connettori raggiungono Claude Code1301 Come i connettori raggiungono Claude Code

1302</h3>1302</h3>

1303 1303 

1304Quali impostazioni governano un connettore claude.ai dipende da dove viene eseguita la tua sessione, perché solo alcune sessioni recuperano i connettori da claude.ai stesse. Ogni riga sottostante nomina come i connettori arrivano in un tipo di sessione e cosa li controlla lì. Le [sessioni WSL](/docs/it/desktop-wsl#what-works-in-a-wsl-session) dell'app desktop non hanno una riga perché i connettori non sono ancora disponibili in esse.1304Quali impostazioni governano un connettore claude.ai dipende da dove viene eseguita la tua sessione, perché solo alcune sessioni recuperano i connettori da claude.ai stesse. Ogni riga sottostante nomina come i connettori arrivano in un tipo di sessione e cosa li controlla lì. Le sessioni WSL dell'app desktop non hanno una riga perché i connettori [sono ancora in fase di distribuzione per esse](/docs/it/desktop-wsl#check-for-the-terminal-and-connectors).

1305 1305 

1306| Dove viene eseguita la sessione | Come arrivano i connettori | Cosa li governa |1306| Dove viene eseguita la sessione | Come arrivano i connettori | Cosa li governa |

1307| :- | :- | :- |1307| :- | :- | :- |


1531 1531 

1532Alcune superfici, come [Remote Control](/docs/it/remote-control) e le applicazioni create con l'[Agent SDK](/docs/it/agent-sdk/overview), normalmente ti permettono di approvare le chiamate agli strumenti con un solo tocco. Per uno strumento contrassegnato con questa annotazione, Claude Code non offre l'azione a un tocco e mostra invece la richiesta di permesso completa dello strumento, così l'approvazione arriva comunque da una persona che risponde alla richiesta anziché da un tocco.1532Alcune superfici, come [Remote Control](/docs/it/remote-control) e le applicazioni create con l'[Agent SDK](/docs/it/agent-sdk/overview), normalmente ti permettono di approvare le chiamate agli strumenti con un solo tocco. Per uno strumento contrassegnato con questa annotazione, Claude Code non offre l'azione a un tocco e mostra invece la richiesta di permesso completa dello strumento, così l'approvazione arriva comunque da una persona che risponde alla richiesta anziché da un tocco.

1533 1533 

1534Claude Code non offre l'approvazione a un tocco, allo stesso modo, per qualsiasi richiesta di permesso che solo la finestra di dialogo del terminale può visualizzare per intero, come una che include un avviso di sicurezza o un'opzione "consenti sempre" che la superficie remota non può mostrare. Rispondi a quella richiesta nella finestra di dialogo del terminale anziché da Remote Control. Richiede Claude Code v2.1.214 o successivo.1534Claude Code non offre l'approvazione a un tocco, allo stesso modo, per qualsiasi richiesta di permesso che solo la finestra di dialogo del terminale può visualizzare per intero, come una che include un avviso di sicurezza o un'opzione "consenti sempre" che la superficie remota non può mostrare. Rispondi a quella richiesta nella finestra di dialogo del terminale anziché da Remote Control.

1535 1535 

1536<h2 id="respond-to-mcp-elicitation-requests">1536<h2 id="respond-to-mcp-elicitation-requests">

1537 Rispondere alle richieste di elicitazione MCP1537 Rispondere alle richieste di elicitazione MCP

memory.md +3 −3

Details

521* Regole Copilot in `.github/copilot-instructions.md`521* Regole Copilot in `.github/copilot-instructions.md`

522* Con `CLAUDE_CODE_NEW_INIT=1` impostato: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` o `.windsurfrules`, e `.clinerules`522* Con `CLAUDE_CODE_NEW_INIT=1` impostato: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` o `.windsurfrules`, e `.clinerules`

523 523 

524Potete anche eseguire [`/import`](/docs/it/commands) per portare la configurazione di un agente di codifica supportato in Claude Code, che aggiunge una copia una tantum di file di istruzioni come `AGENTS.md` al `CLAUDE.md` corrispondente e trasporta i server MCP, i comandi, i subagent e le skills. Richiede Claude Code v2.1.213 o successivo.524Puoi anche eseguire [`/import`](/docs/it/commands) per portare la configurazione di un agente di codifica supportato in Claude Code, che aggiunge una copia una tantum di file di istruzioni come `AGENTS.md` al `CLAUDE.md` corrispondente e trasferisce i server MCP, i comandi, i subagent e le skill.

525 525 

526<h2 id="auto-memory">526<h2 id="auto-memory">

527 Memoria automatica527 Memoria automatica


605 605 

606Le prime 200 righe di `MEMORY.md`, o i primi 25KB, a seconda di quale viene raggiunto per primo, vengono caricate all'inizio di ogni conversazione. Il contenuto oltre quella soglia non viene caricato all'inizio della sessione. Claude mantiene `MEMORY.md` conciso spostando le note dettagliate in file di argomento separati.606Le prime 200 righe di `MEMORY.md`, o i primi 25KB, a seconda di quale viene raggiunto per primo, vengono caricate all'inizio di ogni conversazione. Il contenuto oltre quella soglia non viene caricato all'inizio della sessione. Claude mantiene `MEMORY.md` conciso spostando le note dettagliate in file di argomento separati.

607 607 

608Dopo che Claude scrive in `MEMORY.md`, Claude Code misura il file rispetto ai limiti di lettura di 200 righe e 25KB. Se il file è vicino a un limite, Claude Code ricorda a Claude di accorciarlo: mantieni una riga per voce, sposta i dettagli nei file di argomento e unisci o elimina le voci obsolete. Se il file supera un limite, la scrittura ha comunque successo, ma Claude Code restituisce un [errore che dice a Claude di riscrivere l'indice](/docs/it/errors#memory-index-is-over-its-read-limit), perché tutto ciò che supera il limite viene eliminato al caricamento successivo.608Dopo che Claude scrive in `MEMORY.md`, Claude Code misura il file rispetto ai limiti di lettura di 200 righe e 25KB. Se il file è vicino a un limite, Claude Code ricorda a Claude di accorciarlo: mantieni una riga per voce, sposta i dettagli nei file di argomento ed esegui il merge delle voci obsolete o eliminale. Se il file supera un limite, la scrittura ha comunque successo, ma Claude Code restituisce un [errore che dice a Claude di riscrivere l'indice](/docs/it/errors#memory-index-is-over-its-read-limit), perché tutto ciò che supera il limite viene eliminato al caricamento successivo.

609 609 

610Questo limite si applica solo a `MEMORY.md`. Claude Code carica un file CLAUDE.md fino a 4 MiB completamente e salta un file più grande. I file più brevi producono una migliore aderenza.610Questo limite si applica solo a `MEMORY.md`. Claude Code carica un file CLAUDE.md fino a 4 MiB completamente e salta un file più grande. I file più brevi producono una migliore aderenza.

611 611 


615 615 

616Claude legge e scrive file di memoria durante la tua sessione. Quando vedi messaggi come "Saved 2 memories" o "Recalled 2 memories" nell'interfaccia di Claude Code, Claude sta attivamente aggiornando o leggendo da `~/.claude/projects/<project>/memory/`.616Claude legge e scrive file di memoria durante la tua sessione. Quando vedi messaggi come "Saved 2 memories" o "Recalled 2 memories" nell'interfaccia di Claude Code, Claude sta attivamente aggiornando o leggendo da `~/.claude/projects/<project>/memory/`.

617 617 

618Quando Claude scrive un file di memoria che inizia con frontmatter YAML, Claude Code registra l'ora di scrittura in un campo frontmatter `modified` come timestamp ISO 8601. Il timestamp mostra quanto è attuale il fatto, sia per te che per Claude quando lo legge di nuovo. Qualsiasi file che ha frontmatter ottiene il campo la prossima volta che Claude lo scrive, inclusi i file creati in versioni precedenti; Claude Code non aggiunge mai frontmatter a un file che non ne ha. Il campo `modified` richiede Claude Code v2.1.214 o successivo.618Quando Claude scrive un file di memoria che inizia con frontmatter YAML, Claude Code registra l'ora di scrittura in un campo frontmatter `modified` come timestamp ISO 8601. Il timestamp mostra quanto è attuale il fatto, sia per te che per Claude quando lo legge di nuovo.

619 619 

620<h3 id="audit-and-edit-your-memory">620<h3 id="audit-and-edit-your-memory">

621 Controlla e modifica la tua memoria621 Controlla e modifica la tua memoria

model-config.md +2 −1

Details

274* **Override di skill o comando**: Claude Code ignora l'override, incluso un alias di famiglia bloccato, e lo skill o il comando viene eseguito sul modello della sessione. Uno skill o un comando che [viene eseguito in un subagent](/docs/it/skills#run-skills-in-a-subagent) segue il comportamento del subagent di cui sopra274* **Override di skill o comando**: Claude Code ignora l'override, incluso un alias di famiglia bloccato, e lo skill o il comando viene eseguito sul modello della sessione. Uno skill o un comando che [viene eseguito in un subagent](/docs/it/skills#run-skills-in-a-subagent) segue il comportamento del subagent di cui sopra

275* **Impostazione `advisorModel`**: l'advisor è disabilitato per la sessione275* **Impostazione `advisorModel`**: l'advisor è disabilitato per la sessione

276* **Flag `--advisor`**: Claude Code esce con un errore all'avvio. In una [sessione in background](/docs/it/agent-view), avvia la sessione senza l'advisor invece di uscire276* **Flag `--advisor`**: Claude Code esce con un errore all'avvio. In una [sessione in background](/docs/it/agent-view), avvia la sessione senza l'advisor invece di uscire

277* **`CLAUDE_CODE_AUTO_MODE_MODEL`**: Claude Code ignora la variabile e sceglie il modello per le sue [richieste del classificatore della modalità auto](/docs/it/permission-modes#default-classifier-model) come se non l'avessi impostata

277 278 

278Claude Code nasconde i modelli esclusi dal selezionatore `/model`. Il fatto che un ID modello elencato ottenga anche una propria riga dipende dal provider:279Claude Code nasconde i modelli esclusi dal selezionatore `/model`. Il fatto che un ID modello elencato ottenga anche una propria riga dipende dal provider:

279 280 


285* **[Catene di modelli di fallback](#fallback-model-chains)**: le voci al di fuori dell'allowlist vengono eliminate286* **[Catene di modelli di fallback](#fallback-model-chains)**: le voci al di fuori dell'allowlist vengono eliminate

286* **Aggiornamenti in Plan Mode**: sull'API Anthropic e su Claude Platform on AWS, un aggiornamento come [`opusplan`](#opusplan-model-setting) a un modello escluso utilizza la versione più recente consentita della famiglia di aggiornamento. Su provider con ID modello specifici del provider, e quando nessuna versione è consentita, l'aggiornamento viene saltato e la pianificazione continua sul modello della sessione287* **Aggiornamenti in Plan Mode**: sull'API Anthropic e su Claude Platform on AWS, un aggiornamento come [`opusplan`](#opusplan-model-setting) a un modello escluso utilizza la versione più recente consentita della famiglia di aggiornamento. Su provider con ID modello specifici del provider, e quando nessuna versione è consentita, l'aggiornamento viene saltato e la pianificazione continua sul modello della sessione

287* **[Fallback automatico del modello](#automatic-model-fallback)**: un fallback il cui target è escluso non viene eseguito, quindi la richiesta contrassegnata termina con un rifiuto288* **[Fallback automatico del modello](#automatic-model-fallback)**: un fallback il cui target è escluso non viene eseguito, quindi la richiesta contrassegnata termina con un rifiuto

288* **[Classificatore della modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode)**: il valore predefinito Claude Sonnet 5 del classificatore si applica solo quando l'allowlist consente Sonnet 5. Quando è escluso, il classificatore viene eseguito sul modello della sessione, che l'allowlist già governa, o su un modello Opus quando la sessione viene eseguita su un [modello Fable](#work-with-fable). Su provider diversi dall'API Anthropic, quel fallback Opus viene eseguito sul modello che imposti in `ANTHROPIC_DEFAULT_OPUS_MODEL` o altrimenti su Opus 5, senza consultare l'allowlist. Richiede Claude Code v2.1.210 o successivo289* **[Classificatore della modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode)**: quando l'allowlist esclude il [modello predefinito del classificatore](/docs/it/permission-modes#default-classifier-model), le richieste del classificatore che userebbero quel modello vengono eseguite sul modello della sessione, o su un modello Opus nelle sessioni [Fable](#work-with-fable). Su provider diversi dall'API Anthropic, quel fallback Opus viene eseguito sul modello che imposti in `ANTHROPIC_DEFAULT_OPUS_MODEL` o altrimenti su Opus 5, senza consultare l'allowlist. Richiede Claude Code v2.1.210 o successivo

289* **[Modalità veloce](/docs/it/fast-mode)**: l'abilitazione della modalità veloce viene rifiutata quando il modello su cui la sessione verrebbe eseguita in seguito è al di fuori dell'allowlist290* **[Modalità veloce](/docs/it/fast-mode)**: l'abilitazione della modalità veloce viene rifiutata quando il modello su cui la sessione verrebbe eseguita in seguito è al di fuori dell'allowlist

290* **Fallback di disponibilità su Amazon Bedrock e Agent Platform di Google Cloud**: quando il tuo account perde l'accesso a un modello a metà sessione, il passaggio a un altro modello salta i modelli esclusi. I controlli del modello all'avvio su [Amazon Bedrock](/docs/it/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) e su [Agent Platform di Google Cloud](/docs/it/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) saltano i modelli esclusi solo quando le impostazioni gestite impostano anche [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)291* **Fallback di disponibilità su Amazon Bedrock e Agent Platform di Google Cloud**: quando il tuo account perde l'accesso a un modello a metà sessione, il passaggio a un altro modello salta i modelli esclusi. I controlli del modello all'avvio su [Amazon Bedrock](/docs/it/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) e su [Agent Platform di Google Cloud](/docs/it/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) saltano i modelli esclusi solo quando le impostazioni gestite impostano anche [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)

291 292 

Details

137| `OTEL_LOG_TOOL_CONTENT` | Abilita la registrazione del contenuto dello strumento nell'[evento dello span `tool.output`](#tool-output-span-event) (predefinito: disabilitato). Gli attributi dello span portano il contenuto dello strumento sotto [i loro stessi gate](#new-context-gates). Richiede [tracing](#traces-beta). Il contenuto viene troncato al limite di contenuto (60 KB per impostazione predefinita) | `1` per abilitare |137| `OTEL_LOG_TOOL_CONTENT` | Abilita la registrazione del contenuto dello strumento nell'[evento dello span `tool.output`](#tool-output-span-event) (predefinito: disabilitato). Gli attributi dello span portano il contenuto dello strumento sotto [i loro stessi gate](#new-context-gates). Richiede [tracing](#traces-beta). Il contenuto viene troncato al limite di contenuto (60 KB per impostazione predefinita) | `1` per abilitare |

138| `OTEL_LOG_MANAGED_SETTINGS` | Aggiungi le impostazioni gestite oscurate e un digest SHA-256 delle impostazioni prima dell'oscuramento agli eventi [managed settings resolved](#managed-settings-resolved-event) (predefinito: disabilitato). Un valore nelle impostazioni di progetto o locali non lo attiva. Richiede Claude Code v2.1.274 o successivo | `1` per abilitare |138| `OTEL_LOG_MANAGED_SETTINGS` | Aggiungi le impostazioni gestite oscurate e un digest SHA-256 delle impostazioni prima dell'oscuramento agli eventi [managed settings resolved](#managed-settings-resolved-event) (predefinito: disabilitato). Un valore nelle impostazioni di progetto o locali non lo attiva. Richiede Claude Code v2.1.274 o successivo | `1` per abilitare |

139| `OTEL_LOG_RAW_API_BODIES` | Emetti il JSON completo della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body` (predefinito: disabilitato). I corpi includono l'intera cronologia della conversazione. L'abilitazione di questa opzione implica il consenso a tutto ciò che `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` rivelerebbero | `1` per corpi inline troncati al limite di contenuto (60 KB per impostazione predefinita), o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |139| `OTEL_LOG_RAW_API_BODIES` | Emetti il JSON completo della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body` (predefinito: disabilitato). I corpi includono l'intera cronologia della conversazione. L'abilitazione di questa opzione implica il consenso a tutto ciò che `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` rivelerebbero | `1` per corpi inline troncati al limite di contenuto (60 KB per impostazione predefinita), o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |

140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite di contenuto: la lunghezza massima degli attributi che portano contenuto come risposte del modello, contenuto dello strumento, prompt di sistema e corpi API grezzi, marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Il valore predefinito è dimensionato per backend che limitano i valori degli attributi a 64 KB; aumentalo solo se il tuo backend accetta valori più grandi, o riducilo per tagliare il volume della telemetria. Quando un limite di attributo dell'SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o uno dei suoi varianti logrecord e span, è impostato più basso, Claude Code tronca a quel valore più piccolo in modo che il marcatore `[TRUNCATED ...]` rimanga entro il limite dell'SDK. Richiede Claude Code v2.1.214 o successivo | `262144` |140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite di contenuto: la lunghezza massima degli attributi che portano contenuto come risposte del modello, contenuto dello strumento, prompt di sistema e corpi API grezzi, marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Il valore predefinito è dimensionato per backend che limitano i valori degli attributi a 64 KB; aumentalo solo se il tuo backend accetta valori più grandi, o riducilo per tagliare il volume della telemetria. Quando un limite di attributo dell'SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o una delle sue varianti logrecord e span, è impostato più basso, Claude Code tronca a quel valore più piccolo in modo che il marcatore `[TRUNCATED ...]` rimanga entro il limite dell'SDK | `262144` |

141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferenza di temporalità delle metriche (predefinito: `delta`). Imposta su `cumulative` se il tuo backend si aspetta una temporalità cumulativa | `delta`, `cumulative` |141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferenza di temporalità delle metriche (predefinito: `delta`). Imposta su `cumulative` se il tuo backend si aspetta una temporalità cumulativa | `delta`, `cumulative` |

142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni dinamiche (predefinito: 1740000ms / 29 minuti) | `900000` |142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni dinamiche (predefinito: 1740000ms / 29 minuti) | `900000` |

143 143 

144Per i protocolli `http/protobuf` e `http/json`, Claude Code invia ogni richiesta di esportazione con un'intestazione `Content-Length`. Prima della v2.1.212, le versioni di Claude Code dalla v2.1.191 in poi inviavano queste richieste con codifica di trasferimento in chunked; Azure Monitor e altri endpoint che richiedono una lunghezza dichiarata le rifiutavano con errori `411 Length Required` o `400`.144Per i protocolli `http/protobuf` e `http/json`, Claude Code invia ogni richiesta di esportazione con un'intestazione `Content-Length`.

145 145 

146<h3 id="mtls-authentication">146<h3 id="mtls-authentication">

147 Autenticazione mTLS147 Autenticazione mTLS


202 202 

203Il contesto di traccia in entrata si applica anche agli [eventi](#events). In sessioni Agent SDK e `-p` con `TRACEPARENT` impostato, ogni record di log degli eventi OTLP porta i valori `trace_id` e `span_id` che lo collegano alla traccia della tua applicazione, anche quando l'esportatore di tracce non è configurato, in modo che il tuo backend di logging possa correlare gli eventi con il resto della traccia.203Il contesto di traccia in entrata si applica anche agli [eventi](#events). In sessioni Agent SDK e `-p` con `TRACEPARENT` impostato, ogni record di log degli eventi OTLP porta i valori `trace_id` e `span_id` che lo collegano alla traccia della tua applicazione, anche quando l'esportatore di tracce non è configurato, in modo che il tuo backend di logging possa correlare gli eventi con il resto della traccia.

204 204 

205Un record emesso mentre un'interazione è attiva porta gli ID dello span di interazione, anche quando Claude Code lo emette al di fuori del contesto asincrono dello span, come in un callback di prompt di autorizzazione o per un record memorizzato nel buffer durante l'avvio ed esportato in seguito. Un record emesso senza uno span di interazione attivo porta direttamente gli ID `TRACEPARENT` in entrata. Prima della v2.1.214, i record emessi al di fuori del contesto asincrono dello span portavano gli ID `TRACEPARENT` in entrata invece degli ID dello span. Prima della v2.1.212, i record degli eventi emessi al di fuori di uno span attivo non portavano `trace_id` o `span_id`.205Un record emesso mentre un'interazione è attiva porta gli ID dello span di interazione, anche quando Claude Code lo emette al di fuori del contesto asincrono dello span, come in un callback di richiesta di permesso o per un record memorizzato nel buffer durante l'avvio ed esportato in seguito. Un record emesso senza uno span di interazione attivo porta direttamente gli ID `TRACEPARENT` in entrata.

206 206 

207<h4 id="span-hierarchy">207<h4 id="span-hierarchy">

208 Gerarchia degli span208 Gerarchia degli span


328| Attributo | Descrizione | Controllato da |328| Attributo | Descrizione | Controllato da |

329| - | - | - |329| - | - | - |

330| `duration_ms` | Tempo trascorso in attesa della decisione di autorizzazione | |330| `duration_ms` | Tempo trascorso in attesa della decisione di autorizzazione | |

331| `decision` | `accept` o `reject` | |331| `decision` | `accept`, `reject` o `cancelled`, dove `cancelled` significa che Claude Code ha smesso di attendere una decisione di permesso sulla chiamata allo strumento e non l'ha eseguita | |

332| `source` | Fonte della decisione, corrispondente all'[evento Tool decision](#tool-decision-event) | |332| `source` | Per un `accept` o un `reject`, da dove proviene la decisione, come `config`, `hook` o `user_temporary`, con i significati indicati nell'[evento Tool decision](#tool-decision-event). Per un `cancelled`, cosa ha terminato l'attesa prima che venisse presa una decisione, come `user_abort` | |

333 

334Una decisione `cancelled` con `source` `user_abort` significa che un messaggio che richiedeva la consegna immediata ha interrotto il turno mentre la richiesta di permesso o il controllo della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) era in sospeso. Ad esempio, durante un controllo della modalità auto, l'utente aveva un messaggio in coda e lo [ha inviato immediatamente](/docs/it/interactive-mode#when-claude-code-sends-what-you-queued).

333 335 

334**`claude_code.tool.execution`**336**`claude_code.tool.execution`**

335 337 


820| - | - |822| - | - |

821| `prompt.id` | Identificatore UUID v4 che collega tutti gli eventi prodotti durante l'elaborazione di un singolo prompt dell'utente |823| `prompt.id` | Identificatore UUID v4 che collega tutti gli eventi prodotti durante l'elaborazione di un singolo prompt dell'utente |

822| `event.sequence` | Contatore a base 0 per ordinare gli eventi, conteggiato per processo Claude Code piuttosto che per sessione |824| `event.sequence` | Contatore a base 0 per ordinare gli eventi, conteggiato per processo Claude Code piuttosto che per sessione |

823| `message.uuid` | UUID del messaggio come persistente nella trascrizione della sessione, i file `~/.claude/projects/*/*.jsonl`. Presente su `assistant_response`, su `api_response_body`, e su `user_prompt` eccetto per i dispatching dei comandi, che possono produrre zero o molti messaggi. Su `assistant_response` e `api_response_body`, questo è l'ultimo entry della trascrizione della risposta, da cui il `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo, o v2.1.274 o successivo su `api_response_body` |825| `message.uuid` | UUID del messaggio così come salvato nella trascrizione della sessione, i file `~/.claude/projects/*/*.jsonl`. Presente su `assistant_response`, su `api_response_body` e su `user_prompt`, eccetto per l'invio di comandi, che possono produrre zero o più messaggi. Su `assistant_response` e `api_response_body`, è la voce finale della trascrizione per la risposta, a cui si concatena il `parentUuid` del turno successivo. Richiede Claude Code v2.1.274 o successiva su `api_response_body` |

824| `request_id` | ID assegnato dal server della richiesta API, letto dall'intestazione della risposta `request-id`, ad esempio `req_011...`. Su una risposta senza intestazione `request-id`, come su [Amazon Bedrock](/docs/it/amazon-bedrock), il valore proviene dall'intestazione `x-amzn-requestid` invece. Presente su `api_request`, `api_error`, `api_refusal`, `assistant_response`, e `api_response_body` quando la risposta porta una delle due intestazioni. Corrisponde allo stesso attributo sul span di traccia `llm_request`. La fonte `x-amzn-requestid` richiede Claude Code v2.1.282 o successivo |826| `request_id` | ID assegnato dal server della richiesta API, letto dall'intestazione della risposta `request-id`, ad esempio `req_011...`. Su una risposta senza intestazione `request-id`, come su [Amazon Bedrock](/docs/it/amazon-bedrock), il valore proviene dall'intestazione `x-amzn-requestid` invece. Presente su `api_request`, `api_error`, `api_refusal`, `assistant_response`, e `api_response_body` quando la risposta porta una delle due intestazioni. Corrisponde allo stesso attributo sul span di traccia `llm_request`. La fonte `x-amzn-requestid` richiede Claude Code v2.1.282 o successivo |

825| `client_request_id` | UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`. Presente su `api_request` e `api_error` su connessioni API di prima parte; assente su backend di provider di terze parti e quando la richiesta è stata ritentata tramite il fallback non in streaming. Accoppia una richiesta con la sua risposta e rimane disponibile per i guasti come i timeout che non hanno mai prodotto un `request_id` del server. Corrisponde allo stesso attributo sul span di traccia `llm_request`. Richiede Claude Code v2.1.214 o successivo |827| `client_request_id` | UUID generato dal client e inviato come header di richiesta `x-client-request-id`. Presente su `api_request` e `api_error` nelle connessioni API first-party; assente sui backend di provider di terze parti e quando la richiesta è stata ritentata tramite il fallback non in streaming. Associa una richiesta alla sua risposta e rimane disponibile per errori come i timeout che non hanno mai prodotto un `request_id` del server. Corrisponde allo stesso attributo sullo span di traccia `llm_request` |

826 828 

827Per tracciare tutta l'attività attivata da un singolo prompt, filtra i tuoi eventi per un valore specifico di `prompt.id`. Questo restituisce l'evento user\_prompt, tutti gli eventi api\_request, e tutti gli eventi tool\_result che si sono verificati durante l'elaborazione di quel prompt.829Per tracciare tutta l'attività attivata da un singolo prompt, filtra i tuoi eventi per un valore specifico di `prompt.id`. Questo restituisce l'evento user\_prompt, tutti gli eventi api\_request, e tutti gli eventi tool\_result che si sono verificati durante l'elaborazione di quel prompt.

828 830 


851* `prompt_length`: Lunghezza del prompt853* `prompt_length`: Lunghezza del prompt

852* `prompt`: Contenuto del prompt. Redatto per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo854* `prompt`: Contenuto del prompt. Redatto per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo

853* `prompt_text`: Stesso valore di `prompt`, oscurato con la stessa condizione. Un backend che memorizza i nomi degli attributi con punti come oggetti annidati legge `prompt.id` come `id` all'interno di un oggetto chiamato `prompt` e può perdere la stringa del prompt. In quel caso leggi invece `prompt_text`. Richiede Claude Code v2.1.287 o versioni successive855* `prompt_text`: Stesso valore di `prompt`, oscurato con la stessa condizione. Un backend che memorizza i nomi degli attributi con punti come oggetti annidati legge `prompt.id` come `id` all'interno di un oggetto chiamato `prompt` e può perdere la stringa del prompt. In quel caso leggi invece `prompt_text`. Richiede Claude Code v2.1.287 o versioni successive

854* `message.uuid`: UUID del messaggio utente risultante, corrispondente all'entry della trascrizione persistente. Assente sui dispatching dei comandi, che possono produrre zero o molti messaggi. Richiede Claude Code v2.1.214 o successivo856* `message.uuid`: UUID del messaggio dell'utente risultante, corrispondente alla voce salvata nella trascrizione. Assente per l'invio di comandi, che possono produrre zero o più messaggi.

855* `command_name`: Nome del comando quando il prompt ne invoca uno. I nomi dei comandi incorporati e in bundle come `compact` o `debug` vengono emessi così come sono; gli alias come `reset` vengono emessi come digitati piuttosto che il nome canonico. I nomi dei comandi personalizzati, dei plugin e MCP si riducono a `custom` o `mcp` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato857* `command_name`: Nome del comando quando il prompt ne invoca uno. I nomi dei comandi incorporati e in bundle come `compact` o `debug` vengono emessi così come sono; gli alias come `reset` vengono emessi come digitati piuttosto che il nome canonico. I nomi dei comandi personalizzati, dei plugin e MCP si riducono a `custom` o `mcp` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato

856* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`858* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`

857 859 


873* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). Redatto a `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte redatte mentre la registrazione dei prompt è attiva875* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). Redatto a `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte redatte mentre la registrazione dei prompt è attiva

874* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")876* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")

875* `request_id`: ID della richiesta API, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)877* `request_id`: ID della richiesta API, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

876* `message.uuid`: UUID dell'ultimo entry della trascrizione della risposta. Una risposta API viene persistita come un entry della trascrizione per blocco di contenuto; questo è l'ultimo, da cui il `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo878* `message.uuid`: UUID della voce finale della trascrizione per la risposta. Una risposta API viene salvata come una voce della trascrizione per ciascun blocco di contenuto; questa è l'ultima, a cui si concatena il `parentUuid` del turno successivo.

877* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent879* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent

878 880 

879<h4 id="tool-result-event">881<h4 id="tool-result-event">


902* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte904* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte

903* `mcp_server_scope`: Identificatore dell'ambito del server MCP (per gli strumenti MCP)905* `mcp_server_scope`: Identificatore dell'ambito del server MCP (per gli strumenti MCP)

904* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (quando `OTEL_LOG_TOOL_DETAILS=1`): l'identità del commit di un'esecuzione riuscita di `git commit` eseguita dallo strumento Bash o PowerShell. `vcs.ref.head.revision` è il commit SHA, `vcs.ref.head.name` è il ramo su cui è stato eseguito il commit, e `vcs.ref.head.type` è `branch`. Il nome e il tipo vengono omessi quando il commit è stato effettuato su un HEAD staccato. Richiede Claude Code v2.1.269 o successivo906* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (quando `OTEL_LOG_TOOL_DETAILS=1`): l'identità del commit di un'esecuzione riuscita di `git commit` eseguita dallo strumento Bash o PowerShell. `vcs.ref.head.revision` è il commit SHA, `vcs.ref.head.name` è il ramo su cui è stato eseguito il commit, e `vcs.ref.head.type` è `branch`. Il nome e il tipo vengono omessi quando il commit è stato effettuato su un HEAD staccato. Richiede Claude Code v2.1.269 o successivo

905* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente parametri specifici dello strumento. Per i server incorporati di Claude Desktop, nelle sessioni di proprietà di Claude Desktop, la coppia `mcp_server_name`/`mcp_tool_name` è inclusa anche con il flag disattivato, la stessa eccezione creata dall'host come l'[evento di decisione dello strumento](#tool-decision-event), che richiede Claude Code v2.1.214 o successivo. I parametri variano per strumento:907* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente i parametri specifici dello strumento. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, la coppia `mcp_server_name`/`mcp_tool_name` è inclusa anche con il flag disattivato, la stessa eccezione per i nomi definiti dall'host dell'[evento di decisione sullo strumento](#tool-decision-event). I parametri variano in base allo strumento:

906 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description`, e `dangerouslyDisableSandbox`, più `git_commit_id` e `git_branch` quando un comando `git commit` ha successo. `git_commit_id` è il SHA del commit completo quando il commit è l'HEAD della directory di lavoro della sessione, e lo SHA abbreviato di git altrimenti. `git_branch` è il ramo su cui è stato eseguito il commit, omesso su un HEAD staccato908 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description` e `dangerouslyDisableSandbox`, oltre a `git_commit_id` e `git_branch` quando un comando `git commit` riesce. `git_commit_id` è lo SHA completo del commit quando il commit è l'HEAD della directory di lavoro della sessione, altrimenti lo SHA abbreviato di git. `git_branch` è il branch su cui è stato eseguito il commit, omesso su un HEAD distaccato

907 * Per lo strumento Bash dell'area di lavoro dell'app desktop, che riporta anche `tool_name` come `Bash`: include solo `bash_command`, `full_command`, e `timeout`909 * Per lo strumento Bash del workspace dell'app desktop, che riporta anch'esso `tool_name` come `Bash`: include solo `bash_command`, `full_command` e `timeout`

908 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`910 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`

909 * Per lo strumento Skill: include `skill_name`911 * Per lo strumento Skill: include `skill_name`

910 * Per lo strumento Agent o lo strumento Task legacy: include `subagent_type`912 * Per lo strumento Agent o lo strumento legacy Task: include `subagent_type`

911* `tool_input` (quando `OTEL_LOG_TOOL_DETAILS=1`): Argomenti dello strumento serializzati in JSON. I singoli valori superiori a 512 caratteri vengono troncati e il payload completo è limitato a circa 4 K caratteri. Si applica a tutti gli strumenti inclusi gli strumenti MCP.913* `tool_input` (quando `OTEL_LOG_TOOL_DETAILS=1`): Argomenti dello strumento serializzati in JSON. I singoli valori superiori a 512 caratteri vengono troncati e il payload completo è limitato a circa 4 K caratteri. Si applica a tutti gli strumenti inclusi gli strumenti MCP.

912 914 

913<h4 id="api-request-event">915<h4 id="api-request-event">


933* `cache_read_tokens`: Numero di token letti dalla cache935* `cache_read_tokens`: Numero di token letti dalla cache

934* `cache_creation_tokens`: Numero di token utilizzati per la creazione della cache936* `cache_creation_tokens`: Numero di token utilizzati per la creazione della cache

935* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).937* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).

936* `client_request_id`: UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`; vedi la tabella [attributi di correlazione degli eventi](#event-correlation-attributes) per quando è presente. Richiede Claude Code v2.1.214 o successivo938* `client_request_id`: UUID generato dal client e inviato come header di richiesta `x-client-request-id`; consulta la tabella degli [attributi di correlazione degli eventi](#event-correlation-attributes) per sapere quando è presente

937* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva939* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva

938* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent940* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent

939* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando Claude Code non invia alcun livello di sforzo, ad esempio su un modello che non supporta lo sforzo.941* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando Claude Code non invia alcun livello di sforzo, ad esempio su un modello che non supporta lo sforzo.


959* `duration_ms`: Durata della richiesta in millisecondi961* `duration_ms`: Durata della richiesta in millisecondi

960* `attempt`: Numero di tentativi effettuati, inclusa la richiesta iniziale. [Rilevare l'esaurimento dei nuovi tentativi](#detect-retry-exhaustion) indica quando il conteggio ricomincia962* `attempt`: Numero di tentativi effettuati, inclusa la richiesta iniziale. [Rilevare l'esaurimento dei nuovi tentativi](#detect-retry-exhaustion) indica quando il conteggio ricomincia

961* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).963* `request_id`: ID della richiesta API, ad esempio `"req_011..."`, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes).

962* `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 successivo964* `client_request_id`: UUID generato dal client e inviato come header di richiesta `x-client-request-id`. Disponibile anche quando un errore come un timeout o un errore di connessione non ha mai prodotto un `request_id` del server; consulta la tabella degli [attributi di correlazione degli eventi](#event-correlation-attributes) per sapere quando è presente.

963* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva965* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva

964* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent966* `query_source`: Sottosistema che ha emesso la richiesta, ad esempio `"repl_main_thread"`, `"compact"`, o un nome di subagent

965* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Assente quando Claude Code non invia alcun livello di sforzo, ad esempio su un modello che non supporta lo sforzo.967* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Assente quando Claude Code non invia alcun livello di sforzo, ad esempio su un modello che non supporta lo sforzo.


1057* `tool_name`: Nome dello strumento (ad esempio, "Read", "Edit", "Write", "NotebookEdit")1059* `tool_name`: Nome dello strumento (ad esempio, "Read", "Edit", "Write", "NotebookEdit")

1058* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato ai hook, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dai hook.1060* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato ai hook, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dai hook.

1059* `decision`: Uno di `"accept"` o `"reject"`1061* `decision`: Uno di `"accept"` o `"reject"`

1060* `tool_source`: Sempre presente. La provenienza dello strumento, come un insieme chiuso di valori creati dalla CLI. Richiede Claude Code v2.1.214 o successivo1062* `tool_source`: Sempre presente. La provenienza dello strumento, come insieme chiuso di valori definiti dalla CLI:

1061 * `"builtin"`: gli strumenti della CLI stessa1063 * `"builtin"`: gli strumenti propri della CLI

1062 * `"mcp"`: Server MCP in generale1064 * `"mcp"`: i server MCP in generale

1063 * `"sdk_host_builtin_mcp"`: un server in-process incorporato in Claude Desktop stesso, in una sessione di proprietà di Claude Desktop. Claude Desktop possiede una sessione che ha avviato da uno dei suoi stessi punti di ingresso, `claude-desktop`, `claude-desktop-3p`, o `local-agent`, quando quella sessione non è un figlio annidato; le sessioni annidate, incluse le sessioni che Claude Code stesso genera, segnalano questi server come `"mcp"`1065 * `"sdk_host_builtin_mcp"`: un server in-process integrato in Claude Desktop stesso, in una sessione di cui Claude Desktop è proprietario. Claude Desktop è proprietario di una sessione che ha avviato da uno dei propri entrypoint, `claude-desktop`, `claude-desktop-3p` o `local-agent`, quando tale sessione non è figlia annidata; le sessioni annidate, incluse quelle generate da Claude Code stesso, riportano questi server come `"mcp"`

1064* `source`: Da dove proviene la decisione:1066* `source`: Da dove proviene la decisione:

1065 * `"config"`: Deciso automaticamente senza chiedere, in base alle impostazioni del progetto, alle regole di consentimento o negazione nelle impostazioni personali dell'utente, alla politica gestita dall'azienda, ai flag `--allowedTools` o `--disallowedTools`, alla modalità di autorizzazione attiva, a una concessione con ambito di sessione da un prompt precedente nella stessa sessione CLI interattiva, o perché lo strumento è intrinsecamente sicuro. L'evento non indica quale di queste fonti corrisponde. Claude Code riporta anche `"config"` quando la richiesta del prompt di autorizzazione stessa fallisce, ad esempio quando il callback [`canUseTool`](/docs/it/agent-sdk/typescript#canusetool) dell'Agent SDK o lo strumento [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) restituisce un risultato non valido, o quando il flusso di input si chiude mentre la richiesta è in sospeso. Prima della v2.1.216, Claude Code segnalava questi guasti come `"user_reject"`.1067 * `"config"`: Decisa automaticamente senza chiedere, da una di queste sorgenti:

1068 

1069 * Impostazioni di progetto

1070 * Regole di autorizzazione o di negazione nelle impostazioni personali dell'utente

1071 * Policy gestita aziendale

1072 * Flag `--allowedTools` o `--disallowedTools`

1073 * La modalità di permesso attiva

1074 * Il classificatore della modalità auto, il cui verdetto lo stesso evento registra in `classifier_verdict`

1075 * Una concessione per il resto della sessione, data in una precedente richiesta di permesso nella stessa sessione interattiva della CLI

1076 * Lo strumento è intrinsecamente sicuro

1077 

1078 Il valore di `source` non indica quale di queste sorgenti è stata applicata.

1079 

1080 Claude Code riporta `"config"` anche quando la richiesta di permesso stessa fallisce. Ad esempio, questa richiesta fallisce quando il callback [`canUseTool`](/docs/it/agent-sdk/typescript#canusetool) dell'Agent SDK o lo strumento [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags) restituisce un risultato non valido, oppure quando lo stream di input si chiude mentre la richiesta è in sospeso. Prima della v2.1.216, Claude Code riportava questi errori come `"user_reject"`.

1066 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` ha restituito la decisione.1081 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` ha restituito la decisione.

1067 * `"user_permanent"`: Emesso quando l'utente ha scelto "Sì, e non chiedere di nuovo per ..." a un prompt di autorizzazione, che salva una regola di consentimento alle sue impostazioni personali. Nella CLI interattiva questo viene emesso solo per quella scelta stessa; le chiamate successive che corrispondono alla regola salvata emettono `"config"` invece. Nelle sessioni Agent SDK o non interattive `-p`, sia la scelta iniziale che i successivi match della regola emettono `"user_permanent"`. Trattato come un'accettazione.1082 * `"user_permanent"`: Emesso quando l'utente ha scelto "Yes, and don't ask again for ..." in una richiesta di permesso, il che salva una regola di autorizzazione nelle sue impostazioni personali. Nella CLI interattiva viene emesso solo per quella scelta; le chiamate successive che corrispondono alla regola salvata emettono invece `"config"`. Nelle sessioni dell'Agent SDK o non interattive con `-p`, sia la scelta iniziale sia le corrispondenze successive con la regola emettono `"user_permanent"`. Trattato come un'accettazione.

1068 * `"user_temporary"`: Emesso quando l'utente ha scelto "Sì" a un prompt di autorizzazione per un'approvazione una tantum, o ha scelto un'opzione che concede l'accesso per il resto della sessione su un prompt di modifica o lettura di file. Nella CLI interattiva questo viene emesso solo per la scelta stessa; le chiamate successive consentite da quella concessione con ambito di sessione emettono `"config"` invece. Nelle sessioni Agent SDK o non interattive `-p`, sia la scelta che i successivi match emettono `"user_temporary"`. Trattato come un'accettazione.1083 * `"user_temporary"`: Emesso quando l'utente ha scelto "Yes" in una richiesta di permesso per un'approvazione singola, oppure ha scelto un'opzione che concede l'accesso per il resto della sessione in una richiesta di modifica o lettura di un file. Nella CLI interattiva viene emesso solo per la scelta stessa; le chiamate successive consentite da quella concessione limitata alla sessione emettono invece `"config"`. Nelle sessioni dell'Agent SDK o non interattive con `-p`, sia la scelta sia le corrispondenze successive emettono `"user_temporary"`. Trattato come un'accettazione.

1069 * `"user_abort"`: Emesso quando l'utente ha chiuso il prompt di autorizzazione senza rispondere. Nelle sessioni Agent SDK e non interattive `-p`, questo include l'interruzione del turno mentre una richiesta di autorizzazione `canUseTool` o `--permission-prompt-tool` è in sospeso; prima della v2.1.216, Claude Code segnalava quell'interruzione come `"user_reject"`. Trattato come un rifiuto.1084 * `"user_abort"`: Emesso quando l'utente ha chiuso la richiesta di permesso senza rispondere. Nelle sessioni dell'Agent SDK e non interattive con `-p`, ciò include l'interruzione del turno mentre è in sospeso una richiesta di permesso `canUseTool` o `--permission-prompt-tool`; prima della v2.1.216, Claude Code riportava questa interruzione come `"user_reject"`. Trattato come un rifiuto.

1070 * `"user_reject"`: Emesso quando l'utente ha scelto "No" quando gli è stato chiesto. Nella CLI interattiva questo viene emesso solo per quella scelta stessa; le chiamate che corrispondono a una regola di negazione nelle impostazioni personali dell'utente emettono `"config"` invece. Nelle sessioni Agent SDK o non interattive `-p`, le chiamate che corrispondono a una regola di negazione nelle impostazioni personali emettono `"user_reject"`. Trattato come un rifiuto.1085 * `"user_reject"`: Emesso quando l'utente ha scelto "No" alla richiesta. Nella CLI interattiva viene emesso solo per quella scelta; le chiamate che corrispondono a una regola di negazione nelle impostazioni personali dell'utente emettono invece `"config"`. Nelle sessioni dell'Agent SDK o non interattive con `-p`, le chiamate che corrispondono a una regola di negazione nelle impostazioni personali emettono `"user_reject"`. Trattato come un rifiuto.

1071* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente parametri specifici dello strumento. Stessa forma dell'[evento di risultato dello strumento](#tool-result-event), meno i campi post-esecuzione come `git_commit_id`. I valori possono differire da `tool_result` per una chiamata accettata se la decisione di autorizzazione riscrive l'input dello strumento tramite `updatedInput`. Usa questo attributo per vedere quale comando è stato rifiutato quando `decision` è `"reject"`.1086* `classifier_verdict`: Il verdetto del [classificatore](/docs/it/permission-modes#how-the-classifier-evaluates-actions) della modalità auto per la chiamata, oppure il motivo per cui Claude Code ha negato la chiamata quando non è arrivato alcun verdetto. Richiede Claude Code v2.1.301 o successivo

1072 * Per gli strumenti `"sdk_host_builtin_mcp"`: `mcp_server_name` e `mcp_tool_name` sono inclusi anche quando `OTEL_LOG_TOOL_DETAILS` è disattivato, perché l'applicazione host definisce questi nomi; senza di essi, una chiamata rifiutata a uno di questi server incorporati sarebbe non attribuibile sul flusso predefinito. Per i server MCP configurati dall'utente, il `tool_name` dell'evento è sempre il letterale `"mcp_tool"`, e i nomi del server e dello strumento appaiono solo in `tool_parameters` con il flag attivo; il contenuto dell'argomento richiede il flag ovunque. Richiede Claude Code v2.1.214 o successivo1087 

1073 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Lo strumento bash dell'area di lavoro dell'app desktop riporta anche `tool_name` come `Bash`, ma include solo `bash_command`, `full_command`, e `timeout`1088 * `"allow"`: il classificatore ha approvato la chiamata

1089 * `"block"`: il classificatore ha bloccato la chiamata. Anche un controllo del classificatore che fallisce a metà può concludersi con `"block"`, quindi un'interruzione parziale del classificatore può apparire come un aumento dei blocchi anziché come `"unavailable"`

1090 * `"no_verdict"`: il controllo è stato eseguito ma non ha fornito [alcun verdetto utilizzabile](/docs/it/errors#auto-mode-cannot-determine-the-safety-of-an-action), quindi Claude Code ha negato la chiamata. La negazione non significa che il classificatore abbia ritenuto la chiamata non sicura

1091 * `"unavailable"`: la richiesta al classificatore è fallita, ad esempio per un rate limit, un timeout o un errore di connessione, quindi Claude Code ha negato la chiamata. Con la [revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review), contrassegna anche una chiamata negata perché [il server non ha restituito alcun verdetto di sicurezza](/docs/it/errors#the-server-returned-no-safety-verdict)

1092 

1093 L'attributo compare anche nelle chiamate in plan mode quando [il classificatore esamina i comandi in plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode). L'attributo è assente in questi casi:

1094 

1095 * Una [regola di permesso](/docs/it/permissions#manage-permissions) di autorizzazione o di negazione ha deciso la chiamata

1096 * Claude Code ha approvato la chiamata in modalità auto senza interpellare il classificatore

1097 * L'utente ha risposto alla richiesta mostrata da Claude Code dopo [blocchi ripetuti](/docs/it/permission-modes#repeated-block-thresholds)

1098 * In un'esecuzione con `-p` senza `--permission-prompt-tool`, Claude Code ha negato la chiamata dopo blocchi ripetuti perché non c'era nessuno a rispondere a una richiesta. Quell'evento riporta `decision` come `"reject"` e `source` come `"config"`

1099* `classifier_category` (quando `OTEL_LOG_TOOL_DETAILS=1`): Il nome della [regola integrata](/docs/it/auto-mode-config#inspect-the-defaults-and-your-effective-config) indicata dal classificatore quando ha bloccato la chiamata, in minuscolo con trattini bassi, ad esempio `"data_exfiltration"` per la regola Data Exfiltration. Richiede Claude Code v2.1.301 o successivo. L'attributo è presente quando valgono tutte queste condizioni:

1100 * `classifier_verdict` è `"block"`

1101 * Claude Code ha inviato direttamente la richiesta al classificatore, anziché usare la [revisione del classificatore lato server](/docs/it/permission-modes#server-side-classifier-review)

1102 * Il classificatore ha indicato esattamente una regola, e quella regola è integrata anziché scritta da te

1103* `permission_mode`: [Modalità di permesso](/docs/it/permission-modes) attiva quando è iniziato il controllo dei permessi di questa chiamata: `"default"`, `"plan"`, `"acceptEdits"`, `"bypassPermissions"`, `"dontAsk"` o `"auto"`. La modalità manuale compare come `"default"`. Una chiamata di un [subagent](/docs/it/sub-agents#permission-modes) riporta la modalità di permesso del subagent anziché quella della sessione. Richiede Claude Code v2.1.301 o successivo

1104* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente i parametri specifici dello strumento. Stessa forma dell'[evento di risultato dello strumento](#tool-result-event), esclusi i campi successivi all'esecuzione come `git_commit_id`. Per una chiamata accettata, i valori possono differire da `tool_result` se la decisione sul permesso riscrive l'input dello strumento tramite `updatedInput`. Usa questo attributo per vedere quale comando è stato rifiutato quando `decision` è `"reject"`.

1105 * Per gli strumenti `"sdk_host_builtin_mcp"`: `mcp_server_name` e `mcp_tool_name` sono inclusi anche quando `OTEL_LOG_TOOL_DETAILS` è disattivato, perché è l'applicazione host a definire questi nomi; senza di essi, una chiamata rifiutata a uno di questi server integrati non sarebbe attribuibile nello stream predefinito. Per i server MCP configurati dall'utente, il `tool_name` dell'evento è sempre il valore letterale `"mcp_tool"` e i nomi del server e dello strumento compaiono solo in `tool_parameters` con il flag attivo; il contenuto degli argomenti richiede il flag ovunque.

1106 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Lo strumento bash del workspace dell'app desktop riporta anch'esso `tool_name` come `Bash`, ma include solo `bash_command`, `full_command` e `timeout`

1074 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`1107 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`

1075 * Per lo strumento Skill: include `skill_name`1108 * Per lo strumento Skill: include `skill_name`

1076 * Per lo strumento Agent o lo strumento Task legacy: include `subagent_type`1109 * Per lo strumento Agent o lo strumento legacy Task: include `subagent_type`

1077 1110 

1078<h4 id="permission-mode-changed-event">1111<h4 id="permission-mode-changed-event">

1079 Evento di cambio della modalità di autorizzazione1112 Evento di cambio della modalità di autorizzazione


1081 1114 

1082Registrato quando la modalità di permesso cambia, ad esempio scorrendo le modalità con `Shift+Tab`, uscendo dal plan mode o in seguito a un controllo della modalità auto.1115Registrato quando la modalità di permesso cambia, ad esempio scorrendo le modalità con `Shift+Tab`, uscendo dal plan mode o in seguito a un controllo della modalità auto.

1083 1116 

1117Per raggruppare le chiamate agli strumenti in base alla modalità di permesso in cui è stata controllata ciascuna, usa `permission_mode` nell'[evento di decisione dello strumento](#tool-decision-event).

1118 

1084**Nome evento**: `claude_code.permission_mode_changed`1119**Nome evento**: `claude_code.permission_mode_changed`

1085 1120 

1086**Attributi**:1121**Attributi**:


1091* `event.sequence`: contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)1126* `event.sequence`: contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1092* `from_mode`: La modalità di autorizzazione precedente, ad esempio `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`1127* `from_mode`: La modalità di autorizzazione precedente, ad esempio `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`

1093* `to_mode`: La nuova modalità di autorizzazione1128* `to_mode`: La nuova modalità di autorizzazione

1094* `trigger`: Cosa ha causato la modifica. Uno tra `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` o `"auto_opt_in"`. Assente per alcune modifiche, ad esempio quando l'SDK imposta la modalità di permesso tramite [`setPermissionMode()`](/docs/it/agent-sdk/typescript#query-object)1129* `trigger`: Ciò che ha causato la modifica, ad esempio `"shift_tab"`, `"exit_plan_mode"` o `"auto_gate_denied"`. Assente per alcune modifiche, ad esempio quando l'SDK imposta la modalità di permesso tramite [`setPermissionMode()`](/docs/it/agent-sdk/typescript#query-object)

1095 1130 

1096<h4 id="auth-event">1131<h4 id="auth-event">

1097 Evento di autenticazione1132 Evento di autenticazione


1402* `total_tool_uses`: Numero di chiamate dello strumento che il subagent ha effettuato nell'intera esecuzione1437* `total_tool_uses`: Numero di chiamate dello strumento che il subagent ha effettuato nell'intera esecuzione

1403* `duration_ms`: Tempo di esecuzione in millisecondi1438* `duration_ms`: Tempo di esecuzione in millisecondi

1404* `model`: Il modello in cui il subagent è stato risolto per eseguire1439* `model`: Il modello in cui il subagent è stato risolto per eseguire

1405* `final_model`: Il modello che ha prodotto la risposta finale del subagent, che differisce da `model` dopo un cambio a metà esecuzione come un fallback. Richiede Claude Code v2.1.212 o successivo1440* `final_model`: il modello che ha prodotto la risposta finale del subagent, che differisce da `model` dopo un cambio a metà esecuzione, come un fallback

1406* `model_swapped`: Se più di un modello ha servito le richieste del subagent. Richiede Claude Code v2.1.212 o successivo1441* `model_swapped`: se più di un modello ha servito le richieste del subagent

1407* `plugin_id_hash`, `plugin.name`: Presente per gli agenti forniti da plugin. I nomi dei plugin del marketplace ufficiale appaiono letteralmente; gli altri nomi di plugin vengono sostituiti con `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato1442* `plugin_id_hash`, `plugin.name`: Presente per gli agenti forniti da plugin. I nomi dei plugin del marketplace ufficiale appaiono letteralmente; gli altri nomi di plugin vengono sostituiti con `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato

1408 1443 

1409<h4 id="feedback-survey-event">1444<h4 id="feedback-survey-event">


1548 Le metriche di costo sono approssimazioni. Per i dati di fatturazione ufficiali, consulta il tuo provider API (Claude Console, Amazon Bedrock, o Google Cloud's Agent Platform).1583 Le metriche di costo sono approssimazioni. Per i dati di fatturazione ufficiali, consulta il tuo provider API (Claude Console, Amazon Bedrock, o Google Cloud's Agent Platform).

1549</Note>1584</Note>

1550 1585 

1551Claude Code conta ogni risposta in streaming verso le metriche di costo e token esattamente una volta, incluso quando un gateway o proxy dietro `ANTHROPIC_BASE_URL` trasmette l'utilizzo progressivamente su più frame. Prima della v2.1.214, i flussi che contenevano utilizzo in più di un frame gonfiavano `claude_code.cost.usage` e `claude_code.token.usage` di circa una richiesta completa aggiuntiva per ogni frame aggiuntivo.1586Claude Code conta ogni risposta in streaming verso le metriche di costo e token esattamente una volta, incluso quando un gateway o proxy dietro `ANTHROPIC_BASE_URL` trasmette l'utilizzo progressivamente su più frame.

1552 1587 

1553<h3 id="alerting-and-segmentation">1588<h3 id="alerting-and-segmentation">

1554 Avvisi e segmentazione1589 Avvisi e segmentazione


1570 1605 

1571Claude 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.1606Claude 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.

1572 1607 

1573L'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.1608L'attributo `attempt` sull'evento registra il numero di tentativi. `CLAUDE_CODE_MAX_RETRIES` ha un valore predefinito di 10 ed è limitato a 15; con [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/it/env-vars) impostato, il valore predefinito è più alto e non c'è alcun limite.

1574 1609 

1575Quando la richiesta esaurisce tutti i nuovi tentativi su un errore transitorio, `attempt` è al massimo uno più di quel limite effettivo: 11 per impostazione predefinita.1610Quando la richiesta esaurisce tutti i nuovi tentativi su un errore transitorio, `attempt` è al massimo uno più di quel limite effettivo: 11 per impostazione predefinita.

1576 1611 


1646 1681 

1647Senza `OTEL_LOG_TOOL_DETAILS`, questi eventi riducono il dettaglio identificativo:1682Senza `OTEL_LOG_TOOL_DETAILS`, questi eventi riducono il dettaglio identificativo:

1648 1683 

1649* `tool_result`: mantiene `mcp_server_scope` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`, la stessa eccezione creata dall'host come `tool_decision`, richiedendo Claude Code v2.1.214 o successivo1684* `tool_result`: mantiene `mcp_server_scope` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`, la stessa eccezione creata dall'host come `tool_decision`

1650* `tool_decision`: mantiene `tool_source` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`; `tool_source` e la coppia di nomi richiedono entrambi Claude Code v2.1.214 o successivo1685* `tool_decision`: mantiene `tool_source` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`

1651* `mcp_server_connection`: omette `server_name` e il messaggio di errore, ma mantiene `is_plugin`, `plugin_id_hash`, e `plugin.name`, con i nomi dei plugin non Anthropic sostituiti con il letterale `"third-party"`, in modo che i server forniti dai plugin rimangano distinguibili senza registrazione dettagliata1686* `mcp_server_connection`: omette `server_name` e il messaggio di errore, ma mantiene `is_plugin`, `plugin_id_hash`, e `plugin.name`, con i nomi dei plugin non Anthropic sostituiti con il letterale `"third-party"`, in modo che i server forniti dai plugin rimangano distinguibili senza registrazione dettagliata

1652 1687 

1653<h3 id="map-security-questions-to-events">1688<h3 id="map-security-questions-to-events">


1658 1693 

1659| Segnale | Evento | Attributi chiave |1694| Segnale | Evento | Attributi chiave |

1660| - | - | - |1695| - | - | - |

1661| Chiamata dello strumento consentita o negata, e da cosa | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1696| Chiamata a uno strumento consentita o negata, e da dove proviene la decisione, ad esempio una regola, un hook o l'utente | [`tool_decision`](#tool-decision-event) | `decision`, `source`, `classifier_verdict`, `permission_mode`, `tool_name`; `tool_parameters` quando imposti `OTEL_LOG_TOOL_DETAILS=1` |

1697| Il classificatore della modalità auto ha consentito o bloccato una chiamata a uno strumento, oppure Claude Code ha negato la chiamata senza un verdetto del classificatore | [`tool_decision`](#tool-decision-event) in cui è presente `classifier_verdict`. Per un diniego senza verdetto, `classifier_verdict` è `"no_verdict"` o `"unavailable"` | `classifier_verdict`, `permission_mode`, `tool_name`; `classifier_category` quando imposti `OTEL_LOG_TOOL_DETAILS=1` |

1662| Escalation della modalità di autorizzazione | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1698| Escalation della modalità di autorizzazione | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1699| In quale modalità di permesso è stata verificata ogni chiamata a uno strumento, incluse le chiamate effettuate dai subagent | [`tool_decision`](#tool-decision-event) | `permission_mode`, `session.id` |

1663| Hook della politica ha bloccato un'azione | `hook_execution_complete` | `hook_event`, `num_blocking` |1700| Hook della politica ha bloccato un'azione | `hook_execution_complete` | `hook_event`, `num_blocking` |

1664| Login, logout e guasto di autenticazione | `auth` | `action`, `success`, `error_category` |1701| Login, logout e guasto di autenticazione | `auth` | `action`, `success`, `error_category` |

1665| Connessione del server MCP o guasto | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1702| Connessione del server MCP o guasto | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |


1824 1861 

1825 * Sotto la traccia beta dettagliata, gli span portano anche i nuovi messaggi dell'utente, i risultati degli strumenti e i promemoria di sistema inviati con ogni richiesta, il testo del prompt di sistema e l'output del modello. [Attributi di contenuto sotto la traccia beta dettagliata](#new-context-gates) elenca ciascun attributo. L'evento `claude_code.system_prompt` porta il prompt di sistema completo1862 * Sotto la traccia beta dettagliata, gli span portano anche i nuovi messaggi dell'utente, i risultati degli strumenti e i promemoria di sistema inviati con ogni richiesta, il testo del prompt di sistema e l'output del modello. [Attributi di contenuto sotto la traccia beta dettagliata](#new-context-gates) elenca ciascun attributo. L'evento `claude_code.system_prompt` porta il prompt di sistema completo

1826* Il testo della risposta dell'assistente non viene raccolto per impostazione predefinita. Viene registrata solo la lunghezza della risposta. Per includere il testo della risposta, imposta `OTEL_LOG_ASSISTANT_RESPONSES=1`. Come tutti i dati OpenTelemetry da Claude Code, il testo della risposta viene inviato solo all'endpoint OTel che configuri, mai ad Anthropic. Quando questa variabile non è impostata, `OTEL_LOG_USER_PROMPTS` viene utilizzato come fallback, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` se desideri il contenuto del prompt senza il contenuto della risposta negli eventi. Sotto la traccia beta dettagliata, lo span `claude_code.llm_request` porta comunque l'output del modello in [`response.model_output`](#new-context-gates), che segue `OTEL_LOG_USER_PROMPTS` anziché questa variabile1863* Il testo della risposta dell'assistente non viene raccolto per impostazione predefinita. Viene registrata solo la lunghezza della risposta. Per includere il testo della risposta, imposta `OTEL_LOG_ASSISTANT_RESPONSES=1`. Come tutti i dati OpenTelemetry da Claude Code, il testo della risposta viene inviato solo all'endpoint OTel che configuri, mai ad Anthropic. Quando questa variabile non è impostata, `OTEL_LOG_USER_PROMPTS` viene utilizzato come fallback, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` se desideri il contenuto del prompt senza il contenuto della risposta negli eventi. Sotto la traccia beta dettagliata, lo span `claude_code.llm_request` porta comunque l'output del modello in [`response.model_output`](#new-context-gates), che segue `OTEL_LOG_USER_PROMPTS` anziché questa variabile

1827* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, `tool_decision` e `tool_result` portano la coppia `mcp_server_name`/`mcp_tool_name`, nomi creati dall'host piuttosto che contenuto degli argomenti, anche con il flag disattivato. L'eccezione richiede Claude Code v2.1.214 o successivo. Questi dati vengono inviati solo all'endpoint OTEL che configuri, mai ad Anthropic. Gli argomenti potrebbero comunque contenere valori sensibili, quindi configura il tuo backend di telemetria per filtrare o oscurare questi attributi secondo necessità. Quando abilitato:1864* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, `tool_decision` e `tool_result` portano la coppia `mcp_server_name`/`mcp_tool_name`, nomi creati dall'host piuttosto che contenuto degli argomenti, anche con il flag disattivato. Questi dati vengono inviati solo all'endpoint OTEL che configuri, mai ad Anthropic. Gli argomenti potrebbero comunque contenere valori sensibili, quindi configura il tuo backend di telemetria per filtrare o oscurare questi attributi secondo necessità. Quando abilitato:

1828 * Gli eventi `tool_result` e `tool_decision` includono un attributo `tool_parameters` con comandi Bash, nomi dei server MCP e dello strumento, e nomi delle skill. I campi come `full_command` vengono emessi non troncati1865 * Gli eventi `tool_result` e `tool_decision` includono un attributo `tool_parameters` con comandi Bash, nomi dei server MCP e dello strumento, e nomi delle skill. I campi come `full_command` vengono emessi non troncati

1829 * Gli eventi `tool_result` includono inoltre un attributo `tool_input` con percorsi di file, URL, modelli di ricerca e altri argomenti. I singoli valori superiori a 512 caratteri vengono troncati e il totale è limitato a circa 4 K caratteri1866 * Gli eventi `tool_result` includono inoltre un attributo `tool_input` con percorsi di file, URL, modelli di ricerca e altri argomenti. I singoli valori superiori a 512 caratteri vengono troncati e il totale è limitato a circa 4 K caratteri

1830 * Gli eventi `user_prompt` includono il `command_name` verbatim per i comandi personalizzati, plugin e MCP1867 * Gli eventi `user_prompt` includono il `command_name` verbatim per i comandi personalizzati, plugin e MCP

network-config.md +17 −17

Details

203 Watchdog di inattività dello streaming203 Watchdog di inattività dello streaming

204</h2>204</h2>

205 205 

206Claude Code esegue quattro timer indipendenti che interrompono una risposta del modello in streaming quando rimane silenziosa, in modo che una connessione morta fallisca e riprovi invece di rimanere bloccata. Una richiesta che non riceve alcun header di risposta termina in uno di due modi:206Claude Code esegue quattro timer indipendenti che interrompono una risposta del modello in streaming quando smette di arrivare, così una connessione morta fallisce e viene ritentata invece di restare bloccata. Una richiesta che non riceve alcuna intestazione di risposta termina in uno di due modi:

207 207 

208* **Dove viene eseguita la scadenza del primo byte**: il primo tentativo termina a quella scadenza. Per modificarla, imposta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. Per l'attesa del nuovo tentativo, consulta [Nessuna risposta dall'API](/docs/it/errors#no-response-from-api).208* **Dove è attiva la scadenza del primo byte**: il primo tentativo termina a quella scadenza. Per modificarla, imposta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. Per l'attesa del nuovo tentativo, consulta [No response from API](/docs/it/errors#no-response-from-api).

209* **Sulle altre connessioni**: la richiesta termina dopo 5-6 minuti, quando scatta il timeout di inattività del corpo, a meno che tu non abbia disattivato quel timeout. Per terminarla prima, abbassa `API_TIMEOUT_MS`.209* **Sulle altre connessioni**: la richiesta termina dopo 5-6 minuti, quando scatta il timeout di inattività del corpo, a meno che tu non abbia disattivato quel timeout. Per terminarla prima, abbassa `API_TIMEOUT_MS`.

210 210 

211| Timer | Interrompe quando | Viene eseguito su | Timeout predefinito |211| Timer | Interrompe quando | Attivo su | Timeout predefinito |

212| :- | :- | :- | :- |212| :- | :- | :- | :- |

213| Scadenza del primo byte | Nessun header di risposta arriva dopo che Claude Code invia la richiesta | API Anthropic diretta e [Claude Platform on AWS](/docs/it/claude-platform-on-aws), incluso attraverso un proxy HTTPS, ma non quando `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` le instradano attraverso un [gateway](/docs/it/gateways). Opt-in su Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; non viene eseguito su Google Cloud's Agent Platform o Microsoft Foundry, né in una sessione [Claude apps gateway](/docs/it/claude-apps-gateway) | 180 secondi sull'API Anthropic diretta, 300 secondi altrove, più un secondo per ogni 32KB del corpo della richiesta |213| Scadenza del primo byte | Non arriva alcuna intestazione di risposta dopo che Claude Code ha inviato la richiesta | API Anthropic diretta e [Claude Platform on AWS](/docs/it/claude-platform-on-aws), anche tramite un proxy HTTPS, ma non quando `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` le instradano attraverso un [gateway](/docs/it/gateways). Attivabile su richiesta su Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; non è attivo su Agent Platform di Google Cloud né su Microsoft Foundry, né in una sessione di [Claude apps gateway](/docs/it/claude-apps-gateway) | 180 secondi sull'API Anthropic diretta, 300 secondi altrove, più un secondo ogni 32KB di corpo della richiesta |

214| Watchdog a livello di evento | Nessun evento di risposta viene analizzato. Su connessioni in cui viene eseguito il watchdog a livello di byte, i byte in arrivo, inclusi i ping keep-alive, ripristinano anche questo watchdog, per circa cinque minuti senza un evento analizzato | Ogni provider | 300 secondi |214| Watchdog a livello di evento | Non viene analizzato alcun evento di risposta. Dove il watchdog a livello di byte è attivo su una connessione diversa da Amazon Bedrock, anche i byte in arrivo, inclusi i ping keep-alive, reimpostano questo watchdog, fino a circa cinque minuti senza un evento analizzato; su Amazon Bedrock i byte in arrivo non lo reimpostano | Ogni provider | 300 secondi |

215| Watchdog a livello di byte | Nessun byte arriva sul filo, inclusi i ping keep-alive SSE | API Anthropic diretta, [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e connessioni tramite [gateway](/docs/it/gateways), incluso un `ANTHROPIC_BASE_URL` personalizzato. Opt-in su risposte Amazon Bedrock `vnd.amazon.eventstream` con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; non viene eseguito su Google Cloud's Agent Platform o Microsoft Foundry | 180 secondi sull'API Anthropic diretta. 300 secondi su Claude Platform on AWS, su Amazon Bedrock, in una sessione [Claude apps gateway](/docs/it/claude-apps-gateway) e attraverso un `ANTHROPIC_BASE_URL` personalizzato |215| Watchdog a livello di byte | Non arriva alcun byte sulla connessione, inclusi i ping keep-alive SSE | Connessioni all'API Anthropic diretta, a [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e tramite [gateway](/docs/it/gateways), incluso un `ANTHROPIC_BASE_URL` personalizzato. Attivabile su richiesta per le risposte `vnd.amazon.eventstream` di Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; non è attivo su Agent Platform di Google Cloud né su Microsoft Foundry | 180 secondi sull'API Anthropic diretta. 300 secondi su Claude Platform on AWS, su Amazon Bedrock, in una sessione di [Claude apps gateway](/docs/it/claude-apps-gateway) e tramite un `ANTHROPIC_BASE_URL` personalizzato |

216| Timeout di inattività del corpo | Nessun byte arriva per 5 minuti, contando l'attesa degli header di risposta | Provider diversi dall'API Anthropic diretta, Claude Platform on AWS, e Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` impostato, a meno che [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) non lo modifichi | 5 minuti |216| Timeout di inattività del corpo | Non arriva alcun byte per 5 minuti, contando l'attesa delle intestazioni di risposta | Provider diversi dall'API Anthropic diretta, da Claude Platform on AWS e da Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` impostata, a meno che [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) non lo modifichi | 5 minuti |

217 217 

218Se si imposta `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, il watchdog a livello di byte sostituisce il timeout di inattività del corpo su Bedrock piuttosto che essere eseguito insieme ad esso. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` governa quindi anche quanto a lungo uno stream Bedrock può rimanere silenzioso prima che Claude Code consideri la connessione come morta, entro i limiti elencati di seguito. I byte in arrivo ancora non ripristinano il watchdog a livello di evento su Bedrock. Con la registrazione di debug attivata, ogni stream Bedrock registra quindi un messaggio di debug che inizia con `wire-heartbeat: _chunkTimes absent`.218Se imposti `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, il watchdog a livello di byte sostituisce il timeout di inattività del corpo su Bedrock invece di funzionare insieme a esso. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` determina quindi anche per quanto tempo uno stream Bedrock può restare silenzioso prima che Claude Code consideri morta la connessione, entro i limiti elencati di seguito. I byte in arrivo continuano a non reimpostare il watchdog a livello di evento su Bedrock. Con il logging di debug attivo, ogni stream Bedrock registra quindi un messaggio di debug che inizia con `wire-heartbeat: _chunkTimes absent`.

219 219 

220Configurare i timer con queste variabili, ognuna descritta in dettaglio nel [riferimento delle variabili di ambiente](/docs/it/env-vars):220Configura i timer con queste variabili, ciascuna descritta in dettaglio nel [riferimento alle variabili d'ambiente](/docs/it/env-vars):

221 221 

222* `CLAUDE_ENABLE_STREAM_WATCHDOG` e `CLAUDE_ENABLE_BYTE_WATCHDOG` forzano il watchdog corrispondente attivo con `1` o spento con `0`, all'interno delle connessioni elencate nella tabella; nessuna delle due variabili estende un watchdog a un tipo di connessione che non copre. `CLAUDE_ENABLE_BYTE_WATCHDOG` impostato su `0` disattiva anche la scadenza del primo byte.222* `CLAUDE_ENABLE_STREAM_WATCHDOG` e `CLAUDE_ENABLE_BYTE_WATCHDOG` forzano l'attivazione del watchdog corrispondente con `1` o la disattivazione con `0`, nell'ambito delle connessioni elencate nella tabella; nessuna delle due variabili estende un watchdog a un tipo di connessione che non copre. `CLAUDE_ENABLE_BYTE_WATCHDOG` impostata su `0` disattiva anche la scadenza del primo byte.

223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` imposta il timeout di entrambi i watchdog. Claude Code aumenta i valori inferiori a 5 minuti a 5 minuti e limita il valore a 30 minuti per il watchdog a livello di byte.223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` imposta il timeout di entrambi i watchdog. Claude Code porta a 5 minuti i valori inferiori a 5 minuti e limita il valore a 30 minuti per il watchdog a livello di byte.

224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` imposta il timeout del watchdog a livello di byte senza modificare quello del watchdog a livello di evento, limitato tra 10 secondi e 30 minuti, e ha la precedenza su `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per quel watchdog.224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` imposta il timeout del watchdog a livello di byte senza modificare quello del watchdog a livello di evento, limitato tra 10 secondi e 30 minuti, e ha la precedenza su `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per quel watchdog.

225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` imposta la scadenza del primo byte direttamente. Lasciarlo non impostato e Claude Code utilizza il timeout del watchdog a livello di byte, quindi `CLAUDE_STREAM_IDLE_TIMEOUT_MS` e `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` modificano anche la scadenza. Per i limiti, l'indennità di caricamento, il limite `API_TIMEOUT_MS` e quanto tempo l'attesa di ripetizione dopo un'interruzione senza risposta, vedere [Nessuna risposta dall'API](/docs/it/errors#no-response-from-api).225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` imposta direttamente la scadenza del primo byte. Se non la imposti, Claude Code usa il timeout del watchdog a livello di byte, quindi anche `CLAUDE_STREAM_IDLE_TIMEOUT_MS` e `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` modificano la scadenza. Per i limiti, la tolleranza per il caricamento, il tetto di `API_TIMEOUT_MS` e quanto attende il nuovo tentativo dopo un'interruzione per mancata risposta, consulta [No response from API](/docs/it/errors#no-response-from-api).

226* `API_TIMEOUT_MS` limita l'attesa degli header di risposta. Dove la scadenza del primo byte non viene eseguita, come in una sessione Claude apps gateway, impostalo al di sotto di `300000`, ovvero 5 minuti, per riprovare prima una richiesta senza risposta. Mantienilo al di sopra dell'attesa più lunga degli header, e della [richiesta non in streaming](/docs/it/errors#streaming-response-ended-before-any-complete-data-was-received) più lunga, che prevedi: una richiesta che richiede più tempo va di nuovo in timeout a ogni nuovo tentativo.226* `API_TIMEOUT_MS` limita l'attesa delle intestazioni di risposta, non per quanto tempo una risposta viene trasmessa in streaming dopo di esse. Dove la scadenza del primo byte non è attiva, ad esempio in una sessione di Claude apps gateway, impostala sotto `300000`, cioè 5 minuti, per riprovare prima una richiesta senza risposta. Mantienila al di sopra dell'attesa più lunga delle intestazioni, e della [richiesta non in streaming](/docs/it/errors#streaming-response-ended-before-any-complete-data-was-received) più lunga, che prevedi: una richiesta che richiede più tempo va di nuovo in timeout a ogni nuovo tentativo.

227* `API_FORCE_IDLE_TIMEOUT` impostato su `0` disattiva il timeout di inattività del corpo, e impostato su `1` lo attiva per ogni provider. I watchdog vengono eseguiti indipendentemente da esso, quindi per consentire a uno stream di pausa più lungo dei loro soglie, aumentare o disabilitare anche loro.227* `API_FORCE_IDLE_TIMEOUT` impostata su `0` disattiva il timeout di inattività del corpo, e impostata su `1` lo attiva per ogni provider. I watchdog funzionano indipendentemente da essa, quindi per consentire a uno stream di restare in pausa più a lungo delle loro soglie, alzali o disattivali.

228 228 

229Quando un watchdog interrompe uno stream bloccato, Claude Code tratta l'interruzione come un errore a metà flusso, e quello che si vede dipende da quanto lontano era arrivata la risposta. Claude Code riprova la richiesta o termina il turno con un errore, mantiene l'output completato e mostra un [avviso di risposta incompleta](/docs/it/errors#the-response-above-may-be-incomplete), o termina il turno normalmente. [Tentativi automatici](/docs/it/errors#automatic-retries) dice dove si applica ogni risultato.229Quando un watchdog interrompe uno stream bloccato, Claude Code tratta l'interruzione come un errore a metà stream, e ciò che vedi dipende da quanto era avanzata la risposta. Claude Code riprova la richiesta o termina il turno con un errore, conserva l'output completato e mostra un [avviso di risposta incompleta](/docs/it/errors#the-response-above-may-be-incomplete), oppure termina il turno normalmente. [Nuovi tentativi automatici](/docs/it/errors#automatic-retries) indica dove si applica ciascun esito.

230 230 

231In una [sessione non interattiva](/docs/it/headless), e per la risposta di un subagent in qualsiasi sessione, Claude Code potrebbe prima richiedere a Claude di continuare la risposta interrotta; [la voce di quell'avviso](/docs/it/errors#the-response-above-may-be-incomplete) dice quando lo fa e quando si vede ancora l'avviso.231In una [sessione non interattiva](/docs/it/headless), e per la risposta di un subagent in qualsiasi sessione, Claude Code può prima chiedere a Claude di continuare la risposta interrotta; [la voce di quell'avviso](/docs/it/errors#the-response-above-may-be-incomplete) indica quando lo fa e quando vedi comunque l'avviso.

232 232 

233Quando la scadenza del primo byte si attiva, nessuna risposta è iniziata, quindi non c'è output parziale da mantenere. Per come Claude Code rinvia la richiesta e quando il turno termina invece, vedere [Nessuna risposta dall'API](/docs/it/errors#no-response-from-api).233Quando scatta la scadenza del primo byte, nessuna risposta è iniziata, quindi non c'è output parziale da conservare. Per sapere come Claude Code invia di nuovo la richiesta e quando invece termina il turno, consulta [No response from API](/docs/it/errors#no-response-from-api).

234 234 

235<h2 id="network-access-requirements">235<h2 id="network-access-requirements">

236 Requisiti di accesso alla rete236 Requisiti di accesso alla rete

permission-modes.md +107 −10

Details

86| Come esegui Claude Code | Modalità di permesso iniziale integrata |86| Come esegui Claude Code | Modalità di permesso iniziale integrata |

87| :- | :- |87| :- | :- |

88| Un file di impostazioni imposta `disableAutoMode` su `"disable"` | `default` |88| Un file di impostazioni imposta `disableAutoMode` su `"disable"` | `default` |

89| `claude -p` o l'[Agent SDK](/docs/it/agent-sdk/permissions#permission-modes) | `default` in sessioni che [recuperano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching). In sessioni che non lo fanno, come su un provider di terze parti o con telemetria disattivata, `auto` con Claude Code v2.1.285 o successivo e `default` su versioni precedenti. Una sessione in un'organizzazione la cui politica nega l'impostazione predefinita `auto` inizia in `default` invece |89| `claude -p` o l'[Agent SDK](/docs/it/agent-sdk/permissions#permission-modes) | `default` |

90| La tua organizzazione ha applicato la [configurazione HIPAA](#hipaa-configuration) e la sessione è [idonea](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` con Claude Code v2.1.285 o successivo; la modalità auto rimane disponibile per passarvi |90| La tua organizzazione ha applicato la [configurazione HIPAA](#hipaa-configuration) e la sessione è [idonea](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` con Claude Code v2.1.285 o successivo; la modalità auto rimane disponibile per passarvi |

91| In un terminale o tramite l'[estensione VS Code](/docs/it/vs-code) | `auto` con Claude Code v2.1.283 o successivo; su versioni precedenti, `auto` su piani Pro, Max, o Team in sessioni che [recuperano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), e `default` altrimenti |91| In un terminale o tramite l'[estensione VS Code](/docs/it/vs-code) | `auto` con Claude Code v2.1.283 o successivo; su versioni precedenti, `auto` su piani Pro, Max, o Team in sessioni che [recuperano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), e `default` altrimenti |

92 92 

93Nella tua [prima sessione dopo un'installazione o aggiornamento](/docs/it/env-vars#first-session-after-an-install-or-upgrade), Claude Code può scegliere la modalità di permesso iniziale prima che arrivino i suoi flag di funzionalità. Quella sessione può iniziare in una modalità di permesso diversa da quella che la tabella fornisce.

94 

95Quando il flag, un file di impostazioni, o l'impostazione predefinita integrata seleziona `auto` ma la modalità auto non è disponibile per la sessione, Claude Code avvia la sessione in Manual invece. La modalità auto non è disponibile quando la sessione non soddisfa i [requisiti di disponibilità](#eliminate-prompts-with-auto-mode), come un file di impostazioni che la disattiva o un modello che non la supporta, o quando Anthropic l'ha temporaneamente disattivata lato server.93Quando il flag, un file di impostazioni, o l'impostazione predefinita integrata seleziona `auto` ma la modalità auto non è disponibile per la sessione, Claude Code avvia la sessione in Manual invece. La modalità auto non è disponibile quando la sessione non soddisfa i [requisiti di disponibilità](#eliminate-prompts-with-auto-mode), come un file di impostazioni che la disattiva o un modello che non la supporta, o quando Anthropic l'ha temporaneamente disattivata lato server.

96 94 

97La prima volta che l'impostazione predefinita integrata avvia una delle tue sessioni in modalità auto, Claude Code mostra un avviso che collega a questa pagina:95La prima volta che l'impostazione predefinita integrata avvia una delle tue sessioni in modalità auto, Claude Code mostra un avviso che collega a questa pagina:


101 99 

102Se il tuo `~/.claude/settings.json` imposta un `defaultMode` diverso da `auto` e nessun altro file di impostazioni ne imposta uno, le tue sessioni continuano a iniziare in quella modalità. Su piani Pro, Max e Team, e in sessioni che [non recuperano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), Claude Code chiede una volta, nel terminale o nell'estensione VS Code, se cambiare l'impostazione in modalità auto. Se rifiuti, la tua impostazione rimane come è.100Se il tuo `~/.claude/settings.json` imposta un `defaultMode` diverso da `auto` e nessun altro file di impostazioni ne imposta uno, le tue sessioni continuano a iniziare in quella modalità. Su piani Pro, Max e Team, e in sessioni che [non recuperano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), Claude Code chiede una volta, nel terminale o nell'estensione VS Code, se cambiare l'impostazione in modalità auto. Se rifiuti, la tua impostazione rimane come è.

103 101 

102<h3 id="which-mode-a-non-interactive-run-starts-in">

103 Chiamate agli strumenti negate nelle esecuzioni di `claude -p` e dell'Agent SDK

104</h3>

105 

106In Claude Code v2.1.302 o successivo, le esecuzioni di `claude -p` e dell'[Agent SDK](/docs/it/agent-sdk/permissions#permission-modes) [senza alcuna modalità di permesso impostata](#which-mode-a-session-starts-in) iniziano in modalità Manual. Questa modalità appare come `default` nelle opzioni dell'SDK e nelle impostazioni. Le chiamate che richiedono approvazione vengono negate a meno che tu non le approvi con una regola allow, un hook, un callback `canUseTool` o `--permission-prompt-tool`.

107 

108Per far approvare queste chiamate, aggiungi regole allow o inizia in modalità auto:

109 

110* **[Aggiungi regole allow](/docs/it/permissions#manage-permissions)**: Claude esegue le chiamate che elenchi. Passa [`--allowedTools "Bash(npm test)"`](/docs/it/headless#auto-approve-tools) a `claude -p`, oppure imposta l'[opzione degli strumenti consentiti](/docs/it/agent-sdk/permissions#allow-and-deny-rules) del tuo SDK.

111* **Inizia in [modalità auto](#eliminate-prompts-with-auto-mode)**: un modello classificatore esamina le chiamate, quindi non devi elencare nulla in anticipo. Passa `--permission-mode auto` a `claude -p`, oppure imposta l'[opzione della modalità di permesso](/docs/it/agent-sdk/permissions#set-permission-mode) del tuo SDK.

112 

113Questi esempi mostrano la forma della modalità auto per la CLI e per ciascun SDK:

114 

115<Tabs>

116 <Tab title="CLI">

117 ```bash theme={null}

118 claude -p "Run the test suite and fix any failures" --permission-mode auto

119 ```

120 </Tab>

121 

122 <Tab title="TypeScript">

123 ```typescript theme={null}

124 const options = {

125 permissionMode: "auto"

126 };

127 ```

128 </Tab>

129 

130 <Tab title="Python">

131 ```python theme={null}

132 from claude_agent_sdk import ClaudeAgentOptions

133 

134 options = ClaudeAgentOptions(permission_mode="auto")

135 ```

136 </Tab>

137</Tabs>

138 

139Prima della v2.1.302, queste esecuzioni potevano iniziare in modalità auto se non [recuperavano flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), ad esempio su un [provider di terze parti](/docs/it/third-party-integrations) o con `DISABLE_TELEMETRY`.

140 

104<h3 id="start-in-a-different-mode">141<h3 id="start-in-a-different-mode">

105 Inizia in una modalità di permesso diversa142 Inizia in una modalità di permesso diversa

106</h3>143</h3>


212 </Tab>249 </Tab>

213 250 

214 <Tab title="JetBrains">251 <Tab title="JetBrains">

215 Il plugin JetBrains esegue Claude Code nel terminale dell'IDE, quindi il cambio delle modalità di autorizzazione funziona come nella CLI: premi `Shift+Tab` per ciclo, o passa `--permission-mode` al lancio.252 Il plugin JetBrains esegue Claude Code nel terminale dell'IDE, quindi il cambio delle modalità di permesso funziona come nella CLI: premi `Shift+Tab` per scorrerle ciclicamente, o passa `--permission-mode` al lancio.

216 </Tab>253 </Tab>

217 254 

218 <Tab title="Desktop">255 <Tab title="Desktop">

219 **Durante una sessione**: nella scheda Code, utilizza il selettore di modalità accanto al pulsante di invio. Non tutte le modalità appaiono nel selettore:256 **Durante una sessione**: nella scheda Code, utilizza il selettore di modalità nella riga sotto la casella del prompt. Non tutte le modalità appaiono nel selettore:

220 257 

221 * **Auto**: appare quando [auto mode è disponibile](#eliminate-prompts-with-auto-mode)258 * **Auto**: appare quando [auto mode è disponibile](#eliminate-prompts-with-auto-mode)

222 * **Bypass permissions**: richiede l'interruttore **Allow bypass permissions mode** nelle impostazioni Desktop su piani Pro e Max; su piani Team e Enterprise, la politica dell'organizzazione la controlla invece259 * **Bypass permissions**: richiede l'interruttore **Allow bypass permissions mode** nelle impostazioni Desktop su piani Pro e Max; su piani Team e Enterprise, la politica dell'organizzazione la controlla invece


345 Modalità auto su Bedrock, Agent Platform o Foundry382 Modalità auto su Bedrock, Agent Platform o Foundry

346</h3>383</h3>

347 384 

348Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. Quando nient'altro imposta una modalità di permesso, è anche la [modalità di permesso iniziale integrata](#which-mode-a-session-starts-in), sulle versioni che la tabella di quella sezione elenca. Per scegliere tu stesso la modalità di permesso iniziale, imposta `permissions.defaultMode` come descrive [Inizia in una modalità di permesso diversa](#start-in-a-different-mode), o scegli una modalità di permesso dall'indicatore di modalità dell'estensione VS Code.385Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. Se lì non imposti una modalità di permesso, le sessioni interattive iniziano in modalità auto, e le esecuzioni `claude -p` o Agent SDK iniziano in modalità Manual, il cui valore di configurazione è `default`:

386 

387* **Sessioni di terminale interattivo e VS Code**: per avviarle in una modalità di permesso diversa da auto, imposta `permissions.defaultMode` come descrive [Inizia in una modalità di permesso diversa](#start-in-a-different-mode), o scegline una dall'[indicatore di modalità](#switch-permission-modes) dell'estensione VS Code. [Quale modalità usa una sessione all'avvio](#which-mode-a-session-starts-in) elenca le versioni di Claude Code che le avviano in modalità auto.

388* **Esecuzioni `claude -p` e Agent SDK**: per avviarne una in modalità auto, passa `--permission-mode auto` a `claude -p`, oppure passa `permissionMode: "auto"` in TypeScript o `permission_mode="auto"` in Python. Se non passi alcuna modalità di permesso, vedi [Chiamate agli strumenti negate nelle esecuzioni `claude -p` e Agent SDK](#which-mode-a-non-interactive-run-starts-in), che copre anche le versioni precedenti di Claude Code.

349 389 

350Solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, Haiku 5.5 e i modelli Fable sono supportati su questi provider. Su qualsiasi altro modello, la sessione inizia invece in Manual. La modalità auto con Haiku 5.5 su questi provider richiede Claude Code v2.1.293 o successivo.390Solo Claude Sonnet 5 o successivo, Opus 4.7 o successivo, Haiku 5.5 e i modelli Fable sono supportati su questi provider. Su qualsiasi altro modello, la sessione inizia invece in Manual. La modalità auto con Haiku 5.5 su questi provider richiede Claude Code v2.1.293 o successivo.

351 391 


368 408 

369Per evitare di chiedere al server e usare sempre le richieste del classificatore di Claude Code, imposta [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/it/env-vars). Su una connessione diretta all'API Anthropic, la variabile richiede Claude Code v2.1.281 o successivo. Impostarla su `1` in quel caso attiva la revisione del server in una sessione che non ce l'ha ancora, a meno che tu non abbia impostato anche `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se imposti `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e lasci `CLAUDE_CODE_AUTO_MODE_SERVER` non impostata, anche Claude Code smette di chiedere al server, tranne nei casi descritti in [Disabilita le funzionalità pre-rilascio](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities).409Per evitare di chiedere al server e usare sempre le richieste del classificatore di Claude Code, imposta [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/it/env-vars). Su una connessione diretta all'API Anthropic, la variabile richiede Claude Code v2.1.281 o successivo. Impostarla su `1` in quel caso attiva la revisione del server in una sessione che non ce l'ha ancora, a meno che tu non abbia impostato anche `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se imposti `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e lasci `CLAUDE_CODE_AUTO_MODE_SERVER` non impostata, anche Claude Code smette di chiedere al server, tranne nei casi descritti in [Disabilita le funzionalità pre-rilascio](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities).

370 410 

411<h3 id="default-classifier-model">

412 Modello classificatore predefinito

413</h3>

414 

415Per impostazione predefinita, le richieste del classificatore vanno a Claude Sonnet 5. Se `/status` mostra `Auto mode server` come `Enabled`, vengono inviate solo per le chiamate al di fuori della [revisione del server](#server-side-classifier-review).

416 

417Trova la prima riga di questa tabella che corrisponde alla tua sessione. Ottieni il modello di quella riga al posto di Sonnet 5.

418 

419| La tua sessione | Modello classificatore |

420| - | - |

421| Ha un modello classificatore configurato da Anthropic | Il modello configurato. [Controlla il log di debug](#classifier-model-check) per vedere quale |

422| Viene eseguita su Claude Sonnet 4.6 | Sonnet 4.6 |

423| Ha [`ANTHROPIC_DEFAULT_SONNET_MODEL`](/docs/it/model-config#environment-variables) impostata | Il suo valore, oppure Sonnet 5 se il suo valore è Claude Sonnet 5.5 o Claude Opus 5.5 |

424 

425Se Sonnet 5 o il modello in `ANTHROPIC_DEFAULT_SONNET_MODEL` non è disponibile dal tuo provider o è escluso dalla [policy sui modelli](/docs/it/model-config#restrict-model-selection) della tua organizzazione, Claude Code usa un modello di fallback. Si tratta del modello della tua sessione, oppure di un modello Opus in una [sessione Fable](/docs/it/model-config#work-with-fable).

426 

427<h3 id="choose-the-classifier-model">

428 Scegli il modello classificatore

429</h3>

430 

431Con Claude Code v2.1.302 o successivo, imposta [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/it/env-vars) su un ID di modello completo per eseguire il classificatore su un modello diverso da quello [predefinito](#default-classifier-model). Funzionano anche gli ID di modello completi del tuo provider cloud. Questo esempio di `~/.claude/settings.json` imposta Claude Sonnet 4.6:

432 

433```json theme={null}

434{

435 "env": {

436 "CLAUDE_CODE_AUTO_MODE_MODEL": "claude-sonnet-4-6"

437 }

438}

439```

440 

441<h4 id="classifier-model-not-reviewing">

442 Quando il tuo modello non è quello che esamina

443</h4>

444 

445| Situazione | Cosa succede | Cosa fare |

446| - | - | - |

447| In una sessione, `/status` mostra [`Auto mode server`](#server-side-classifier-review) come `Enabled` | Il tuo modello esamina solo ciò che il server non esamina | Nessuna azione necessaria |

448| Hai impostato Claude Opus 5, Claude Sonnet 5.5, Claude Opus 5.5 o un modello escluso dalla [policy sui modelli](/docs/it/model-config#restrict-model-selection) della tua organizzazione | Esamina il [modello classificatore predefinito](#default-classifier-model) | Imposta un modello diverso |

449| Anthropic ha configurato un modello classificatore per la tua sessione | Esamina quel modello | Nessuna azione necessaria |

450| Il tuo provider non può servire il modello | Le richieste non riescono e Claude Code [nega ogni azione esaminata](/docs/it/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Imposta un modello che il provider serve, o rimuovi la variabile |

451 

452<h4 id="classifier-model-check">

453 Verifica quale modello ha usato il classificatore

454</h4>

455 

456Dalla tua shell, avvia una sessione in modalità auto con [`--debug-file`](/docs/it/cli-reference#cli-flags):

457 

458```bash theme={null}

459claude --permission-mode auto --debug-file classifier-debug.log

460```

461 

462Fai eseguire a Claude un comando della shell che non sia di sola lettura, poi cerca nel log `classifier_request_started`:

463 

464* **Il tuo modello dopo `model=`**: la variabile ha avuto effetto

465* **Un modello diverso dopo `model=`**: cerca nel log `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`, che indica il motivo e l'eventuale passaggio da eseguire

466* **Nessuna riga del genere**: leggi `Auto mode server` in `/status` al prompt di Claude Code:

467 * **`Enabled`**: il [server](#server-side-classifier-review) è impostato per esaminare le chiamate di questa sessione. Nulla da cambiare.

468 * **`Disabled`**: assicurati che la [modalità di permesso](#switch-permission-modes) sia auto, poi fai eseguire a Claude un altro comando che non sia di sola lettura.

469 

371<h3 id="what-the-classifier-blocks-by-default">470<h3 id="what-the-classifier-blocks-by-default">

372 Cosa blocca il classificatore per impostazione predefinita471 Cosa blocca il classificatore per impostazione predefinita

373</h3>472</h3>


384* Modifica dell'infrastruttura condivisa483* Modifica dell'infrastruttura condivisa

385* Distruzione irreversibile di file che esistevano prima della sessione484* Distruzione irreversibile di file che esistevano prima della sessione

386* Force push485* Force push

387* Commit o push di una modifica che, quando viene eseguita, invierebbe segreti o dati sensibili al di fuori del repository, o amplierebbe ciò che un deploy espone. Questo copre un workflow CI o una configurazione di deploy che passa un segreto a una destinazione che non lo riceve già, uno script o un passaggio di setup che legge un archivio di segreti e invia i dati all'esterno, e una modifica di configurazione che amplia ciò che un deploy pubblica, come un'impostazione di registry, visibilità, artefatto o sourcemap. Il controllo si applica su qualsiasi branch, si applica anche quando il repository è pubblico, e scatta quando la modifica viene sottoposta a commit o push, indipendentemente dal fatto che quel commit o push attivi la pipeline; superarlo richiede di nominare l'effetto dell'esecuzione, non solo il commit o il push. Prima della v2.1.211, questo controllo era invece limitato al branch predefinito: un push lì veniva bloccato quando conteneva contenuto sensibile, modifiche nascoste o descritte in modo fuorviante rispetto a quanto avevi chiesto, contenuto importato da fuori del repository, o aggirava una revisione che avevi richiesto486* Commit o push di una modifica che, quando viene eseguita, invierebbe segreti o dati sensibili al di fuori del repository, o amplierebbe ciò che un deploy espone. Questo copre un workflow CI o una configurazione di deploy che passa un segreto a una destinazione che non lo riceve già, uno script o un passaggio di setup che legge un archivio di segreti e invia i dati all'esterno, e una modifica di configurazione che amplia ciò che un deploy pubblica, come un'impostazione di registry, visibilità, artefatto o sourcemap. Il controllo si applica su qualsiasi branch, si applica anche quando il repository è pubblico, e scatta quando la modifica viene sottoposta a commit o push, indipendentemente dal fatto che quel commit o push attivi la pipeline; superarlo richiede di nominare l'effetto dell'esecuzione, non solo il commit o il push

388* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, o `git stash clear`, che il classificatore presume scarterebbero le modifiche non sottoposte a commit487* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, o `git stash clear`, che il classificatore presume scarterebbero le modifiche non sottoposte a commit

389* `git commit --amend` quando il commit in HEAD non è stato creato in questa sessione488* `git commit --amend` quando il commit in HEAD non è stato creato in questa sessione

390* Dalla v2.1.198, `git commit --amend` quando il commit in HEAD è già stato sottoposto a push. Una riscrittura solo del messaggio non è bloccata: `--amend -m` senza nulla di nuovo in staging, su un commit che Claude ha creato durante questa sessione489* Dalla v2.1.198, `git commit --amend` quando il commit in HEAD è già stato sottoposto a push. Una riscrittura solo del messaggio non è bloccata: `--amend -m` senza nulla di nuovo in staging, su un commit che Claude ha creato durante questa sessione


568 </Accordion>667 </Accordion>

569 668 

570 <Accordion title="Costo e latenza">669 <Accordion title="Costo e latenza">

571 Per impostazione predefinita il classificatore viene eseguito su Claude Sonnet 5 anziché sul modello selezionato con `/model`. Un modello classificatore configurato da Anthropic lato server ha la precedenza su questa impostazione predefinita. Quando il modello della tua sessione è Claude Sonnet 4.6, o quando [`availableModels`](/docs/it/model-config#restrict-model-selection) esclude Sonnet 5, il classificatore viene invece eseguito sul modello della sessione, oppure su un modello Opus quando la sessione viene eseguita su un [modello Fable](/docs/it/model-config#work-with-fable). Sui provider diversi dall'API Anthropic, quel fallback Opus è il modello che imposti in [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/it/model-config#environment-variables), oppure Opus 5 se non ne hai impostato uno.670 Le richieste del classificatore di Claude Code possono essere eseguite su un modello diverso da quello selezionato con `/model`. Vedi [su quale modello vengono eseguite](#default-classifier-model).

572 

573 La prima richiesta in modalità auto della sessione convalida il default Sonnet 5: se la richiesta ha successo, Sonnet 5 rimane il modello classificatore della sessione, e se fallisce perché il modello non è disponibile, la sessione usa invece il fallback.

574 671 

575 Sui piani Enterprise e sugli account che utilizzano l'API Claude, [Claude Platform su AWS](/docs/it/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, le chiamate al classificatore contano nel tuo utilizzo di token. Ogni controllo invia una porzione della trascrizione più l'azione in sospeso, aggiungendo un round-trip prima dell'esecuzione. Le letture e le modifiche nella directory di lavoro al di fuori dei percorsi protetti saltano il classificatore, quindi l'overhead proviene principalmente dai comandi della shell e dalle operazioni di rete. Dove il server esamina le azioni come parte delle richieste al modello della sessione, non ci sono chiamate separate al classificatore da contare; vedi [Revisione del classificatore lato server](#server-side-classifier-review).672 Sui piani Enterprise e sugli account che utilizzano l'API Claude, [Claude Platform su AWS](/docs/it/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, le chiamate al classificatore contano nel tuo utilizzo di token. Ogni controllo invia una porzione della trascrizione più l'azione in sospeso, aggiungendo un round-trip prima dell'esecuzione. Le letture e le modifiche nella directory di lavoro al di fuori dei percorsi protetti saltano il classificatore, quindi l'overhead proviene principalmente dai comandi della shell e dalle operazioni di rete. Dove il server esamina le azioni come parte delle richieste al modello della sessione, non ci sono chiamate separate al classificatore da contare; vedi [Revisione del classificatore lato server](#server-side-classifier-review).

576 673 

permissions.md +3 −3

Details

391 391 

392Claude Code controlla i percorsi di immagini incollati e gli elenchi delle directory dalla v2.1.290 in poi.392Claude Code controlla i percorsi di immagini incollati e gli elenchi delle directory dalla v2.1.290 in poi.

393 393 

394Una regola deny `Read` blocca anche gli [strumenti Edit e Write](/docs/it/errors#file-is-covered-by-a-read-deny-rule) sullo stesso percorso, inclusa la creazione di un nuovo file in quella posizione. NotebookEdit non è coperto, quindi aggiungi una regola deny `Edit` per i percorsi che nessuno strumento deve modificare. Il controllo richiede Claude Code v2.1.208 o successiva per le modifiche, e v2.1.228 o successiva per le scritture.394Una regola deny `Read` blocca anche gli [strumenti Edit e Write](/docs/it/errors#file-is-covered-by-a-read-deny-rule) sullo stesso percorso, inclusa la creazione di un nuovo file in quella posizione. NotebookEdit non è coperto, quindi aggiungi una regola deny `Edit` per i percorsi che nessuno strumento deve modificare. Per lo strumento Write, il controllo richiede Claude Code v2.1.228 o successiva.

395 395 

396Claude Code controlla i permessi sui file solo rispetto alle regole `Edit(path)` e `Read(path)`. Se invece scrivi una regola di percorso per `Write`, `NotebookEdit`, `Glob` o lo strumento legacy `MultiEdit`, Claude Code accetta la regola ma non la consulta mai e [mostra un avviso all'avvio](/docs/it/errors#is-not-matched-by-file-permission-checks), tranne nel caso di una regola `Glob` passata in `--allowedTools`. Usa `Edit(docs/**)` al posto di `Write(docs/**)`, `NotebookEdit(docs/**)` o `MultiEdit(docs/**)`, e `Read(docs/**)` al posto di `Glob(docs/**)`. Claude Code non mostra avvisi per una regola con il solo nome dello strumento e senza percorso, come una regola deny per `Write`; applica quella regola a livello di strumento ovunque. Richiede Claude Code v2.1.210 o successiva.396Claude Code controlla i permessi sui file solo rispetto alle regole `Edit(path)` e `Read(path)`. Se invece scrivi una regola di percorso per `Write`, `NotebookEdit`, `Glob` o lo strumento legacy `MultiEdit`, Claude Code accetta la regola ma non la consulta mai e [mostra un avviso all'avvio](/docs/it/errors#is-not-matched-by-file-permission-checks), tranne nel caso di una regola `Glob` passata in `--allowedTools`. Usa `Edit(docs/**)` al posto di `Write(docs/**)`, `NotebookEdit(docs/**)` o `MultiEdit(docs/**)`, e `Read(docs/**)` al posto di `Glob(docs/**)`. Claude Code non mostra avvisi per una regola con il solo nome dello strumento e senza percorso, come una regola deny per `Write`; applica quella regola a livello di strumento ovunque.

397 397 

398<Warning>398<Warning>

399 Le regole deny Read e Edit si applicano agli strumenti integrati per i file di Claude, ai comandi sui file che Claude Code riconosce in Bash, come `cat`, `head`, `tail`, `sed` e `tee`, e alle destinazioni dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a un comando che legge file senza nominarli, come `grep -r pattern .` eseguito dalla directory che contiene il file, né a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file autonomamente. Per un'applicazione a livello di sistema operativo che impedisca a tutti i processi di accedere a un percorso, [abilita la sandbox](/docs/it/sandboxing).399 Le regole deny Read e Edit si applicano agli strumenti integrati per i file di Claude, ai comandi sui file che Claude Code riconosce in Bash, come `cat`, `head`, `tail`, `sed` e `tee`, e alle destinazioni dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a un comando che legge file senza nominarli, come `grep -r pattern .` eseguito dalla directory che contiene il file, né a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file autonomamente. Per un'applicazione a livello di sistema operativo che impedisca a tutti i processi di accedere a un percorso, [abilita la sandbox](/docs/it/sandboxing).


762 762 

763Quando il sandboxing è abilitato e lasciate `autoAllowBashIfSandboxed` al suo valore predefinito di `true`, i comandi Bash in sandbox vengono eseguiti senza richiedere un prompt anche se le vostre autorizzazioni includono una regola ask bare `Bash`, o la [forma equivalente `Bash(*)` ](#match-all-uses-of-a-tool): il confine della sandbox sostituisce il prompt per l'intero strumento.763Quando il sandboxing è abilitato e lasciate `autoAllowBashIfSandboxed` al suo valore predefinito di `true`, i comandi Bash in sandbox vengono eseguiti senza richiedere un prompt anche se le vostre autorizzazioni includono una regola ask bare `Bash`, o la [forma equivalente `Bash(*)` ](#match-all-uses-of-a-tool): il confine della sandbox sostituisce il prompt per l'intero strumento.

764 764 

765In [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code salta questa sostituzione. Senza una regola ask, i [comandi di sola lettura incorporati](#read-only-commands) vengono comunque eseguiti senza richiedere un prompt, e qualsiasi altro comando shell passa attraverso il flusso di autorizzazione regolare mentre siete ancora in fase di pianificazione; consultate [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) per come Claude Code gestisce i comandi lì. Con una regola ask bare `Bash`, ogni comando Bash richiede un prompt, inclusi i comandi di sola lettura in sandbox, lo stesso che al di fuori del sandboxing. Prima della v2.1.212, la sostituzione si applicava anche in plan mode.765In [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code salta questa sostituzione. Senza una regola ask, i [comandi di sola lettura integrati](#read-only-commands) vengono comunque eseguiti senza chiedere conferma, e qualsiasi altro comando shell passa attraverso il normale flusso dei permessi mentre sei ancora in fase di pianificazione; consulta [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) per sapere come Claude Code gestisce i comandi in quella modalità. Con una regola ask `Bash` semplice, ogni comando Bash chiede conferma, inclusi i comandi di sola lettura in sandbox, esattamente come al di fuori del sandboxing.

766 766 

767Questi controlli si applicano ancora:767Questi controlli si applicano ancora:

768 768 

Details

95 95 

96 <Steps>96 <Steps>

97 <Step title="Apri il browser dei plugin">97 <Step title="Apri il browser dei plugin">

98 Fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Plugins**, quindi **Add plugin**. Il browser dei plugin si apre con i plugin dai tuoi marketplace.98 Fai clic sul pulsante **+** accanto alla casella del prompt e seleziona **Add plugins**. Se il menu **+** mostra **Plugins** invece di **Add plugins**, seleziona **Plugins**, quindi **Browse plugins**. Il browser dei plugin si apre con i plugin dai tuoi marketplace.

99 </Step>99 </Step>

100 100 

101 <Step title="Seleziona il plugin">101 <Step title="Seleziona il plugin">


107 </Step>107 </Step>

108 </Steps>108 </Steps>

109 109 

110 Per abilitare, disabilitare o disinstallare in seguito, usa **+ > Plugins > Manage plugins**. Il browser dei plugin non è disponibile nelle sessioni cloud dell'app desktop. Vedi [Install plugins in the desktop app](/docs/it/desktop#install-plugins).110 Per abilitare, disabilitare o disinstallare un plugin in seguito, vedi [Install plugins in the desktop app](/docs/it/desktop#install-plugins).

111 </Tab>111 </Tab>

112 112 

113 <Tab title="VS Code">113 <Tab title="VS Code">

Details

362 Disegna nell'estensione VS Code362 Disegna nell'estensione VS Code

363</h3>363</h3>

364 364 

365Nell'estensione VS Code, ciò che un mod disegna compare nel pannello della chat con la versione dell'estensione 2.1.299 o successiva, in una sessione che [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). In un hook `ui.render` per il pannello della chat, `e.surface` è `vscode`. Per verificare quali punti ed elementi disegna il pannello della chat e quali prop ignora, consulta le tabelle dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e degli [elementi](/docs/it/plugins/mods/reference#elements).365Nell'estensione VS Code, ciò che un mod disegna compare nel pannello della chat con la versione dell'estensione 2.1.299 o successiva. Una sessione che [non recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), come una su Amazon Bedrock, richiede la versione 2.1.304 o successiva. In un hook `ui.render` per il pannello della chat, `e.surface` è `vscode`. Per verificare quali punti ed elementi disegna il pannello della chat e quali prop ignora, consulta le tabelle dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e degli [elementi](/docs/it/plugins/mods/reference#elements).

366 366 

367Per far funzionare un mod nel pannello della chat oltre che nel terminale, tieni conto di queste differenze:367Per far funzionare un mod nel pannello della chat oltre che nel terminale, tieni conto di queste differenze:

368 368 

Details

219| `claude` in un terminale, incluso il terminale integrato di un editor e il plugin JetBrains | Sì | Sì |219| `claude` in un terminale, incluso il terminale integrato di un editor e il plugin JetBrains | Sì | Sì |

220| La scheda Code dell'app Desktop, tranne in una sessione WSL | Sì | Sì, tranne gli elementi che la [tabella degli elementi](/docs/it/plugins/mods/reference#elements) indica come solo per il terminale |220| La scheda Code dell'app Desktop, tranne in una sessione WSL | Sì | Sì, tranne gli elementi che la [tabella degli elementi](/docs/it/plugins/mods/reference#elements) indica come solo per il terminale |

221| Una [sessione WSL](/docs/it/desktop-wsl) nell'app Desktop | No, perché i plugin non sono disponibili nelle sessioni WSL | No |221| Una [sessione WSL](/docs/it/desktop-wsl) nell'app Desktop | No, perché i plugin non sono disponibili nelle sessioni WSL | No |

222| Il pannello di chat dell'estensione VS Code | Sì | Sì, con l'estensione alla versione 2.1.299 o successiva, in una sessione che [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Le tabelle dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e degli [elementi](/docs/it/plugins/mods/reference#elements) indicano cosa disegna il pannello. |222| Il pannello di chat dell'estensione VS Code | Sì | Sì, con l'estensione alla versione 2.1.299 o successiva. Una sessione che [non recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), ad esempio una su Amazon Bedrock, richiede la versione 2.1.304 o successiva. Le tabelle dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e degli [elementi](/docs/it/plugins/mods/reference#elements) indicano cosa disegna il pannello. |

223| `claude -p` e l'[Agent SDK](/docs/it/agent-sdk/overview) | Sì | No |223| `claude -p` e l'[Agent SDK](/docs/it/agent-sdk/overview) | Sì | No |

224| [Remote Control](/docs/it/remote-control) da claude.ai o dall'app mobile | Sì, nella sessione sulla tua macchina | Nel terminale sulla tua macchina |224| [Remote Control](/docs/it/remote-control) da claude.ai o dall'app mobile | Sì, nella sessione sulla tua macchina | Nel terminale sulla tua macchina |

225| Una [sessione cloud](/docs/it/claude-code-on-the-web) | Sì, per un plugin che [raggiunge la sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup) | No |225| Una [sessione cloud](/docs/it/claude-code-on-the-web) | Sì, per un plugin che [raggiunge la sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup) | No |

Details

257 257 

258Un punto di rendering è un punto di estensione nell'interfaccia di Claude Code. Ogni riga è un valore di `e.component` in un hook `ui.render`, con i campi di `e.props` e le app che lo visualizzano. `e.surface` indica l'app che sta disegnando, come `terminal`, `desktop` o `vscode`. [Modificare ciò che Claude Code disegna già](/docs/it/plugins/mods/interface#change-what-claude-code-already-draws) mostra cosa può fare un hook in un punto, con un esempio per ciascuna scelta.258Un punto di rendering è un punto di estensione nell'interfaccia di Claude Code. Ogni riga è un valore di `e.component` in un hook `ui.render`, con i campi di `e.props` e le app che lo visualizzano. `e.surface` indica l'app che sta disegnando, come `terminal`, `desktop` o `vscode`. [Modificare ciò che Claude Code disegna già](/docs/it/plugins/mods/interface#change-what-claude-code-already-draws) mostra cosa può fare un hook in un punto, con un esempio per ciascuna scelta.

259 259 

260Il rendering nell'estensione VS Code richiede la versione 2.1.299 o successiva dell'estensione e una sessione che [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). [Disegnare nell'estensione VS Code](/docs/it/plugins/mods/interface#draw-in-the-vs-code-extension) elenca ciò che l'estensione disegna in modo diverso.260Il rendering nell'estensione VS Code richiede la versione 2.1.299 o successiva dell'estensione. Una sessione che [non recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching) richiede la versione 2.1.304 o successiva. [Disegnare nell'estensione VS Code](/docs/it/plugins/mods/interface#draw-in-the-vs-code-extension) elenca ciò che l'estensione disegna in modo diverso.

261 261 

262| Punto | `e.props` | `e.requestId` | Visualizzato su |262| Punto | `e.props` | `e.requestId` | Visualizzato su |

263| :- | :- | :- | :- |263| :- | :- | :- | :- |

Details

315 315 

316* **Il punto di rendering o l'elemento non viene disegnato in quell'app**: cerca il tuo punto di rendering nella tabella dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e i tuoi elementi nella tabella degli [elementi](/docs/it/plugins/mods/reference#elements). Per un elemento che l'app non possiede, controlla `e.surface` nell'hook e restituisci un albero che l'app può disegnare.316* **Il punto di rendering o l'elemento non viene disegnato in quell'app**: cerca il tuo punto di rendering nella tabella dei [punti di rendering](/docs/it/plugins/mods/reference#render-sites) e i tuoi elementi nella tabella degli [elementi](/docs/it/plugins/mods/reference#elements). Per un elemento che l'app non possiede, controlla `e.surface` nell'hook e restituisci un albero che l'app può disegnare.

317* **L'estensione VS Code è precedente alla 2.1.299**: il pannello della chat disegna per i mod a partire dalla [versione dell'estensione](/docs/it/vs-code#install-the-extension) 2.1.299. Controlla la versione nella vista Estensioni di VS Code e aggiorna l'estensione da lì.317* **L'estensione VS Code è precedente alla 2.1.299**: il pannello della chat disegna per i mod a partire dalla [versione dell'estensione](/docs/it/vs-code#install-the-extension) 2.1.299. Controlla la versione nella vista Estensioni di VS Code e aggiorna l'estensione da lì.

318* **La sessione VS Code non recupera i feature flag**: il disegno nel pannello della chat lo richiede. Le sessioni su Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry, oppure tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway), lo saltano, insieme ad altre elencate in [Funzionalità che richiedono il recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Per vedere il disegno in una sessione di questo tipo, esegui invece `claude` in un terminale, come il terminale integrato di VS Code.318* **L'estensione è precedente alla 2.1.304 e la sessione non recupera i feature flag**: aggiorna l'estensione, oppure esegui invece `claude` nel terminale integrato di VS Code. Le sessioni su Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry saltano il recupero. Per le altre che lo saltano, come una sessione tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway), consulta [Funzionalità che richiedono il recupero dei feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching).

319 319 

320<h2 id="an-edit-or-a-value-is-lost">320<h2 id="an-edit-or-a-value-is-lost">

321 Una modifica o un valore va perso321 Una modifica o un valore va perso

Details

40 40 

41Installare il plugin dalla superficie su cui ci si trova:41Installare il plugin dalla superficie su cui ci si trova:

42 42 

43* **App desktop Claude, sessione locale o SSH**: fare clic sul pulsante **+** accanto al prompt, quindi **Plugins**, quindi **Add plugin** per aprire il [plugin browser](/docs/it/desktop#install-plugins)43* **App desktop Claude, sessione locale o SSH**: usa la scheda **Desktop app** in [Installa un plugin](/docs/it/plugins/install#install-a-plugin)

44* **Estensione VS Code**: utilizzare la scheda **VS Code** sotto [Install a plugin](/docs/it/plugins/install#install-a-plugin)44* **Estensione VS Code**: utilizzare la scheda **VS Code** sotto [Install a plugin](/docs/it/plugins/install#install-a-plugin)

45* **Claude Code sul web o una sessione cloud desktop**: una sessione cloud non ha un browser di plugin. Vedere la scheda **Cloud session** sotto [Install a plugin](/docs/it/plugins/install#install-a-plugin) per ciò che una sessione cloud carica45* **Claude Code sul web o una sessione cloud desktop**: una sessione cloud non ha un browser di plugin. Vedere la scheda **Cloud session** sotto [Install a plugin](/docs/it/plugins/install#install-a-plugin) per ciò che una sessione cloud carica

46* **Un terminale a cui si ha accesso**: eseguire `claude` e digitare `/plugin` lì, oppure eseguire `claude plugin install <plugin>@<marketplace>` nella shell senza avviare una sessione46* **Un terminale a cui si ha accesso**: eseguire `claude` e digitare `/plugin` lì, oppure eseguire `claude plugin install <plugin>@<marketplace>` nella shell senza avviare una sessione

Details

122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

123```123```

124 124 

125Una volta che il file di impostazioni è in posizione, avvia Claude Code con `npx` e passa `claude` come comando da avvolgere:125Installa il runtime globalmente, sotto un prefisso esterno a tutti i percorsi a cui consenti la scrittura:

126 126 

127```bash theme={null}127```bash theme={null}

128npx @anthropic-ai/sandbox-runtime claude128npm install -g @anthropic-ai/sandbox-runtime

129```129```

130 130 

131Claude Code si avvia all'interno della sandbox con i confini di filesystem e di rete che hai configurato. Lo stesso comando funziona per il sandboxing di server MCP autonomi o altri processi di supporto.131Una volta che il file di impostazioni è in posizione, avvia Claude Code attraverso il runtime dalla tua directory di progetto:

132 

133```bash theme={null}

134srt claude

135```

136 

137Claude Code si avvia all'interno della sandbox con i confini di filesystem e di rete che hai configurato. Lo stesso comando `srt` funziona per il sandboxing di server MCP autonomi o altri processi di supporto.

132 138 

133<h3 id="what-the-runtime-blocks-on-its-own">139<h3 id="what-the-runtime-blocks-on-its-own">

134 Cosa blocca il runtime da solo140 Cosa blocca il runtime da solo

Details

33 33 

34`/plugin` apre un pannello interattivo nel CLI del terminale. Se Claude risponde che `/plugin` non è disponibile in questo ambiente, installa in un altro modo:34`/plugin` apre un pannello interattivo nel CLI del terminale. Se Claude risponde che `/plugin` non è disponibile in questo ambiente, installa in un altro modo:

35 35 

36* **App desktop Claude, sessione locale o SSH**: apri il [browser dei plugin](/docs/it/desktop#install-plugins) facendo clic sul pulsante **+** accanto al prompt, quindi **Plugins**, quindi **Add plugin**36* **App desktop Claude, sessione locale o SSH**: usa la scheda **Desktop app** in [Install a plugin](/docs/it/plugins/install#install-a-plugin)

37* **Estensione VS Code**: installa dalla [finestra di dialogo **Manage plugins**](/docs/it/vs-code#manage-plugins)37* **Estensione VS Code**: installa dalla [finestra di dialogo **Manage plugins**](/docs/it/vs-code#manage-plugins)

38* **Sessioni cloud**: una sessione cloud non carica i plugin dalle tue impostazioni utente o dal file `.claude/settings.json` del repository, come spiega [What carries over from your setup](/docs/it/cloud-environments#what-carries-over-from-your-setup). Per i plugin che la tua organizzazione distribuisce tramite impostazioni gestite, consulta [Manage plugins for your organization](/docs/it/plugins/org)38* **Sessioni cloud**: una sessione cloud non carica i plugin dalle tue impostazioni utente o dal file `.claude/settings.json` del repository, come spiega [What carries over from your setup](/docs/it/cloud-environments#what-carries-over-from-your-setup). Per i plugin che la tua organizzazione distribuisce tramite impostazioni gestite, consulta [Manage plugins for your organization](/docs/it/plugins/org)

39 39 

Details

554* **Con [`--retire-at`](/docs/it/self-hosted-environments-reference#runner-cli-flags)**: lascia abbastanza tempo tra il momento del ritiro e il momento in cui l'host si ferma perché i turni tipici finiscano, più l'attesa per le attività in background descritta in [Runner lifecycle](/docs/it/self-hosted-environments#runner-lifecycle), più il tempo registrato nei log. Calcola il momento del ritiro a ogni avvio, ad esempio `date +%s` più la durata prevista del runner.554* **Con [`--retire-at`](/docs/it/self-hosted-environments-reference#runner-cli-flags)**: lascia abbastanza tempo tra il momento del ritiro e il momento in cui l'host si ferma perché i turni tipici finiscano, più l'attesa per le attività in background descritta in [Runner lifecycle](/docs/it/self-hosted-environments#runner-lifecycle), più il tempo registrato nei log. Calcola il momento del ritiro a ogni avvio, ad esempio `date +%s` più la durata prevista del runner.

555* **Con [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: il timeout di arresto deve coprire anche i minuti che configuri e un'ulteriore attesa prima che il drenaggio inizi, 75 secondi con le impostazioni predefinite. [Defer the drain past the first signal](#defer-the-drain-past-the-first-signal) spiega entrambi. Il runner registra nei log anche questo tempo più lungo all'avvio.555* **Con [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: il timeout di arresto deve coprire anche i minuti che configuri e un'ulteriore attesa prima che il drenaggio inizi, 75 secondi con le impostazioni predefinite. [Defer the drain past the first signal](#defer-the-drain-past-the-first-signal) spiega entrambi. Il runner registra nei log anche questo tempo più lungo all'avvio.

556 556 

557<h3 id="post-a-status-message-before-a-restart">

558 Pubblica un messaggio di stato prima di un riavvio

559</h3>

560 

561Prima di un riavvio che interromperà le sessioni, chiedi a un [Owner](/docs/it/cloud-environments#organization-shared-environments) di pubblicare un messaggio di stato sull'ambiente dalla [pagina di amministrazione **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). Su [claude.ai/code](https://claude.ai/code), i membri vedono il messaggio nelle loro sessioni in quell'ambiente. Chiedi all'Owner di impostare una scadenza al momento della pubblicazione, oppure di rimuovere il messaggio una volta che i runner sono di nuovo attivi.

562 

557<h3 id="defer-the-drain-past-the-first-signal">563<h3 id="defer-the-drain-past-the-first-signal">

558 Defer the drain past the first signal564 Defer the drain past the first signal

559</h3>565</h3>


632 Fissa la versione638 Fissa la versione

633</h2>639</h2>

634 640 

635Il processo Claude Code figlio di ogni sessione esegue il binario del runner stesso, e il runner disattiva l'auto-aggiornamento all'interno delle sessioni che genera, quindi ogni sessione esegue la versione che hai installato sull'host o costruito nell'immagine. Un aggiornamento a livello di host ha effetto la prossima volta che il runner si avvia.641Per impostazione predefinita, il processo figlio di ogni sessione esegue il binario del runner stesso, e il runner disattiva l'auto-aggiornamento all'interno delle sessioni che genera. Con questa impostazione predefinita, ogni sessione esegue la versione che hai installato sull'host o incluso nell'immagine. Un aggiornamento a livello di host ha effetto la prossima volta che il runner si avvia.

636 642 

637Scegli quale versione eseguono le tue sessioni e quando cambia:643Scegli quale versione eseguono le tue sessioni e quando cambia:

638 644 


640* **Per mantenere una flotta su una versione**: costruisci l'immagine con una versione fissata, o su un host nudo installa una versione specifica e [disabilita gli auto-aggiornamenti](/docs/it/setup#disable-auto-updates)646* **Per mantenere una flotta su una versione**: costruisci l'immagine con una versione fissata, o su un host nudo installa una versione specifica e [disabilita gli auto-aggiornamenti](/docs/it/setup#disable-auto-updates)

641* **Per aggiornare una flotta fissa**: leggi le voci del [changelog](/docs/en/changelog) tra la tua versione e quella che stai installando, quindi installa la versione più recente o ricompila l'immagine e riavvia i runner647* **Per aggiornare una flotta fissa**: leggi le voci del [changelog](/docs/en/changelog) tra la tua versione e quella che stai installando, quindi installa la versione più recente o ricompila l'immagine e riavvia i runner

642* **Per aggiornare i runner on-demand**: leggi le voci del [changelog](/docs/en/changelog) tra la tua versione e quella che stai installando, quindi cambia l'immagine che il tuo [hook `spawn-runner`](/docs/it/self-hosted-environments-configuration#the-spawn-runner-hook) avvia. Ogni nuovo runner ottiene la nuova versione. Un runner già attivo, incluso un runner in standby avviato da [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags), mantiene la sua versione finché non termina. Non riavviarlo, perché il suo ordine di lavoro è monouso.648* **Per aggiornare i runner on-demand**: leggi le voci del [changelog](/docs/en/changelog) tra la tua versione e quella che stai installando, quindi cambia l'immagine che il tuo [hook `spawn-runner`](/docs/it/self-hosted-environments-configuration#the-spawn-runner-hook) avvia. Ogni nuovo runner ottiene la nuova versione. Un runner già attivo, incluso un runner in standby avviato da [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags), mantiene la sua versione finché non termina. Non riavviarlo, perché il suo ordine di lavoro è monouso.

649* **Se le sessioni avviano un binario diverso**: se usi [`--exec-path`](/docs/it/self-hosted-environments-reference#runner-cli-flags) o un [hook `command`](/docs/it/self-hosted-environments-configuration#command) per avviare un binario di Claude Code diverso da quello del runner, le sessioni eseguono la versione di quel binario. Aggiorna quel binario quando aggiorni il runner.

643* **Plugin**: i marketplace dei plugin non si auto-aggiornano neanche; imposta `FORCE_AUTOUPDATE_PLUGINS=1` nell'ambiente del runner per lasciare che i plugin si auto-aggiornino mentre il binario rimane fissato650* **Plugin**: i marketplace dei plugin non si auto-aggiornano neanche; imposta `FORCE_AUTOUPDATE_PLUGINS=1` nell'ambiente del runner per lasciare che i plugin si auto-aggiornino mentre il binario rimane fissato

644 651 

645<h2 id="scale-the-fleet">652<h2 id="scale-the-fleet">


699 * **Prima di abilitare il flag**: limita chi può eseguire il push sui ref `claude/*` sul remote di origine. Alla ripresa, il runner recupera il branch precedentemente spinto senza verificare chi ne ha eseguito il push.706 * **Prima di abilitare il flag**: limita chi può eseguire il push sui ref `claude/*` sul remote di origine. Alla ripresa, il runner recupera il branch precedentemente spinto senza verificare chi ne ha eseguito il push.

700* **Un repository aggiunto a metà sessione può non riuscire a essere clonato**: Claude lo clona con `git clone` tramite HTTPS. Su un runner senza [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), il clone fallisce con un errore di autenticazione git se nulla sull'host può leggere il repository. Quando possibile, seleziona ogni repository di cui la sessione ha bisogno quando la crei.707* **Un repository aggiunto a metà sessione può non riuscire a essere clonato**: Claude lo clona con `git clone` tramite HTTPS. Su un runner senza [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), il clone fallisce con un errore di autenticazione git se nulla sull'host può leggere il repository. Quando possibile, seleziona ogni repository di cui la sessione ha bisogno quando la crei.

701* **Alcuni connettori non appaiono nelle sessioni self-hosted**: un connettore che non hai ancora connesso nelle Impostazioni di claude.ai non è elencato in una sessione self-hosted, e la sessione non ti chiederà di connettarlo. Connettilo prima nelle Impostazioni, quindi avvia una sessione fresca. L'aggiunta di un connettore a una sessione già in esecuzione non rende i suoi strumenti disponibili a Claude; avvia una sessione fresca per raccogliere un connettore appena aggiunto.708* **Alcuni connettori non appaiono nelle sessioni self-hosted**: un connettore che non hai ancora connesso nelle Impostazioni di claude.ai non è elencato in una sessione self-hosted, e la sessione non ti chiederà di connettarlo. Connettilo prima nelle Impostazioni, quindi avvia una sessione fresca. L'aggiunta di un connettore a una sessione già in esecuzione non rende i suoi strumenti disponibili a Claude; avvia una sessione fresca per raccogliere un connettore appena aggiunto.

709* **Quando qualcuno archivia o elimina una sessione, o rilascia il suo runner dal menu della sessione**: non fare affidamento sul push di [`--push-outcome-on-release`](/docs/it/self-hosted-environments-reference#runner-cli-flags). Per salvare i commit in questi casi, esegui il push di `HEAD` su un branch di recupero da un [hook `post-session`](/docs/it/self-hosted-environments-configuration#post-session). Se parti dall'esempio presente lì, fai in modo che esegua il push anche quando non ci sono modifiche senza commit, perché esegue il push solo dopo un commit di snapshot.

702 710 

703<h3 id="report-an-issue">711<h3 id="report-an-issue">

704 Segnala un problema712 Segnala un problema


745 Se ogni chiamata inizia a fallire circa 30 minuti in una sessione, uno script wrapper ha probabilmente reciso lo stdin della sessione, quindi le rotazioni dei token non possono raggiungerlo; vedere [Keep stdin and file descriptor 3 attached](/docs/it/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).753 Se ogni chiamata inizia a fallire circa 30 minuti in una sessione, uno script wrapper ha probabilmente reciso lo stdin della sessione, quindi le rotazioni dei token non possono raggiungerlo; vedere [Keep stdin and file descriptor 3 attached](/docs/it/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).

746 754 

747 Prima della v2.1.274, il runner smetteva di riprovare un recupero fallito dopo alcuni tentativi e attendeva il prossimo programmato. Un turno fallito non ha attivato un recupero, quindi ogni turno falliva con un 401 fino al prossimo recupero programmato.755 Prima della v2.1.274, il runner smetteva di riprovare un recupero fallito dopo alcuni tentativi e attendeva il prossimo programmato. Un turno fallito non ha attivato un recupero, quindi ogni turno falliva con un 401 fino al prossimo recupero programmato.

756* **Un turno fallisce in claude.ai/code con `This model needs a newer version of Claude Code`**: la versione di Claude Code con cui i tuoi runner avviano le sessioni è più vecchia di quella richiesta dal modello della sessione, quindi l'API [rifiuta la richiesta](/docs/it/errors#claude-code-does-not-support-this-model). Aggiorna i runner alla versione indicata dal messaggio, o a una successiva, come descritto in [Fissa la versione](#pin-the-version). Nel frattempo, gli utenti possono scegliere un modello diverso nella sessione.

748* **Il pod viene terminato durante lo scarico**: aumentare `terminationGracePeriodSeconds` ad almeno il valore che il runner registra all'avvio. Vedere [Shutdown timing](#shutdown-timing).757* **Il pod viene terminato durante lo scarico**: aumentare `terminationGracePeriodSeconds` ad almeno il valore che il runner registra all'avvio. Vedere [Shutdown timing](#shutdown-timing).

749 758 

750Una volta inizializzato il logging, il runner scrive il suo log del ciclo di vita, incluse le righe `[runner:fatal]`, su stdout e l'output di debug su stderr, il tutto come righe di testo semplice anziché JSON. Gli errori relativi alla directory di base descritti nelle voci di risoluzione dei problemi qui sopra vengono stampati su stderr prima di quel momento. Acquisisci entrambi i flussi con `--log-file`, che consente anche a `self-hosted-runner doctor` di seguirli, oppure con la raccolta dei log della tua piattaforma.759Una volta inizializzato il logging, il runner scrive il suo log del ciclo di vita, incluse le righe `[runner:fatal]`, su stdout e l'output di debug su stderr, il tutto come righe di testo semplice anziché JSON. Gli errori relativi alla directory di base descritti nelle voci di risoluzione dei problemi qui sopra vengono stampati su stderr prima di quel momento. Acquisisci entrambi i flussi con `--log-file`, che consente anche a `self-hosted-runner doctor` di seguirli, oppure con la raccolta dei log della tua piattaforma.

Details

201* Le impostazioni nella cache persistono in caso di errori di rete. Se il recupero all'avvio non riesce, Claude Code avvisa nelle sessioni interattive che è in vigore la policy nella cache201* Le impostazioni nella cache persistono in caso di errori di rete. Se il recupero all'avvio non riesce, Claude Code avvisa nelle sessioni interattive che è in vigore la policy nella cache

202* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito202* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito

203 203 

204Claude Code trattiene diverse categorie di variabili nel blocco `env` nella cache fino alla conferma del payload da parte del server per la sessione. In questo modo un valore di proxy, autorità di certificazione, endpoint o credenziali nella cache non può reindirizzare, intercettare o riautenticare il recupero delle impostazioni che conferma il payload. Questa protezione si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Il trattenimento richiede Claude Code v2.1.198 o successivo; prima della v2.1.198, l'intero blocco `env` nella cache si applica all'avvio. Le categorie trattenute includono:204Claude Code trattiene diverse categorie di variabili nel blocco `env` nella cache fino alla conferma del payload da parte del server per la sessione. In questo modo un valore di proxy, autorità di certificazione, endpoint o credenziali nella cache non può reindirizzare, intercettare o riautenticare il recupero delle impostazioni che conferma il payload. Questa protezione si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Le categorie trattenute includono:

205 205 

206* Configurazione di proxy e TLS, come `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e le variabili del certificato client mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`206* Configurazione di proxy e TLS, come `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e le variabili del certificato client mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`

207* Routing delle API e selezione del provider, inclusi `ANTHROPIC_BASE_URL`, le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e gli URL degli endpoint del provider come `ANTHROPIC_BEDROCK_BASE_URL`207* Routing delle API e selezione del provider, inclusi `ANTHROPIC_BASE_URL`, le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e gli URL degli endpoint del provider come `ANTHROPIC_BEDROCK_BASE_URL`


312 312 

313Claude Code non può sempre mostrare la finestra di dialogo. Ciascun caso seguente indica quali impostazioni si applicano quando non può farlo e quando vedrai la finestra di dialogo la volta successiva:313Claude Code non può sempre mostrare la finestra di dialogo. Ciascun caso seguente indica quali impostazioni si applicano quando non può farlo e quando vedrai la finestra di dialogo la volta successiva:

314 314 

315* **Una sessione interattiva che non può mostrare la finestra di dialogo**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. La finestra di dialogo compare nella sessione successiva in grado di mostrarla. Richiede Claude Code v2.1.211 o successivo.315* **Una sessione interattiva che non può mostrare la finestra di dialogo**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. La finestra di dialogo compare nella sessione successiva in grado di mostrarla.

316* **`claude install` o `claude update`**: Claude Code non mostra la finestra di dialogo durante nessuno dei due comandi. Il comando viene eseguito con le ultime impostazioni approvate, e la finestra di dialogo compare nella tua successiva sessione interattiva. Se Claude Code attende il recupero delle impostazioni all'avvio, ad esempio con [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) impostato o in una distribuzione con [gateway delle app Claude](/docs/it/claude-apps-gateway), mostra invece la finestra di dialogo durante il comando, e un'installazione eseguita da una pipe non riesce; consulta [`Raw mode is not supported` durante l'installazione](/docs/it/troubleshoot-install#raw-mode-is-not-supported-during-install). Prima della v2.1.246, Claude Code tentava di mostrare la finestra di dialogo anche durante questi comandi.316* **`claude install` o `claude update`**: Claude Code non mostra la finestra di dialogo durante nessuno dei due comandi. Il comando viene eseguito con le ultime impostazioni approvate, e la finestra di dialogo compare nella tua successiva sessione interattiva. Se Claude Code attende il recupero delle impostazioni all'avvio, ad esempio con [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) impostato o in una distribuzione con [gateway delle app Claude](/docs/it/claude-apps-gateway), mostra invece la finestra di dialogo durante il comando, e un'installazione eseguita da una pipe non riesce; consulta [`Raw mode is not supported` durante l'installazione](/docs/it/troubleshoot-install#raw-mode-is-not-supported-during-install). Prima della v2.1.246, Claude Code tentava di mostrare la finestra di dialogo anche durante questi comandi.

317* **Un errore chiude la finestra di dialogo prima che tu risponda**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. Mostra di nuovo la finestra di dialogo nella sessione successiva in grado di mostrarla.317* **Un errore chiude la finestra di dialogo prima che tu risponda**: Claude Code non applica le impostazioni fornite e mantiene le ultime impostazioni approvate. Mostra di nuovo la finestra di dialogo nella sessione successiva in grado di mostrarla.

318* **Un'esecuzione non interattiva**, come `claude -p`, una sessione dell'Agent SDK o una sessione nel pannello della chat dell'estensione VS Code o nella scheda Code dell'app desktop: Claude Code non può mostrare la finestra di dialogo, quindi quando le impostazioni fornite richiederebbero approvazione, le applica solo per quell'esecuzione. Non le registra come approvate né le scrive nella [cache locale](#fetch-and-caching-behavior), e la sessione interattiva successiva mostra la finestra di dialogo. Finché un utente non approva in una sessione interattiva, ogni esecuzione non interattiva recupera di nuovo le impostazioni all'avvio. Prima della v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate, quindi le sessioni interattive successive non mostravano mai la finestra di dialogo per esse.318* **Un'esecuzione non interattiva**, come `claude -p`, una sessione dell'Agent SDK o una sessione nel pannello della chat dell'estensione VS Code o nella scheda Code dell'app desktop: Claude Code non può mostrare la finestra di dialogo, quindi quando le impostazioni fornite richiederebbero approvazione, le applica solo per quell'esecuzione. Non le registra come approvate né le scrive nella [cache locale](#fetch-and-caching-behavior), e la sessione interattiva successiva mostra la finestra di dialogo. Finché un utente non approva in una sessione interattiva, ogni esecuzione non interattiva recupera di nuovo le impostazioni all'avvio. Prima della v2.1.207, un'esecuzione non interattiva salvava le impostazioni come approvate, quindi le sessioni interattive successive non mostravano mai la finestra di dialogo per esse.

sessions.md +4 −3

Details

51 51 

52Quando Claude Code carica una conversazione dalla sua trascrizione, la sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:52Quando Claude Code carica una conversazione dalla sua trascrizione, la sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:

53 53 

54* Cronologia della conversazione: la cronologia completa, incluse le chiamate agli strumenti e i risultati. Uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce o non viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato.54* Cronologia della conversazione: i messaggi, le chiamate agli strumenti e i risultati. Se la sessione è stata [compattata](/docs/it/context-window#what-survives-compaction), la conversazione si apre su una riga `Conversation compacted`. Claude continua con il riepilogo dell'ultima compattazione, i messaggi che quella compattazione ha lasciato non riepilogati e ogni messaggio successivo. I messaggi riepilogati dall'ultima compattazione non vengono caricati di nuovo.

55* Chiamate agli strumenti interrotte: uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce né viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato.

55* Modello: la sessione continua sul modello che stava utilizzando, tranne nei casi descritti in [Impostare il modello](/docs/it/model-config#setting-your-model).56* Modello: la sessione continua sul modello che stava utilizzando, tranne nei casi descritti in [Impostare il modello](/docs/it/model-config#setting-your-model).

56* Agente: una sessione avviata con [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent` continua come quell'agente, mantenendo le sue restrizioni degli strumenti e il modello. Passa `--agent` quando riprendi per sceglierne uno diverso; per il prompt di sistema in entrambi i casi, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cerca l'agente in due posti: la directory originale della sessione, a condizione che tu abbia [dato fiducia a quel workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), e poi la directory da cui riprendi, quindi un agente con ambito di progetto si carica ancora quando riprendi da un'altra directory. Se Claude Code non trova l'agente in nessuno dei due posti, la sessione riprende con gli strumenti predefiniti e mostra un [avviso che nomina l'agente](/docs/it/errors#session-agent-no-longer-available).57* Agente: una sessione avviata con [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent` continua come quell'agente, mantenendo le sue restrizioni degli strumenti e il modello. Passa `--agent` quando riprendi per sceglierne uno diverso; per il prompt di sistema in entrambi i casi, vedi [Flag del prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cerca l'agente in due posti: la directory originale della sessione, a condizione che tu abbia [dato fiducia a quel workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), e poi la directory da cui riprendi, quindi un agente con ambito di progetto si carica ancora quando riprendi da un'altra directory. Se Claude Code non trova l'agente in nessuno dei due posti, la sessione riprende con gli strumenti predefiniti e mostra un [avviso che nomina l'agente](/docs/it/errors#session-agent-no-longer-available).

57* Modalità di permesso: se riprendi da un terminale con `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`, Claude Code ripristina la modalità di permesso in cui era la sessione, tranne nei casi in [modalità di permesso alla ripresa](#permission-mode-on-resume), che copre anche il selezionatore di sessioni, `/resume` e la ripresa con `claude -p`. Passa `--permission-mode` o `--dangerously-skip-permissions` per sovrascrivere la modalità ripristinata.58* Modalità di permesso: se riprendi da un terminale con `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`, Claude Code ripristina la modalità di permesso in cui era la sessione, tranne nei casi in [modalità di permesso alla ripresa](#permission-mode-on-resume), che copre anche il selezionatore di sessioni, `/resume` e la ripresa con `claude -p`. Passa `--permission-mode` o `--dangerously-skip-permissions` per sovrascrivere la modalità ripristinata.


162| Dal selettore delle sessioni | Evidenzia una sessione e premi `Ctrl+R` |163| Dal selettore delle sessioni | Evidenzia una sessione e premi `Ctrl+R` |

163| All'accettazione di un piano | Accettare un piano in [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) assegna alla sessione un titolo generato basato sul piano, a meno che tu non le abbia già dato un nome |164| All'accettazione di un piano | Accettare un piano in [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) assegna alla sessione un titolo generato basato sul piano, a meno che tu non le abbia già dato un nome |

164| Da claude.ai o dall'app Claude | Rinomina una [sessione di Remote Control](/docs/it/remote-control#connect-from-another-device); Claude Code applica lo stesso nome nella CLI. Richiede Claude Code v2.1.221 o versioni successive |165| Da claude.ai o dall'app Claude | Rinomina una [sessione di Remote Control](/docs/it/remote-control#connect-from-another-device); Claude Code applica lo stesso nome nella CLI. Richiede Claude Code v2.1.221 o versioni successive |

165| Dall'app desktop | Rinomina una sessione nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions) |166| Dall'app desktop | Rinomina una sessione nell'[app desktop](/docs/it/desktop#organize-and-find-sessions) |

166 167 

167Dopo aver assegnato un nome a una sessione tramite la CLI o da claude.ai, puoi tornarci con `claude --resume <name>` o `/resume <name>`; una sessione dell'app desktop si riprende nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions). Consulta [Riprendere una sessione](#resume-a-session) per scoprire come funziona la risoluzione dei nomi tra i worktree.168Dopo aver assegnato un nome a una sessione tramite la CLI o da claude.ai, puoi tornarci con `claude --resume <name>` o `/resume <name>`; una sessione dell'app desktop si riprende nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions). Consulta [Riprendere una sessione](#resume-a-session) per scoprire come funziona la risoluzione dei nomi tra i worktree.

168 169 

169Le sessioni a cui non assegni un nome ricevono comunque due etichette assegnate da Claude Code. Solo il titolo generato funziona come identificativo per la ripresa:170Le sessioni a cui non assegni un nome ricevono comunque due etichette assegnate da Claude Code. Solo il titolo generato funziona come identificativo per la ripresa:

170 171 

171* Nome visualizzato predefinito: le sessioni interattive a cui non assegni mai un nome ricevono comunque un nome visualizzato predefinito all'avvio. Richiede Claude Code v2.1.196 o versioni successive. Il nome predefinito combina il nome della directory di lavoro con un suffisso di due caratteri, ad esempio `my-app-3f`, e identifica la sessione negli elenchi delle sessioni in esecuzione, come la [vista agenti](/docs/it/agent-view) e l'output di `claude agents --json`. Il nome predefinito non è un identificativo per la ripresa. Se lo passi a `claude --resume` o `/resume`, Claude Code non trova la sessione.172* Nome visualizzato predefinito: le sessioni interattive a cui non assegni mai un nome ricevono comunque un nome visualizzato predefinito all'avvio. Il nome predefinito combina il nome della directory di lavoro con un suffisso di due caratteri, ad esempio `my-app-3f`, e identifica la sessione negli elenchi delle sessioni in esecuzione, come la [vista agenti](/docs/it/agent-view) e l'output di `claude agents --json`. Il nome predefinito non è un identificativo per la ripresa. Se lo passi a `claude --resume` o `/resume`, Claude Code non trova la sessione.

172* Titolo generato: se non assegni un nome a una sessione, Claude Code genera un titolo per la sessione. Il titolo è un breve riepilogo del tuo primo prompt, scritto da una richiesta in background al modello piccolo/veloce, normalmente un modello di classe Haiku. Un'esecuzione di `claude -p` avviata direttamente da una shell o da uno script non ne riceve uno.173* Titolo generato: se non assegni un nome a una sessione, Claude Code genera un titolo per la sessione. Il titolo è un breve riepilogo del tuo primo prompt, scritto da una richiesta in background al modello piccolo/veloce, normalmente un modello di classe Haiku. Un'esecuzione di `claude -p` avviata direttamente da una shell o da uno script non ne riceve uno.

173 174 

174 Accettare un piano sostituisce il titolo generato con un titolo basato sul piano. Puoi passare entrambi i titoli a `claude --resume` o `/resume`, e Claude Code li risolve allo stesso modo di un nome che hai impostato tu.175 Accettare un piano sostituisce il titolo generato con un titolo basato sul piano. Puoi passare entrambi i titoli a `claude --resume` o `/resume`, e Claude Code li risolve allo stesso modo di un nome che hai impostato tu.

Details

4096 `vimInsertModeRemaps`4096 `vimInsertModeRemaps`

4097</h3>4097</h3>

4098 4098 

4099Mappa sequenze INSERT-mode a due tasti su Escape in [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode). Ogni chiave è esattamente due caratteri stampabili digitati in sequenza, e `"<Esc>"` è l'unico target supportato; Claude Code ignora altre voci. Richiede Claude Code v2.1.208 o successivo.4099Mappa sequenze INSERT-mode a due tasti su Escape in [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode). Ogni chiave è esattamente due caratteri stampabili digitati in sequenza, e `"<Esc>"` è l'unico target supportato; Claude Code ignora altre voci.

4100 4100 

4101* **Scope**: [`User or managed`](#scopes). Un repository non può rimappare le tue scorciatoie da tastiera.4101* **Scope**: [`User or managed`](#scopes). Un repository non può rimappare le tue scorciatoie da tastiera.

4102* **Type**: object che mappa una sequenza di due caratteri su `"<Esc>"`4102* **Type**: object che mappa una sequenza di due caratteri su `"<Esc>"`


4110}4110}

4111```4111```

4112 4112 

4113Non ha effetto a meno che `editorMode` non sia `"vim"`. Vedi [Rimappa sequenze di tasti INSERT-mode](/docs/it/interactive-mode#remap-insert-mode-key-sequences). Richiede Claude Code v2.1.208 o successivo.4113Non ha effetto a meno che `editorMode` non sia `"vim"`. Vedi [Rimappa sequenze di tasti INSERT-mode](/docs/it/interactive-mode#remap-insert-mode-key-sequences).

4114 4114 

4115<h3 id="voice">4115<h3 id="voice">

4116 `voice`4116 `voice`


5850 `disableDesktopLocalSessions`5850 `disableDesktopLocalSessions`

5851</h3>5851</h3>

5852 5852 

5853Disattiva le sessioni Code che vengono eseguite sul dispositivo nell'[app desktop](/docs/it/desktop#local-sessions-on-managed-devices), per distribuzioni in cui gli sviluppatori dovrebbero lavorare su macchine remote tramite SSH. Nella scheda Code, l'ambiente **Local** rimane nel menu a discesa dell'ambiente ma è disattivato e non può essere selezionato, con un tooltip che dice che la tua organizzazione lo ha disattivato; su Windows la voce WSL è disattivata allo stesso modo, anche se se le sessioni WSL vengono eseguite su un dispositivo gestito è [governato separatamente](/docs/it/admin-setup#wsl-sessions-in-claude-code-desktop). Le nuove sessioni predefinite alla prima [connessione SSH](/docs/it/desktop#ssh-sessions) se ne è configurata una, e l'app rifiuta di avviare o riprendere una sessione sul dispositivo, inclusa una connessione SSH allo stesso computer. Le sessioni SSH ad altri host e le sessioni cloud non sono interessate. L'app desktop legge questa chiave; il CLI del terminale la ignora. Richiede Claude Desktop v1.37937.0 o successivo.5853Disattiva le sessioni Code che vengono eseguite sul dispositivo nell'[app desktop](/docs/it/desktop#local-sessions-on-managed-devices), per distribuzioni in cui gli sviluppatori dovrebbero lavorare su macchine remote tramite SSH. Con la chiave impostata su `true`, gli utenti vedono quanto segue nella scheda Code:

5854 

5855* **Selettore dell'ambiente**: la voce per il computer dell'utente è disattivata e non selezionabile, con il tooltip **Disabled by your organization**. Su Windows la voce WSL è disattivata allo stesso modo, anche se l'esecuzione delle sessioni WSL su un dispositivo gestito è [governata separatamente](/docs/it/admin-setup#wsl-sessions-in-claude-code-desktop).

5856* **Nuove sessioni**: usano per impostazione predefinita la prima [connessione SSH](/docs/it/desktop#ssh-sessions), se ne è configurata una

5857* **Sessioni sul dispositivo**: l'app rifiuta di avviare o riprendere una sessione sul dispositivo, inclusa una connessione SSH verso la stessa macchina

5858* **Sessioni SSH verso altri host e sessioni cloud**: non interessate

5859 

5860L'app desktop legge questa chiave; la CLI del terminale la ignora. Richiede Claude Desktop v1.37937.0 o successivo.

5854 5861 

5855* **Scope**: [`Managed`](#scopes). Per impostazione predefinita, l'app desktop legge la chiave da [una sola origine gestita](/docs/it/managed-settings#how-claude-code-combines-managed-sources).5862* **Scope**: [`Managed`](#scopes). Per impostazione predefinita, l'app desktop legge la chiave da [una sola origine gestita](/docs/it/managed-settings#how-claude-code-combines-managed-sources).

5856* **Type**: Boolean; solo il Boolean JSON `true` ha effetto5863* **Type**: Boolean; solo il Boolean JSON `true` ha effetto


5997 `sshConfigs`6004 `sshConfigs`

5998</h3>6005</h3>

5999 6006 

6000Aggiungi connessioni SSH al menu a discesa dell'ambiente [Desktop](/docs/it/desktop#pre-configure-ssh-connections-for-your-team). Gli amministratori lo usano per distribuire connessioni condivise a un team. Le connessioni che definisci nelle impostazioni gestite vengono mostrate come gestite. Gli utenti possono selezionarle e [impostare la propria **Worktree folder**](/docs/it/desktop#choose-where-ssh-session-worktrees-go) per esse, ma non possono modificare nient'altro né eliminarle nell'app.6007Aggiungi connessioni SSH al selettore dell'ambiente di [Desktop](/docs/it/desktop#pre-configure-ssh-connections-for-your-team). Gli amministratori usano `sshConfigs` per distribuire connessioni condivise a un team. Gli utenti possono selezionare una connessione gestita e [impostare la propria **Worktree folder**](/docs/it/desktop#set-the-worktree-folder-on-an-existing-connection) per essa. Non possono modificarne gli altri campi né eliminarla nell'app.

6001 6008 

6002* **Scope**: [`User or managed`](#scopes). L'app desktop legge questa chiave. Per impostazione predefinita, legge le connessioni gestite da [una sola origine gestita](/docs/it/managed-settings#how-claude-code-combines-managed-sources).6009* **Scope**: [`User or managed`](#scopes). L'app desktop legge questa chiave. Per impostazione predefinita, legge le connessioni gestite da [una sola origine gestita](/docs/it/managed-settings#how-claude-code-combines-managed-sources).

6003* **Type**: array di oggetti, ognuno con `id`, `name` e `sshHost` obbligatori e `sshPort` e `sshIdentityFile` opzionali6010* **Type**: array di oggetti, ognuno con `id`, `name` e `sshHost` obbligatori e `sshPort` e `sshIdentityFile` opzionali

statusline.md +2 −2

Details

199| `workspace.added_dirs` | Directory aggiuntive aggiunte tramite `/add-dir` o `--add-dir`. Array vuoto se nessuna è stata aggiunta |199| `workspace.added_dirs` | Directory aggiuntive aggiunte tramite `/add-dir` o `--add-dir`. Array vuoto se nessuna è stata aggiunta |

200| `workspace.git_worktree` | Nome del Git worktree quando la directory corrente si trova all'interno di un worktree collegato creato con `git worktree add`. Assente nel worktree principale. Popolato per qualsiasi git worktree, a differenza di `worktree.*`, che è presente solo durante una [sessione worktree](/docs/it/worktrees) |200| `workspace.git_worktree` | Nome del Git worktree quando la directory corrente si trova all'interno di un worktree collegato creato con `git worktree add`. Assente nel worktree principale. Popolato per qualsiasi git worktree, a differenza di `worktree.*`, che è presente solo durante una [sessione worktree](/docs/it/worktrees) |

201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identità del repository analizzata dal remote `origin`, ad esempio `"github.com"`, `"anthropics"`, `"claude-code"`. Assente al di fuori di un repository git o quando nessun remote `origin` è configurato. Per un progetto gitlab.com annidato in sottogruppi, `owner` è il percorso dello spazio dei nomi completo con barre, come `"group/subgroup"`. Prima della v2.1.260, `workspace.repo` era assente per questi progetti |201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identità del repository analizzata dal remote `origin`, ad esempio `"github.com"`, `"anthropics"`, `"claude-code"`. Assente al di fuori di un repository git o quando nessun remote `origin` è configurato. Per un progetto gitlab.com annidato in sottogruppi, `owner` è il percorso dello spazio dei nomi completo con barre, come `"group/subgroup"`. Prima della v2.1.260, `workspace.repo` era assente per questi progetti |

202| `cost.total_cost_usd` | Costo totale stimato della sessione in USD, calcolato lato client al prezzo di listino a meno che una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing) non sia in vigore. Potrebbe differire dalla tua fattura effettiva. Si ripristina a \$0 quando `/clear` avvia una nuova sessione. Prima della v2.1.211, il totale veniva mantenuto dopo `/clear` |202| `cost.total_cost_usd` | Costo stimato della sessione in USD, calcolato lato client al prezzo di listino a meno che una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing) non sia in vigore. Potrebbe differire dalla tua fattura effettiva. Si ripristina a \$0 quando `/clear` avvia una nuova sessione |

203| `cost.total_duration_ms` | Tempo totale trascorso dal momento dell'avvio della sessione, in millisecondi. Si accumula tra i ripresi e non include il tempo mentre la sessione non è in esecuzione |203| `cost.total_duration_ms` | Tempo totale trascorso dal momento dell'avvio della sessione, in millisecondi. Si accumula tra i ripresi e non include il tempo mentre la sessione non è in esecuzione |

204| `cost.total_api_duration_ms` | Tempo totale trascorso in attesa delle risposte API in millisecondi |204| `cost.total_api_duration_ms` | Tempo totale trascorso in attesa delle risposte API in millisecondi |

205| `cost.total_lines_added`, `cost.total_lines_removed` | Righe di codice modificate |205| `cost.total_lines_added`, `cost.total_lines_removed` | Righe di codice modificate |


1199| `label` | string | Breve riepilogo dell'avanzamento del task quando Claude Code ne ha uno, altrimenti lo stesso testo di `description` |1199| `label` | string | Breve riepilogo dell'avanzamento del task quando Claude Code ne ha uno, altrimenti lo stesso testo di `description` |

1200| `startTime` | number | Momento di avvio del task, in millisecondi dall'epoch Unix |1200| `startTime` | number | Momento di avvio del task, in millisecondi dall'epoch Unix |

1201| `model` | string, opzionale | ID del modello risolto su cui viene eseguito il task. Omesso finché il modello non viene risolto |1201| `model` | string, opzionale | ID del modello risolto su cui viene eseguito il task. Omesso finché il modello non viene risolto |

1202| `effort` | string o number, opzionale | Sforzo di ragionamento impostato per il subagent nel suo [frontmatter di definizione](/docs/it/sub-agents#supported-frontmatter-fields) o nell'invocazione individuale: `low`, `medium`, `high`, `xhigh`, `max` oppure un budget di token numerico. Questo è il valore configurato, e lo sforzo che Claude Code applica può essere diverso quando il modello non supporta quel livello. Omesso quando non è impostato alcuno sforzo. Richiede Claude Code v2.1.213 o successivo |1202| `effort` | string o number, opzionale | Sforzo di ragionamento impostato per il subagent nel suo [frontmatter di definizione](/docs/it/sub-agents#supported-frontmatter-fields) o nell'invocazione individuale: `low`, `medium`, `high`, `xhigh`, `max` oppure un budget di token numerico. Questo è il valore configurato, e lo sforzo che Claude Code applica può essere diverso quando il modello non supporta quel livello. Omesso quando non è impostato alcuno sforzo |

1203| `contextWindowSize` | number, opzionale | Finestra di contesto di `model` in token, calcolata nello stesso modo di [`context_window.context_window_size`](#context-window-fields) della riga di stato principale, quindi puoi renderizzare una percentuale per riga da `tokenCount`. Omesso quando lo è `model` |1203| `contextWindowSize` | number, opzionale | Finestra di contesto di `model` in token, calcolata nello stesso modo di [`context_window.context_window_size`](#context-window-fields) della riga di stato principale, quindi puoi renderizzare una percentuale per riga da `tokenCount`. Omesso quando lo è `model` |

1204| `tokenCount` | number | Conteggio corrente dei token del subagent, il valore mostrato dalla riga predefinita |1204| `tokenCount` | number | Conteggio corrente dei token del subagent, il valore mostrato dalla riga predefinita |

1205| `tokenSamples` | array di number | Fino alle ultime 16 letture di `tokenCount`, una per tick di aggiornamento, dalla più vecchia alla più recente e terminando con quella corrente |1205| `tokenSamples` | array di number | Fino alle ultime 16 letture di `tokenCount`, una per tick di aggiornamento, dalla più vecchia alla più recente e terminando con quella corrente |

sub-agents.md +78 −60

Details

287 287 

288Un subagent con `isolation: worktree` esegue i suoi comandi Bash e PowerShell all'interno del proprio worktree. Un comando la cui directory di lavoro si risolve invece nel tuo checkout principale, ad esempio perché la directory del worktree è stata rimossa mentre il subagent era in esecuzione, fallisce con un errore.288Un subagent con `isolation: worktree` esegue i suoi comandi Bash e PowerShell all'interno del proprio worktree. Un comando la cui directory di lavoro si risolve invece nel tuo checkout principale, ad esempio perché la directory del worktree è stata rimossa mentre il subagent era in esecuzione, fallisce con un errore.

289 289 

290Questo controllo della directory di lavoro copre l'intero repository contenente la directory da cui ha avviato Claude Code. Quando la sua sessione viene eseguita in un [worktree](/docs/it/worktrees) collegato di sua proprietà, il controllo copre anche il checkout principale da cui quel worktree è collegato. Prima di v2.1.210, il controllo copriva solo la directory di avvio stessa. Un comando la cui directory di lavoro si risolveva altrove nello stesso repository, come la radice del repository quando ha avviato Claude Code da una sottodirectory di monorepo, veniva eseguito lì invece di fallire.290Questo controllo della directory di lavoro copre l'intero repository che contiene la directory da cui hai avviato Claude Code. Quando la tua sessione viene eseguita in un proprio [worktree](/docs/it/worktrees) collegato, il controllo copre anche il checkout principale a cui quel worktree è collegato.

291 291 

292Per i comandi Bash, Claude Code controlla anche il comando stesso in due modi:292Per i comandi Bash, Claude Code controlla anche il comando stesso in due modi:

293 293 


325| `mcpServers` | No | [MCP servers](/docs/it/mcp) disponibili per questo subagent. Ogni voce è un nome di server che fa riferimento a un server già configurato (ad esempio, `"slack"`) o una definizione inline con il nome del server come chiave e una [configurazione MCP server](/docs/it/mcp#installing-mcp-servers) completa come valore. Ignorato per [subagent plugin](#choose-the-subagent-scope) |325| `mcpServers` | No | [MCP servers](/docs/it/mcp) disponibili per questo subagent. Ogni voce è un nome di server che fa riferimento a un server già configurato (ad esempio, `"slack"`) o una definizione inline con il nome del server come chiave e una [configurazione MCP server](/docs/it/mcp#installing-mcp-servers) completa come valore. Ignorato per [subagent plugin](#choose-the-subagent-scope) |

326| `hooks` | No | [Lifecycle hooks](#define-hooks-for-subagents) limitati a questo subagent. Ignorato per [subagent plugin](#choose-the-subagent-scope) |326| `hooks` | No | [Lifecycle hooks](#define-hooks-for-subagents) limitati a questo subagent. Ignorato per [subagent plugin](#choose-the-subagent-scope) |

327| `memory` | No | [Ambito di memoria persistente](#enable-persistent-memory): `user`, `project`, o `local`. Abilita l'apprendimento tra sessioni |327| `memory` | No | [Ambito di memoria persistente](#enable-persistent-memory): `user`, `project`, o `local`. Abilita l'apprendimento tra sessioni |

328| `background` | No | Imposta su `true` per mantenere questo subagent in background anche quando Claude chiede di eseguirlo in foreground. Dove [fork mode](#turn-fork-mode-on-or-off) è attivo, Claude Code già esegue i subagent che Claude genera [in background](#run-subagents-in-foreground-or-background) |328| `background` | No | Imposta su `true` per mantenere questo subagent in background anche quando Claude chiede di attenderlo. Per impostazione predefinita, i subagent che Claude genera dalla conversazione principale [partono già in background](#run-subagents-in-foreground-or-background) |

329| `omitClaudeMd` | No | Imposta su `true` per avviare questo subagent senza i file CLAUDE.md utente, di progetto e locali nel suo [contesto iniziale](#what-loads-at-startup); i [file di policy gestiti](/docs/it/memory#how-claude-md-files-load) vengono comunque caricati, tranne per i [subagent gestiti](#choose-the-subagent-scope). Usalo per i subagent che ricevono tutto ciò di cui hanno bisogno dal prompt di delega. Ignorato quando l'agente viene eseguito come agente della sessione principale tramite `--agent` o l'impostazione `agent`. Richiede Claude Code v2.1.271 o successivo |329| `omitClaudeMd` | No | Imposta su `true` per avviare questo subagent senza i file CLAUDE.md utente, di progetto e locali nel suo [contesto iniziale](#what-loads-at-startup); i [file di policy gestiti](/docs/it/memory#how-claude-md-files-load) vengono comunque caricati, tranne per i [subagent gestiti](#choose-the-subagent-scope). Usalo per i subagent che ricevono tutto ciò di cui hanno bisogno dal prompt di delega. Ignorato quando l'agente viene eseguito come agente della sessione principale tramite `--agent` o l'impostazione `agent`. Richiede Claude Code v2.1.271 o successivo |

330| `effort` | No | Livello di sforzo quando questo subagent è attivo. Sovrascrive il livello di sforzo della sessione, ma non la variabile d'ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/it/env-vars#variables). Opzioni: `low`, `medium`, `high`, `xhigh`, `max`; i livelli disponibili dipendono dal modello. Consulta [Scegliere un livello di sforzo](#choose-an-effort-level) |330| `effort` | No | Livello di sforzo quando questo subagent è attivo. Sovrascrive il livello di sforzo della sessione, ma non la variabile d'ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/it/env-vars#variables). Opzioni: `low`, `medium`, `high`, `xhigh`, `max`; i livelli disponibili dipendono dal modello. Consulta [Scegliere un livello di sforzo](#choose-an-effort-level) |

331| `isolation` | No | Imposta su `worktree` per eseguire il subagent in un [git worktree](/docs/it/worktrees) temporaneo, dandogli una copia isolata del repository diramata per impostazione predefinita dal suo [ramo predefinito](/docs/it/worktrees#choose-the-base-branch) piuttosto che dall'`HEAD` della sessione principale. Il worktree viene automaticamente pulito se il subagent non apporta modifiche |331| `isolation` | No | Imposta su `worktree` per eseguire il subagent in un [git worktree](/docs/it/worktrees) temporaneo, dandogli una copia isolata del repository diramata per impostazione predefinita dal suo [ramo predefinito](/docs/it/worktrees#choose-the-base-branch) piuttosto che dall'`HEAD` della sessione principale. Il worktree viene automaticamente pulito se il subagent non apporta modifiche |


405 405 

406Per verificare su quale modello è in esecuzione un subagent, esegui [`/tasks`](/docs/it/commands). Claude Code indica il modello nella riga del subagent e aggiunge l'eventuale [livello di sforzo](/docs/it/model-config#adjust-effort-level) impostato per quel subagent. Richiede Claude Code v2.1.242 o successivo.406Per verificare su quale modello è in esecuzione un subagent, esegui [`/tasks`](/docs/it/commands). Claude Code indica il modello nella riga del subagent e aggiunge l'eventuale [livello di sforzo](/docs/it/model-config#adjust-effort-level) impostato per quel subagent. Richiede Claude Code v2.1.242 o successivo.

407 407 

408Un parametro `model` per invocazione si applica anche quando il subagent viene [ripreso o inviato un messaggio di follow-up](#resume-subagents), quindi il subagent rimane su quel modello. Prima di v2.1.211, la ripresa eliminava il valore per invocazione e il subagent tornava al campo `model` della sua definizione o, senza uno, al modello della conversazione principale.408Un parametro `model` della singola invocazione si applica anche quando il subagent viene [ripreso o riceve un messaggio di follow-up](#resume-subagents), quindi il subagent rimane su quel modello.

409 409 

410A partire da v2.1.198, i subagent ereditano anche la configurazione [extended thinking](/docs/it/model-config#extended-thinking) della conversazione principale: se il thinking è attivo nella sua sessione, è attivo per il subagent, e se è spento, rimane spento. Non c'è un'impostazione di thinking per subagent. Prima di v2.1.198, i subagent venivano eseguiti con extended thinking disabilitato indipendentemente dall'impostazione della conversazione principale.410A partire da v2.1.198, i subagent ereditano anche la configurazione [extended thinking](/docs/it/model-config#extended-thinking) della conversazione principale: se il thinking è attivo nella sua sessione, è attivo per il subagent, e se è spento, rimane spento. Non c'è un'impostazione di thinking per subagent. Prima di v2.1.198, i subagent venivano eseguiti con extended thinking disabilitato indipendentemente dall'impostazione della conversazione principale.

411 411 


501---501---

502```502```

503 503 

504Quando nulla nell'elenco `tools` si risolve in uno strumento, ad esempio perché ogni voce è errata o nomina uno strumento che non è disponibile per i subagent, Claude Code di solito rifiuta di avviare il subagent e lo strumento Agent restituisce un errore che nomina le voci non risolte; consulti [Agent would be spawned with zero tools](/docs/it/errors#agent-would-be-spawned-with-zero-tools) per il messaggio e come correggere ogni voce. Prima di v2.1.208, quel subagent si avviava senza strumenti e potrebbe restituire un risultato vuoto o confuso.504Quando nulla nell'elenco `tools` si risolve in uno strumento, ad esempio perché ogni voce è scritta in modo errato o indica uno strumento non disponibile per i subagent, Claude Code di solito si rifiuta di avviare il subagent e lo strumento Agent restituisce un errore che indica le voci non risolte; consulta [Agent would be spawned with zero tools](/docs/it/errors#agent-would-be-spawned-with-zero-tools) per il messaggio e per come correggere ogni voce.

505 505 

506I campi `tools` e `disallowedTools` accettano anche voci per un intero server MCP:506I campi `tools` e `disallowedTools` accettano anche voci per un intero server MCP:

507 507 


969* **I subagent in primo piano** bloccano la conversazione principale fino al completamento. Le richieste di permesso ti vengono inoltrate man mano che si presentano.969* **I subagent in primo piano** bloccano la conversazione principale fino al completamento. Le richieste di permesso ti vengono inoltrate man mano che si presentano.

970* **I subagent in background** vengono eseguiti in parallelo mentre continui a lavorare. Quando un subagent in background arriva a una chiamata a uno strumento che richiede un permesso, Claude Code mostra la richiesta nella tua sessione principale e indica il subagent che la sta facendo. Approva per lasciare che il subagent continui, oppure premi Esc per negare quella singola chiamata allo strumento senza fermare il subagent.970* **I subagent in background** vengono eseguiti in parallelo mentre continui a lavorare. Quando un subagent in background arriva a una chiamata a uno strumento che richiede un permesso, Claude Code mostra la richiesta nella tua sessione principale e indica il subagent che la sta facendo. Approva per lasciare che il subagent continui, oppure premi Esc per negare quella singola chiamata allo strumento senza fermare il subagent.

971 971 

972Per ogni subagent che Claude avvia con lo strumento Agent, Claude Code sceglie primo piano o background in base al primo di questi casi che si applica:972<h4 id="which-subagents-run-in-the-background">

973 Quali subagent vengono eseguiti in background

974</h4>

975 

976Senza alcuna configurazione, un subagent che Claude avvia dalla tua conversazione principale parte in background.

973 977 

974* Se a generare il subagent è stato un membro in-process di un [team di agenti](/docs/it/agent-teams#limitations), Claude Code lo esegue in primo piano. Claude Code rifiuta con un errore di avviare il subagent di un membro del team la cui definizione imposta [`background: true`](#supported-frontmatter-fields). Dove la [modalità fork](#turn-fork-mode-on-or-off) è disattivata e non hai [disattivato le attività in background](/docs/it/env-vars), Claude Code rifiuta con un errore anche quando un membro del team imposta `run_in_background: true`.978* **`claude -p` e l'Agent SDK**: Claude può attendere, a sua discrezione o quando glielo chiedi.

975* Se imposti [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/it/env-vars) su `1`, Claude Code esegue il subagent in primo piano, in ogni tipo di sessione e indipendentemente dal fatto che la modalità fork sia attiva.979* **Sessione interattiva nel terminale, sessioni di VS Code e dell'app desktop sulla tua macchina**: per permettere a Claude di attendere un subagent, [disattiva la modalità fork](#let-claude-wait-for-a-subagent), che è [attiva per impostazione predefinita](#turn-fork-mode-on-or-off).

976* Dove la [modalità fork](#turn-fork-mode-on-or-off) è attiva, come avviene per impostazione predefinita in una sessione interattiva, Claude Code esegue il subagent in background, sia che si tratti di fork sia di subagent non fork, e Claude non può chiedere il primo piano.

977* Dove la modalità fork è disattivata, Claude esegue il subagent in background per impostazione predefinita e in primo piano quando ha bisogno del risultato prima di continuare. La modalità fork è disattivata in [modalità non interattiva](/docs/it/headless) con `-p` e nell'Agent SDK, a meno che tu non la attivi. Per mantenere in background un particolare subagent anche quando Claude vuole il risultato, imposta su `true` il campo [`background`](#supported-frontmatter-fields) nel suo frontmatter.

978 980 

979Per una skill con `context: fork`, Claude Code segue invece le regole descritte in [Eseguire le skill in un subagent](/docs/it/skills#run-skills-in-a-subagent), indipendentemente dal fatto che la modalità fork sia attiva.981Per una skill con `context: fork`, Claude Code segue invece le regole descritte in [Eseguire le skill in un subagent](/docs/it/skills#run-skills-in-a-subagent), indipendentemente dal fatto che la modalità fork sia attiva.

980 982 

983<h4 id="let-claude-wait-for-a-subagent">

984 Permettere a Claude di attendere un subagent

985</h4>

986 

9871. Disattiva la [modalità fork](#turn-fork-mode-on-or-off) impostando `CLAUDE_CODE_FORK_SUBAGENT` su `0`, ad esempio in [`settings.json`](/docs/it/settings):

988 

989 ```json theme={null}

990 {

991 "env": {

992 "CLAUDE_CODE_FORK_SUBAGENT": "0"

993 }

994 }

995 ```

996 

9972. Esegui di nuovo `claude` dalla tua shell, oppure apri una nuova conversazione in VS Code.

998 

9993. Chiedi a Claude di attendere quando ti serve prima un risultato, ad esempio "esegui il subagent reviewer e attendi il suo rapporto".

1000 

1001Per continuare a lavorare mentre Claude attende, premi **Ctrl+B** nel terminale oppure fai clic su [**Run in background**](/docs/it/vs-code#move-a-running-command-or-subagent-to-the-background) in VS Code.

1002 

1003Se, invece di disattivare la modalità fork, imposti la variabile d'ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/it/env-vars) su `1`, Claude attende ogni subagent e le attività in background sono disattivate, **Ctrl+B** incluso.

1004 

1005<h4 id="tools-permissions-and-results-of-background-subagents">

1006 Strumenti, permessi e risultati dei subagent in background

1007</h4>

1008 

981I subagent in background vengono eseguiti con un [set di strumenti integrati più ridotto](#available-tools) rispetto ai subagent in primo piano, ad eccezione dei fork della conversazione e dei subagent in primo piano [ripresi](#resume-subagents).1009I subagent in background vengono eseguiti con un [set di strumenti integrati più ridotto](#available-tools) rispetto ai subagent in primo piano, ad eccezione dei fork della conversazione e dei subagent in primo piano [ripresi](#resume-subagents).

982 1010 

983I subagent in background mostrano ogni richiesta di permesso nella tua sessione principale. Quando rispondi a una di queste richieste con una scelta che vale oltre quella singola chiamata allo strumento, come un permesso concesso per il resto della sessione, Claude Code applica la tua risposta all'intera sessione, inclusa la tua conversazione principale.1011I subagent in background mostrano ogni richiesta di permesso nella tua sessione principale. Quando rispondi a una di queste richieste con una scelta che vale oltre quella singola chiamata allo strumento, come un permesso concesso per il resto della sessione, Claude Code applica la tua risposta all'intera sessione, inclusa la tua conversazione principale.

984 1012 

985Un subagent in background può lasciare un [comando Bash o PowerShell](/docs/it/tools-reference#background-commands) in background [in esecuzione oltre la fine del suo turno](/docs/it/interactive-mode#how-backgrounding-works). Quando quel comando termina, Claude Code invia una notifica al subagent.1013Un subagent in background può lasciare un [comando Bash o PowerShell](/docs/it/tools-reference#background-commands) in background [in esecuzione oltre la fine del suo turno](/docs/it/interactive-mode#how-backgrounding-works). Quando quel comando termina, Claude Code invia una notifica al subagent.

986 1014 

987I risultati di un subagent in background arrivano a Claude come notifica di completamento in un turno successivo. Claude attende quella notifica prima di riportare i risultati del subagent e, se chiedi prima informazioni sull'avanzamento, riferisce che il subagent è ancora in esecuzione. Prima della v2.1.211, Claude a volte riportava risultati per un subagent in background che non aveva ancora finito.1015I risultati di un subagent in background arrivano a Claude come notifica di completamento in un turno successivo. Claude attende quella notifica prima di riportare i risultati del subagent e, se chiedi prima informazioni sull'avanzamento, riferisce che il subagent è ancora in esecuzione.

988 1016 

989Puoi anche gestirlo tu stesso:1017<h4 id="finished-subagents-in-the-panel-and-task-list">

990 1018 Subagent terminati nel pannello e nell'elenco delle attività

991* Dove la modalità fork è disattivata, chiedi a Claude di eseguire un'attività in background o in primo piano1019</h4>

992* Premi **Ctrl+B** per spostare in background un'attività in esecuzione

993 1020 

994Claude Code rimuove la riga di un subagent in background dal pannello dei subagent sotto l'input del prompt in uno di due modi, a seconda di come è terminato il subagent:1021Claude Code rimuove la riga di un subagent in background dal pannello dei subagent sotto l'input del prompt in uno di due modi, a seconda di come è terminato il subagent:

995 1022 


1036 1063 

1037Il [rapporto di un subagent in background](#run-subagents-in-foreground-or-background) arriva all'interno di una notifica di completamento, contrassegnata come evento automatico anziché come un tuo messaggio.1064Il [rapporto di un subagent in background](#run-subagents-in-foreground-or-background) arriva all'interno di una notifica di completamento, contrassegnata come evento automatico anziché come un tuo messaggio.

1038 1065 

1039<Note>

1040 La scansione dell'output dei subagent richiede Claude Code v2.1.210 o successivo.

1041</Note>

1042 

1043<h3 id="common-patterns">1066<h3 id="common-patterns">

1044 Schemi comuni1067 Schemi comuni

1045</h3>1068</h3>


1109 1132 

1110Per impostazione predefinita, un subagent può avviare subagent propri, fino a tre livelli sotto la conversazione principale. Al limite di profondità, Claude Code toglie lo strumento `Agent` a ogni subagent tranne che a un [fork](#fork-the-current-conversation), quindi un subagent al limite svolge da solo il lavoro delegato e restituisce un unico riepilogo. Un fork al limite mantiene `Agent` nell'elenco di strumenti ereditato, ma lo strumento restituisce un errore invece di avviare un subagent.1133Per impostazione predefinita, un subagent può avviare subagent propri, fino a tre livelli sotto la conversazione principale. Al limite di profondità, Claude Code toglie lo strumento `Agent` a ogni subagent tranne che a un [fork](#fork-the-current-conversation), quindi un subagent al limite svolge da solo il lavoro delegato e restituisce un unico riepilogo. Un fork al limite mantiene `Agent` nell'elenco di strumenti ereditato, ma lo strumento restituisce un errore invece di avviare un subagent.

1111 1134 

1112I subagent annidati sono adatti a un'attività delegata che a sua volta si divide in sottoattività parallele, come un subagent revisore che avvia un verificatore per ogni problema trovato. In una sessione interattiva, solo il riepilogo del subagent di primo livello torna a te e l'output intermedio resta fuori dalla tua conversazione principale: un subagent che avvia subagent in background attende i loro risultati prima di terminare. In [modalità non interattiva](/docs/it/headless) e nell'Agent SDK, il subagent che li avvia non attende, quindi un subagent in background annidato che termina dopo la fine del suo avviante invia invece il proprio resoconto alla tua conversazione principale.1135I subagent annidati sono adatti a un'attività delegata che a sua volta si divide in sottoattività parallele, come un subagent revisore che avvia un verificatore per ogni problema trovato. Per impostazione predefinita, il subagent che li avvia attende il resoconto di ciascun subagent annidato:

1136 

1137* **Sessione interattiva nel terminale**: solo il riepilogo del subagent di primo livello torna a te, perché un subagent che avvia subagent in background attende i loro risultati prima di terminare.

1138* **`claude -p` e l'Agent SDK**: il subagent che li avvia attende finché la [modalità fork](#turn-fork-mode-on-or-off) è attiva. Se disattivi la modalità fork, i subagent annidati partono invece in [background](#run-subagents-in-foreground-or-background). Il subagent che li avvia non attende un subagent annidato in background, che invia il proprio resoconto alla tua conversazione principale se termina dopo il subagent che lo ha avviato.

1113 1139 

1114Per cambiare il limite, imposta [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/it/env-vars) sul numero di livelli di subagent che vuoi sotto la tua conversazione principale. Ad esempio, questa voce in [`settings.json`](/docs/it/settings) limita l'annidamento a due livelli:1140Per cambiare il limite, imposta [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/it/env-vars) sul numero di livelli di subagent che vuoi sotto la tua conversazione principale. Ad esempio, questa voce in [`settings.json`](/docs/it/settings) limita l'annidamento a due livelli:

1115 1141 


1273* **Esegui l'intera sessione come questo subagent con `--agent` o con l'impostazione `agent`**: in quel caso il campo non ha effetto. Per impostare la finestra della sessione, consulta [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window).1299* **Esegui l'intera sessione come questo subagent con `--agent` o con l'impostazione `agent`**: in quel caso il campo non ha effetto. Per impostare la finestra della sessione, consulta [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window).

1274 1300 

1275<h2 id="fork-the-current-conversation">1301<h2 id="fork-the-current-conversation">

1276 Esegua il fork della conversazione corrente1302 Esegui il fork della conversazione corrente

1277</h2>1303</h2>

1278 1304 

1279<Note>1305<Note>

1280 Esegua un subagent di fork con `/subtask`, che richiede Claude Code v2.1.212 o successivo. Quando [la visualizzazione dell'agente è disattivata](/docs/it/agent-view#turn-off-agent-view), `/subtask` non è disponibile e `/fork` avvia il subagent di fork; altrimenti `/fork` copia l'intera sessione in una nuova [sessione in background](/docs/it/agent-view#from-inside-a-session).1306 Quando [la vista agenti è disattivata](/docs/it/agent-view#turn-off-agent-view), `/subtask` non è disponibile e `/fork` avvia invece il subagent fork; altrimenti `/fork` copia l'intera sessione in una nuova [sessione in background](/docs/it/agent-view#from-inside-a-session).

1281</Note>1307</Note>

1282 1308 

1283Un fork è un subagent che eredita l'intera conversazione fino ad ora invece di iniziare da zero. Questo elimina l'isolamento dell'input che i subagent altrimenti forniscono: un fork vede lo stesso prompt di sistema, strumenti, modello e cronologia dei messaggi della sessione principale, in modo che possa assegnargli un'attività secondaria senza re-spiegare la situazione. Le proprie chiamate di strumenti del fork rimangono comunque fuori dalla sua conversazione e solo il suo risultato finale ritorna, in modo che la sua finestra di contesto principale rimanga pulita. Usi un fork quando un subagent denominato avrebbe bisogno di troppo background per essere utile, o quando vuole provare diversi approcci in parallelo dallo stesso punto di partenza.1309Un fork è un subagent che eredita l'intera conversazione fino a quel momento invece di partire da zero. In questo modo viene meno l'isolamento dell'input che i subagent altrimenti forniscono: un fork vede lo stesso prompt di sistema, gli stessi strumenti, lo stesso modello e la stessa cronologia dei messaggi della sessione principale, quindi puoi affidargli un'attività secondaria senza dover spiegare di nuovo la situazione. Le chiamate agli strumenti del fork restano comunque fuori dalla tua conversazione e torna solo il suo risultato finale, così la tua finestra di contesto principale rimane pulita. Usa un fork quando qualsiasi altro subagent richiederebbe troppo contesto per essere utile, oppure quando vuoi provare diversi approcci in parallelo partendo dallo stesso punto.

1284 1310 

1285Claude avvia un fork richiedendo il tipo di subagent `fork` tramite lo strumento Agent. Lei controlla se può farlo con [la modalità fork](#turn-fork-mode-on-or-off), che è attivata per impostazione predefinita nelle sessioni interattive.1311Claude può avviare un fork autonomamente mentre la modalità fork è attiva, come lo è per impostazione predefinita. Per interrompere i fork, consulta [Disattiva la modalità fork](#turn-fork-mode-on-or-off).

1286 1312 

1287Può avviare un fork lei stesso con `/subtask` seguito da un'attività, indipendentemente dal fatto che la modalità fork sia attivata o meno. Nella versione da v2.1.161 a v2.1.211 il comando è `/fork`. Claude Code nomina il fork dalle prime parole dell'attività. L'esempio seguente esegue il fork della conversazione per redigere casi di test mentre continua con l'implementazione nella sessione principale:1313Puoi avviare tu stesso un fork con `/subtask` seguito da un'attività, indipendentemente dal fatto che la modalità fork sia attiva. Claude Code assegna al fork un nome basato sulle prime parole dell'attività. L'esempio seguente esegue il fork della conversazione per scrivere una bozza dei casi di test mentre tu continui con l'implementazione nella sessione principale:

1288 1314 

1289```text wrap theme={null}1315```text wrap theme={null}

1290/subtask draft unit tests for the parser changes so far1316/subtask draft unit tests for the parser changes so far

1291```1317```

1292 1318 

1293Il fork appare in un pannello sotto il suo prompt e viene eseguito in background mentre continua a lavorare. Quando finisce, il suo risultato arriva come messaggio nella sua conversazione principale. La sezione successiva copre i controlli del pannello per osservare e dirigere i fork mentre vengono eseguiti.1319Il fork appare in un pannello sotto il tuo prompt e viene eseguito in background mentre continui a lavorare. Al termine, il suo risultato arriva come messaggio nella tua conversazione principale. La sezione successiva descrive i controlli del pannello per osservare e guidare i fork durante l'esecuzione.

1294 1320 

1295<h3 id="observe-and-steer-running-forks">1321<h3 id="observe-and-steer-running-forks">

1296 Osservi e dirija i fork in esecuzione1322 Osserva e guida i fork in esecuzione

1297</h3>1323</h3>

1298 1324 

1299I fork in esecuzione appaiono in un pannello sotto l'input del prompt, con una riga per la sessione principale e una per ogni fork.1325I fork in esecuzione appaiono in un pannello sotto l'input del prompt, con una riga per la sessione principale e una per ciascun fork.

1300 1326 

1301Quando un fork finisce con successo, Claude Code rimuove la sua riga. Claude Code mantiene la riga di un fork che non è riuscito o che Lei ha interrotto per 30 secondi, [lo stesso che per qualsiasi altro subagent in background](#run-subagents-in-foreground-or-background). Prima della versione v2.1.232, Claude Code manteneva la riga di un fork finito per 30 secondi anche.1327Quando un fork termina correttamente, Claude Code rimuove la sua riga. Claude Code mantiene per 30 secondi la riga di un fork che non è riuscito o che hai interrotto, [come per qualsiasi altro subagent in background](#run-subagents-in-foreground-or-background). Prima della v2.1.232, Claude Code manteneva per 30 secondi anche la riga di un fork terminato.

1302 1328 

1303Usi questi tasti per interagire con il pannello:1329Usa questi tasti per interagire con il pannello:

1304 1330 

1305| Key | Action |1331| Tasto | Azione |

1306| :- | :- |1332| :- | :- |

1307| `↑` / `↓` | Sposta tra le righe |1333| `↑` / `↓` | Spostati tra le righe |

1308| `Enter` | Apra la trascrizione del fork selezionato e invii messaggi di follow-up |1334| `Enter` | Apri la trascrizione del fork selezionato e inviagli messaggi di follow-up |

1309| `x` | Fermi il fork selezionato se è in esecuzione, o chiuda la sua riga se non è più in esecuzione. Sulla riga della sessione principale, o sulla riga del fork la cui trascrizione Lei ha aperto con `Enter`, `x` digita nel prompt |1335| `x` | Interrompi il fork selezionato se è in esecuzione, oppure chiudi la sua riga se non è più in esecuzione. Sulla riga della sessione principale, o sulla riga del fork di cui hai aperto la trascrizione con `Enter`, `x` viene invece digitato nel prompt |

1310| `Esc` | Restituisca il focus all'input del prompt |1336| `Esc` | Riporta il focus sull'input del prompt |

1311 1337 

1312Con la trascrizione di un fork o di un subagent aperta, i messaggi di follow-up e le [skill](/docs/it/skills) vanno a quell'agente, mentre i comandi incorporati vanno alla tua conversazione principale, con queste protezioni:1338Con la trascrizione di un fork o di un subagent aperta, i messaggi di follow-up e le [skill](/docs/it/skills) vanno a quell'agente, mentre i comandi integrati vanno alla tua conversazione principale, con queste tutele:

1313 1339 

1314* `/compact`, `/clear` e `/rewind` agiscono sulla conversazione principale, quindi Claude Code ti chiede conferma prima di eseguirne uno da questa visualizzazione.1340* `/compact`, `/clear` e `/rewind` agiscono sulla conversazione principale, quindi Claude Code ti chiede conferma prima di eseguirne uno da questa vista.

1315* `/model` e `/fast` impostano il modello e la modalità veloce della conversazione principale, non quelli dell'agente visualizzato, quindi non vengono eseguiti da questa visualizzazione. Un avviso ti spiega il motivo.1341* `/model` e `/fast` impostano il modello e la modalità veloce della conversazione principale, non quelli dell'agente visualizzato, quindi non vengono eseguiti da questa vista. Un avviso te ne spiega il motivo.

1316 1342 

1317Per fare in modo che l'agente visualizzato legga il tuo messaggio prima che termini il lavoro che sta attendendo, invialo con [`Ctrl+Enter` o `Ctrl+X Ctrl+S`](/docs/it/keybindings#chat-actions). Qualsiasi comando shell o subagent che l'agente sta attendendo e che può essere spostato in [background](/docs/it/tools-reference#background-commands) viene spostato lì e continua a essere eseguito. Quando l'agente sta scrivendo una risposta, o sta attendendo un lavoro che non può essere spostato in background, continua e legge il tuo messaggio una volta terminato. Richiede Claude Code v2.1.286 o successivo.1343Per fare in modo che l'agente visualizzato legga il tuo messaggio prima che termini il lavoro che sta aspettando, invialo con [`Ctrl+Enter` o `Ctrl+X Ctrl+S`](/docs/it/keybindings#chat-actions). Qualsiasi comando shell o subagent che l'agente sta aspettando e che può essere spostato in [background](/docs/it/tools-reference#background-commands) viene spostato lì e continua a essere eseguito. Quando l'agente sta scrivendo una risposta, o sta aspettando un lavoro che non può essere spostato in background, continua e legge il tuo messaggio una volta terminato. Richiede Claude Code v2.1.286 o successiva.

1318 1344 

1319<h3 id="how-forks-differ-from-other-subagents">1345<h3 id="how-forks-differ-from-other-subagents">

1320 Come i fork differiscono dai subagent non-fork1346 In cosa i fork differiscono dagli altri subagent

1321</h3>1347</h3>

1322 1348 

1323Un fork eredita tutto ciò che la sessione principale ha nel momento in cui viene generato. Un subagent non-fork inizia da zero dalla sua definizione.1349Un fork eredita tutto ciò che la sessione principale ha nel momento in cui viene generato. Qualsiasi altro subagent parte da zero dalla sua definizione.

1324 1350 

1325| | Fork | Subagent non-fork |1351| | Fork | Subagent non fork |

1326| :- | :- | :- |1352| :- | :- | :- |

1327| Context | Cronologia di conversazione completa | Contesto fresco con il prompt che passa |1353| Contesto | Cronologia completa della conversazione | Contesto nuovo con il prompt che passi |

1328| System prompt e tools | Uguale alla sessione principale | Dalla [definition file](#write-subagent-files) del subagent, [filtrato per esecuzioni in background](#available-tools) |1354| Prompt di sistema e strumenti | Uguali alla sessione principale | Dal [file di definizione](#write-subagent-files) del subagent, [filtrati per le esecuzioni in background](#available-tools) |

1329| Model | Uguale alla sessione principale | Dal campo `model` del subagent |1355| Modello | Uguale alla sessione principale | Dal campo `model` del subagent |

1330| Permissions | I prompt emergono nel suo terminale | [I prompt emergono nella sua sessione principale](#run-subagents-in-foreground-or-background) quando viene eseguito in background |1356| Cache del prompt | Condivisa con la sessione principale | Cache separata |

1331| Prompt cache | Condiviso con la sessione principale | Cache separata |

1332 1357 

1333Poiché il prompt di sistema e le definizioni degli strumenti di un fork sono identici a quelli del principale, la sua prima richiesta riutilizza la [prompt cache](/docs/it/prompt-caching#subagents-and-the-cache) del principale. Grazie a questo riutilizzo, un fork costa meno di un subagent nuovo per le attività che necessitano dello stesso contesto.1358Poiché il prompt di sistema e le definizioni degli strumenti di un fork sono identici a quelli del genitore, la sua prima richiesta riutilizza la [cache del prompt](/docs/it/prompt-caching#subagents-and-the-cache) del genitore. Grazie a questo riutilizzo, un fork costa meno di un subagent nuovo per le attività che richiedono lo stesso contesto.

1334 1359 

1335Quando Claude genera un fork tramite lo strumento Agent, può passare `isolation: "worktree"` in modo che le modifiche ai file del fork vengano scritte in un git worktree separato invece del suo checkout. Un fork non può generare ulteriori fork.1360Quando Claude genera un fork tramite lo strumento Agent, può passare `isolation: "worktree"` in modo che le modifiche ai file del fork vengano scritte in un worktree git separato invece che nel tuo checkout. Un fork non può generare altri fork.

1336 1361 

1337<h3 id="turn-fork-mode-on-or-off">1362<h3 id="turn-fork-mode-on-or-off">

1338 Attivi o disattivi la modalità fork1363 Disattiva la modalità fork

1339</h3>1364</h3>

1340 1365 

1341Claude Code attiva la modalità fork per impostazione predefinita nelle sessioni interattive e la lascia disattivata per impostazione predefinita in [modalità non interattiva](/docs/it/headless) con `-p` e nell'Agent SDK. L'impostazione predefinita interattiva richiede Claude Code v2.1.232 o successivo. Nelle versioni precedenti, imposti `CLAUDE_CODE_FORK_SUBAGENT` su `1` per attivare la modalità fork.1366La modalità fork consente a Claude di avviare un fork autonomamente. Per impedire a Claude di avviare fork:

1342 

1343Può dire che la modalità fork è attivata da come Claude Code gestisce lo strumento Agent:

1344 

1345* Claude può generare un fork richiedendo il tipo di subagent `fork`. Quando Claude non richiede un tipo, ottiene il subagent [general-purpose](#built-in-subagents), se la sessione ha ancora quel tipo. I subagent generati da una definizione, come Explore, funzionano come al solito.

1346* Claude Code esegue i subagent che Claude genera in background, sia i fork che i subagent non-fork, a parte i [casi che rimangono in primo piano](#run-subagents-in-foreground-or-background). Claude Code rimuove anche il parametro `run_in_background` dello strumento Agent, in modo che Claude non possa chiedere il primo piano.

1347 

1348Imposti la variabile di ambiente [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/it/env-vars) per ignorare le impostazioni predefinite:

1349 1367 

1350* `1` attiva la modalità fork in modalità non interattiva e nell'Agent SDK1368* **Blocca solo i fork**: aggiungi `"Agent(fork)"` a `permissions.deny` nelle tue [impostazioni](#disable-specific-subagents).

1351* `0` disattiva la modalità fork in ogni tipo di sessione1369* **Disattiva la modalità fork**: imposta `CLAUDE_CODE_FORK_SUBAGENT` su `0`, seguendo i passaggi in [Lascia che Claude attenda un subagent](#let-claude-wait-for-a-subagent).

1352 1370 

1353Per mantenere la modalità fork attivata ma impedire a Claude di generare fork, [neghi il tipo di subagent `fork`](#disable-specific-subagents) con una regola `Agent(fork)`. Claude Code continua a eseguire i subagent che Claude genera in background, a parte gli stessi [casi che rimangono in primo piano](#run-subagents-in-foreground-or-background).1371Mentre la modalità fork è attiva, Claude inoltre non può [attendere un subagent](#run-subagents-in-foreground-or-background) nelle sessioni interattive del terminale, di VS Code o desktop sulla tua macchina. La modalità fork è attiva per impostazione predefinita a partire da Claude Code v2.1.302, e in una sessione interattiva del terminale a partire dalla v2.1.232.

1354 1372 

1355<h2 id="example-subagents">1373<h2 id="example-subagents">

1356 Subagent di esempio1374 Subagent di esempio

Details

58 58 

59 Se hai accettato il prompt di configurazione del terminale al primo avvio di Claude Code, questo è già stato fatto. Quel prompt esegue `/terminal-setup` per te, che abilita Option come Meta e disattiva il campanello udibile nel tuo profilo Apple Terminal.59 Se hai accettato il prompt di configurazione del terminale al primo avvio di Claude Code, questo è già stato fatto. Quel prompt esegue `/terminal-setup` per te, che abilita Option come Meta e disattiva il campanello udibile nel tuo profilo Apple Terminal.

60 60 

61 In [modalità lettore schermo](/docs/it/accessibility), `/terminal-setup` lascia l'impostazione del campanello invariata in modo che il campanello del terminale rimanga udibile. Prima della v2.1.211, `/terminal-setup` disattivava il campanello anche in modalità lettore schermo. Se un'esecuzione precedente ha disattivato il campanello, riattivalo in Impostazioni → Profili → Avanzate → "Audible bell".61 In [modalità lettore schermo](/docs/it/accessibility), `/terminal-setup` lascia l'impostazione del campanello invariata in modo che il campanello del terminale rimanga udibile. Se un'esecuzione precedente ha disattivato il campanello, riattivalo in Impostazioni → Profili → Avanzate → "Audible bell".

62 </Tab>62 </Tab>

63 63 

64 <Tab title="iTerm2">64 <Tab title="iTerm2">

tools-reference.md +27 −27

Details

26| `CronDelete` | Annulla un'attività pianificata per ID | No |26| `CronDelete` | Annulla un'attività pianificata per ID | No |

27| `CronList` | Elenca tutte le attività pianificate nella sessione | No |27| `CronList` | Elenca tutte le attività pianificate nella sessione | No |

28| `Edit` | Effettua modifiche mirate a file specifici. Vedi [Comportamento dello strumento Edit](#edit-tool-behavior) | Yes |28| `Edit` | Effettua modifiche mirate a file specifici. Vedi [Comportamento dello strumento Edit](#edit-tool-behavior) | Yes |

29| `EndConversation` | Termina la sessione, in rari casi di input abusivo sostenuto o quando chiedi a Claude di dimostrare lo strumento. Richiede Claude Code v2.1.213 o successivo. Vedi [Comportamento dello strumento EndConversation](#endconversation-tool-behavior) | No |29| `EndConversation` | Termina la sessione, in rari casi di input abusivo sostenuto o quando chiedi a Claude di dimostrare lo strumento. Vedi [Comportamento dello strumento EndConversation](#endconversation-tool-behavior) | No |

30| `EnterPlanMode` | Passa a Plan Mode per progettare un approccio prima di codificare | No |30| `EnterPlanMode` | Passa a Plan Mode per progettare un approccio prima di codificare | No |

31| `EnterWorktree` | Crea un [git worktree](/docs/it/worktrees) isolato e vi entra. Passa un `path` per entrare in un worktree esistente invece di crearne uno nuovo. Al primo ingresso il target può essere un worktree del repository corrente o, in uno spazio di lavoro multi-repo, di un repository annidato al suo interno. Prima della v2.1.203, un worktree di un repository annidato era rifiutato. Un `path` al di fuori di `.claude/worktrees/` richiede la tua approvazione prima di entrare, poiché sposta la directory di lavoro della sessione e l'accesso in scrittura a quella posizione. La creazione di nuovi worktree e i percorsi sotto `.claude/worktrees/` non richiedono prompt. Prima della v2.1.206, Claude entrava nei percorsi al di fuori di `.claude/worktrees/` senza un prompt. Da una sessione worktree, o da un subagent con una directory di lavoro fissata come [`isolation: worktree`](/docs/it/sub-agents#supported-frontmatter-fields), è disponibile solo il modulo `path` e il target deve trovarsi sotto `.claude/worktrees/` del repository della sessione | Yes |31| `EnterWorktree` | Crea un [git worktree](/docs/it/worktrees) isolato e vi entra. Passa un `path` per entrare in un worktree esistente invece di crearne uno nuovo. Al primo ingresso il target può essere un worktree del repository corrente o, in uno spazio di lavoro multi-repo, di un repository annidato al suo interno. Prima della v2.1.203, un worktree di un repository annidato era rifiutato. Un `path` al di fuori di `.claude/worktrees/` richiede la tua approvazione prima di entrare, poiché sposta la directory di lavoro della sessione e l'accesso in scrittura a quella posizione. La creazione di nuovi worktree e i percorsi sotto `.claude/worktrees/` non richiedono prompt. Prima della v2.1.206, Claude entrava nei percorsi al di fuori di `.claude/worktrees/` senza un prompt. Da una sessione worktree, o da un subagent con una directory di lavoro fissata come [`isolation: worktree`](/docs/it/sub-agents#supported-frontmatter-fields), è disponibile solo il modulo `path` e il target deve trovarsi sotto `.claude/worktrees/` del repository della sessione | Yes |

32| `ExitPlanMode` | Presenta un piano per l'approvazione ed esce da Plan Mode | Yes |32| `ExitPlanMode` | Presenta un piano per l'approvazione ed esce da Plan Mode | Yes |


48| `SendFeedback` | Redige un rapporto di feedback su Claude Code, coprendo un problema di prodotto o il comportamento di Claude stesso nella sessione, e lo mette in coda sulla tua macchina per te da rivedere. Claude Code non invia nulla finché non scegli di inviare la bozza. Vedi [Comportamento dello strumento SendFeedback](#sendfeedback-tool-behavior). Richiede Claude Code v2.1.238 o successivo | No |48| `SendFeedback` | Redige un rapporto di feedback su Claude Code, coprendo un problema di prodotto o il comportamento di Claude stesso nella sessione, e lo mette in coda sulla tua macchina per te da rivedere. Claude Code non invia nulla finché non scegli di inviare la bozza. Vedi [Comportamento dello strumento SendFeedback](#sendfeedback-tool-behavior). Richiede Claude Code v2.1.238 o successivo | No |

49| `SendMessage` | Invia un messaggio a un altro agente: un compagno di squadra del [team di agenti](/docs/it/agent-teams), un [subagent che riprende](/docs/it/sub-agents#resume-subagents) per ID agente o nome, o una delle tue altre sessioni di Claude Code, su questa macchina o oltre. La messaggistica di altre sessioni richiede Claude Code v2.1.224 o successivo. La [messaggistica tra sessioni](/docs/it/cross-session-messaging) copre quali sessioni Claude può raggiungere, [come appare un messaggio quando arriva](/docs/it/cross-session-messaging#what-a-message-looks-like) e [come Claude riceve un avviso quando un'altra sessione diventa inattiva](/docs/it/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude può includere un input `summary` opzionale, tipicamente 5-10 parole, che Claude Code mostra come anteprima su una riga. Quando Claude lo omette su un [messaggio di testo semplice](/docs/it/cross-session-messaging#limitations), Claude Code utilizza la prima riga del messaggio come riepilogo. Claude Code tronca un riepilogo più lungo di 200 caratteri con un'ellissi | No |49| `SendMessage` | Invia un messaggio a un altro agente: un compagno di squadra del [team di agenti](/docs/it/agent-teams), un [subagent che riprende](/docs/it/sub-agents#resume-subagents) per ID agente o nome, o una delle tue altre sessioni di Claude Code, su questa macchina o oltre. La messaggistica di altre sessioni richiede Claude Code v2.1.224 o successivo. La [messaggistica tra sessioni](/docs/it/cross-session-messaging) copre quali sessioni Claude può raggiungere, [come appare un messaggio quando arriva](/docs/it/cross-session-messaging#what-a-message-looks-like) e [come Claude riceve un avviso quando un'altra sessione diventa inattiva](/docs/it/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude può includere un input `summary` opzionale, tipicamente 5-10 parole, che Claude Code mostra come anteprima su una riga. Quando Claude lo omette su un [messaggio di testo semplice](/docs/it/cross-session-messaging#limitations), Claude Code utilizza la prima riga del messaggio come riepilogo. Claude Code tronca un riepilogo più lungo di 200 caratteri con un'ellissi | No |

50| `SendUserFile` | Ti invia file dalla sessione con una didascalia opzionale, in modo che un rapporto generato, un diagramma, uno screenshot o un artefatto di build raggiunga il tuo dispositivo invece di essere solo menzionato nella trascrizione. L'input `display` opzionale controlla la presentazione: `render` apre il file inline nel client, `attach` mostra solo una scheda di download e, quando non è impostato, il client decide in base al tipo di file. Disponibile quando un client [Remote Control](/docs/it/remote-control) è connesso o in una [sessione cloud](/docs/it/claude-code-on-the-web). La consegna avviene tramite l'infrastruttura ospitata da Anthropic, quindi lo strumento non è disponibile su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry | No |50| `SendUserFile` | Ti invia file dalla sessione con una didascalia opzionale, in modo che un rapporto generato, un diagramma, uno screenshot o un artefatto di build raggiunga il tuo dispositivo invece di essere solo menzionato nella trascrizione. L'input `display` opzionale controlla la presentazione: `render` apre il file inline nel client, `attach` mostra solo una scheda di download e, quando non è impostato, il client decide in base al tipo di file. Disponibile quando un client [Remote Control](/docs/it/remote-control) è connesso o in una [sessione cloud](/docs/it/claude-code-on-the-web). La consegna avviene tramite l'infrastruttura ospitata da Anthropic, quindi lo strumento non è disponibile su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry | No |

51| `ShareOnboardingGuide` | Carica `ONBOARDING.md` e restituisce un link di condivisione che i compagni di squadra possono aprire in Claude Code. Chiamato da `/team-onboarding` dopo che la guida è stata scritta. Disponibile per gli abbonati a claude.ai nei piani Pro, Max, Team ed Enterprise | Yes |51| `ShareOnboardingGuide` | Carica `ONBOARDING.md` e restituisce un link di condivisione che i compagni di squadra possono aprire in Claude Code. Chiamato da `/team-onboarding` dopo che la guida è stata scritta. Disponibile per gli abbonati a claude.ai nei piani Team ed Enterprise | Yes |

52| `Skill` | Esegue una [skill](/docs/it/skills#control-who-invokes-a-skill) all'interno della conversazione principale | Yes |52| `Skill` | Esegue una [skill](/docs/it/skills#control-who-invokes-a-skill) all'interno della conversazione principale | Yes |

53| `SubagentHandback` | Consegna il rapporto finale di un subagent a qualunque conversazione riceva il risultato di quel subagent. Fornito solo in [modalità automatica](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), ai subagent che lo strumento Agent esegue localmente diversi dai [fork](/docs/it/sub-agents#fork-the-current-conversation), e disponibile nel CLI del terminale, nelle estensioni IDE, nelle sessioni cloud e nell'Agent SDK; il classificatore esamina il rapporto prima che venga consegnato. Richiede Claude Code v2.1.271 o successivo | No |53| `SubagentHandback` | Consegna il rapporto finale di un subagent a qualunque conversazione riceva il risultato di quel subagent. Fornito solo in [modalità automatica](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), ai subagent che lo strumento Agent esegue localmente diversi dai [fork](/docs/it/sub-agents#fork-the-current-conversation), e disponibile nel CLI del terminale, nelle estensioni IDE, nelle sessioni cloud e nell'Agent SDK; il classificatore esamina il rapporto prima che venga consegnato. Richiede Claude Code v2.1.271 o successivo | No |

54| `TaskCreate` | Crea una nuova attività nell'elenco delle attività. Fornito per impostazione predefinita solo sui modelli elencati in [Disponibilità dello strumento Task](#task-tool-availability) e su altri modelli quando accetti | No |54| `TaskCreate` | Crea una nuova attività nell'elenco delle attività. Fornito per impostazione predefinita solo sui modelli elencati in [Disponibilità dello strumento Task](#task-tool-availability) e su altri modelli quando accetti | No |


92 92 

93Gli strumenti non elencati qui, come `ExitPlanMode` o `ShareOnboardingGuide`, accettano solo il nome dello strumento nudo senza specifier.93Gli strumenti non elencati qui, come `ExitPlanMode` o `ShareOnboardingGuide`, accettano solo il nome dello strumento nudo senza specifier.

94 94 

95Una regola di autorizzazione `Edit(...)` concede anche l'accesso in lettura allo stesso percorso, quindi non è necessaria una regola `Read(...)` corrispondente. Una regola di negazione `Read(...)` blocca anche gli strumenti Edit e Write sullo stesso percorso, inclusa la creazione di un nuovo file lì, perché entrambi gli strumenti modificano il contenuto che Claude deve essere in grado di leggere di nuovo. Il controllo di negazione `Read` richiede Claude Code v2.1.208 o successivo sulle modifiche, e v2.1.228 o successivo sulle scritture.95Una regola di consenso `Edit(...)` concede anche l'accesso in lettura allo stesso percorso, quindi non ti serve una regola `Read(...)` corrispondente. Una regola di negazione `Read(...)` blocca anche gli strumenti Edit e Write sullo stesso percorso, inclusa la creazione di un nuovo file lì, perché entrambi gli strumenti modificano contenuto che Claude deve essere in grado di rileggere. Per lo strumento Write, il controllo di negazione `Read` richiede Claude Code v2.1.228 o successivo.

96 96 

97I campi `matcher` degli hook utilizzano nomi di strumenti nudi, non il formato tra parentesi. Vedere [matcher patterns](/docs/it/hooks#matcher-patterns) per le regole di corrispondenza. Per i nomi dei campi che ogni strumento passa a `tool_input` negli hook, vedere il [riferimento di input PreToolUse](/docs/it/hooks#pretooluse-input).97I campi `matcher` degli hook utilizzano nomi di strumenti nudi, non il formato tra parentesi. Vedere [matcher patterns](/docs/it/hooks#matcher-patterns) per le regole di corrispondenza. Per i nomi dei campi che ogni strumento passa a `tool_input` negli hook, vedere il [riferimento di input PreToolUse](/docs/it/hooks#pretooluse-input).

98 98 


100 Comportamento dello strumento Agent100 Comportamento dello strumento Agent

101</h2>101</h2>

102 102 

103Lo strumento Agent avvia un subagent in una finestra di contesto separata. Il subagent lavora autonomamente attraverso il suo compito, quindi restituisce il suo risultato alla conversazione principale. Il genitore non vede le chiamate agli strumenti intermedie o gli output del subagent, solo quel risultato finale. Con i [team di agent](/docs/it/agent-teams) abilitati, una chiamata che contiene un `name` può avviare un [collega del team](/docs/it/agent-teams#how-claude-starts-agent-teams), che riferisce attraverso i messaggi del team piuttosto che restituendo un risultato.103Lo strumento Agent avvia un subagent in una finestra di contesto separata. Il subagent lavora autonomamente attraverso il suo compito, quindi restituisce il suo risultato alla conversazione principale. Il genitore non vede le chiamate agli strumenti intermedie o gli output del subagent, solo quel risultato finale. Lo stesso strumento può anche avviare un collega del team o un fork:

104 104 

105Per limitare quanti turni esegue un subagent, impostare `maxTurns` nella [definizione del subagent](/docs/it/sub-agents#supported-frontmatter-fields). Quando il subagent raggiunge il limite, Claude Code contrassegna il risultato restituito come output parziale, e Claude può [riprendere il subagent](/docs/it/sub-agents#resume-subagents) per continuare.105* **Collega del team**: con i [team di agenti](/docs/it/agent-teams) abilitati, una chiamata che contiene un `name` può invece avviare un [collega del team](/docs/it/agent-teams#how-claude-starts-agent-teams), che riferisce attraverso i messaggi del team piuttosto che restituendo un risultato

106* **Fork**: ovunque la [modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) sia attiva, lo strumento può avviare un [subagent biforcato](/docs/it/sub-agents#fork-the-current-conversation), che eredita la conversazione principale completa invece di iniziare da zero

106 107 

107Lo stesso strumento Agent avvia anche [subagent biforcati](/docs/it/sub-agents#fork-the-current-conversation) ovunque la [modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) sia attiva. Un fork eredita la conversazione principale completa invece di iniziare da zero, viene eseguito in background a parte i [casi che rimangono in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background), e continua a visualizzare i prompt di autorizzazione nel vostro terminale. Il resto di questa sezione descrive i subagent non-fork.108Per limitare quanti turni esegue un subagent, impostare `maxTurns` nella [definizione del subagent](/docs/it/sub-agents#supported-frontmatter-fields). Quando il subagent raggiunge il limite, Claude Code contrassegna il risultato restituito come output parziale, e Claude può [riprendere il subagent](/docs/it/sub-agents#resume-subagents) per continuare.

108 109 

109Quali strumenti un subagent non-fork può utilizzare dipende dai campi `tools` e `disallowedTools` nella [definizione del subagent](/docs/it/sub-agents):110Quali strumenti un subagent non-fork può utilizzare dipende dai campi `tools` e `disallowedTools` nella [definizione del subagent](/docs/it/sub-agents):

110 111 


279 280 

280Lo strumento Edit esegue la sostituzione esatta di stringhe. Accetta un `old_string` e un `new_string` e sostituisce il primo con il secondo. Non utilizza regex o fuzzy matching.281Lo strumento Edit esegue la sostituzione esatta di stringhe. Accetta un `old_string` e un `new_string` e sostituisce il primo con il secondo. Non utilizza regex o fuzzy matching.

281 282 

282Questi controlli devono essere superati affinché una modifica venga applicata. Prima di qualsiasi controllo, un percorso corrispondente a una [regola di negazione `Read`](/docs/it/permissions#tool-specific-permission-rules) viene rifiutato, inclusa la creazione di un nuovo file lì. Il rifiuto richiede Claude Code v2.1.208 o successivo.283Questi controlli devono essere superati affinché una modifica venga applicata. Prima di qualsiasi controllo, un percorso corrispondente a una [regola di negazione `Read`](/docs/it/permissions#tool-specific-permission-rules) viene rifiutato, inclusa la creazione di un nuovo file lì.

283 284 

284* **Read-before-edit**: Claude legge il file nella conversazione corrente prima di modificarlo, e una lettura interrotta con un [avviso `PARTIAL view`](#large-files) non conta. Claude Opus 4.6, Claude Haiku 4.5 e i modelli più vecchi richiedono sempre la lettura. I modelli più recenti possono modificare un file non letto quando la lettura non richiederebbe una richiesta di permesso e lo strumento Read è disponibile.285* **Read-before-edit**: Claude legge il file nella conversazione corrente prima di modificarlo, e una lettura interrotta con un [avviso `PARTIAL view`](#large-files) non conta. Claude Opus 4.6, Claude Haiku 4.5 e i modelli più vecchi richiedono sempre la lettura. I modelli più recenti possono modificare un file non letto quando la lettura non richiederebbe una richiesta di permesso e lo strumento Read è disponibile.

285* **Match**: `old_string` deve apparire nel file esattamente come scritto. Una singola differenza di spazio bianco o indentazione è sufficiente per non trovare una corrispondenza.286* **Match**: `old_string` deve apparire nel file esattamente come scritto. Una singola differenza di spazio bianco o indentazione è sufficiente per non trovare una corrispondenza.

286* **Uniqueness**: `old_string` deve apparire esattamente una volta. Quando appare più di una volta, Claude fornisce una stringa più lunga con contesto circostante sufficiente per identificare un'occorrenza, oppure imposta `replace_all: true` per sostituirle tutte.287* **Uniqueness**: `old_string` deve apparire esattamente una volta. Quando appare più di una volta, Claude fornisce una stringa più lunga con contesto circostante sufficiente per identificare un'occorrenza, oppure imposta `replace_all: true` per sostituirle tutte.

287 288 

288Un file che è cambiato su disco dopo che Claude l'ha letto per l'ultima volta può comunque essere modificato quando `old_string` corrisponde esattamente al contenuto attuale in modo univoco e Claude Code può leggere il file senza richiedere un prompt. La corrispondenza con il contenuto attuale del file mantiene questa sicurezza, e il risultato nota che il file contiene altre modifiche in modo che Claude lo rilegga prima di modifiche che dipendono dal contenuto circostante. In qualsiasi altro caso, come un `old_string` obsoleto o uno che corrisponde più di una volta senza `replace_all`, Claude legge di nuovo il file prima di modificarlo. La gestione rilassata di file non letti e modificati richiede Claude Code v2.1.208 o successivo; prima di ciò, Claude Code rifiutava qualsiasi modifica a un file che non aveva letto nella conversazione o che era cambiato su disco dopo la lettura.289Un file che è cambiato su disco dopo che Claude l'ha letto per l'ultima volta può comunque essere modificato quando `old_string` corrisponde esattamente al contenuto attuale in modo univoco e Claude Code può leggere il file senza richiedere un prompt. La corrispondenza con il contenuto attuale del file mantiene questa sicurezza, e il risultato nota che il file contiene altre modifiche in modo che Claude lo rilegga prima di modifiche che dipendono dal contenuto circostante. In qualsiasi altro caso, come un `old_string` obsoleto o uno che corrisponde più di una volta senza `replace_all`, Claude legge di nuovo il file prima di modificarlo.

289 290 

290Claude può anche modificare un file senza un Read separato dopo averlo visualizzato con un comando Bash come `cat` o `grep`. Questi comandi sono `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` e `rg`, ciascuno eseguito su un singolo file senza pipe o reindirizzamenti. Una ricerca che non stampa corrispondenze non conta come lettura, né la conta qualsiasi comando al di fuori di questo elenco.291Claude può anche modificare un file senza un Read separato dopo averlo visualizzato con un comando Bash come `cat` o `grep`. Questi comandi sono `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` e `rg`, ciascuno eseguito su un singolo file senza pipe o reindirizzamenti. Una ricerca che non stampa corrispondenze non conta come lettura, né la conta qualsiasi comando al di fuori di questo elenco.

291 292 


322 323 

323Lo strumento appare solo quando tutti i seguenti elementi sono veri:324Lo strumento appare solo quando tutti i seguenti elementi sono veri:

324 325 

325* **Versione**: Claude Code v2.1.213 o successivo.

326* **Modello**: il modello della sessione è Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 o una versione successiva di una di queste famiglie.326* **Modello**: il modello della sessione è Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 o una versione successiva di una di queste famiglie.

327* **Superficie**: una sessione di terminale interattiva, inclusa una sessione `claude` nel terminale integrato di un IDE, che è il modo in cui il [plugin JetBrains](/docs/it/jetbrains) lo esegue. Altre superfici non includono lo strumento, come:327* **Superficie**: una sessione di terminale interattiva, inclusa una sessione `claude` nel terminale integrato di un IDE, che è il modo in cui il [plugin JetBrains](/docs/it/jetbrains) lo esegue. Altre superfici non includono lo strumento, come:

328 * esecuzioni non interattive `-p`328 * esecuzioni non interattive `-p`


337 Comportamento dello strumento Glob337 Comportamento dello strumento Glob

338</h2>338</h2>

339 339 

340Lo strumento Glob trova file in base al modello di nome. Su Windows, fa parte del set di strumenti predefinito. Su macOS, Linux e WSL, Claude Code esclude Glob e [Grep](#grep-tool-behavior) dal set di strumenti predefinito, e Claude esegue ricerche con `find` e `grep` attraverso lo strumento Bash. Nella shell di Claude questi due comandi eseguono versioni incorporate di `bfs` e `ugrep`, e le ricerche raggiungono i vostri hook e le regole di autorizzazione come chiamate `Bash`.340Lo strumento Glob trova file in base al modello di nome. Su Windows, fa parte del set di strumenti predefinito. Su macOS, Linux e WSL, Claude Code esclude Glob e [Grep](#grep-tool-behavior) dal set di strumenti predefinito, e Claude esegue ricerche con `find` e `grep` attraverso lo strumento Bash. Nella shell di Claude questi due comandi eseguono versioni incorporate di `bfs` e `ugrep`, e le ricerche raggiungono i tuoi hook e le regole di permesso come chiamate `Bash`.

341 341 

342Su macOS, Linux e WSL, recuperate gli strumenti Glob e Grep in questi casi:342Su macOS, Linux e WSL, recuperi gli strumenti Glob e Grep in questi casi:

343 343 

344* Nominate `Glob` o `Grep` in [`--tools` o `--allowedTools`](/docs/it/cli-reference#cli-flags) quando avviate la sessione, o nelle opzioni equivalenti di [Agent SDK](/docs/it/agent-sdk/overview). Con `--tools` ottenete quelli che elencate, e nominare uno dei due strumenti in `--allowedTools` ripristina entrambi. Una regola di autorizzazione in un file di impostazioni non ha questo effetto.344* Nomini `Glob` o `Grep` in [`--tools` o `--allowedTools`](/docs/it/cli-reference#cli-flags) quando avvii la sessione, o nelle opzioni equivalenti di [Agent SDK](/docs/it/agent-sdk/overview). Con `--tools` ottieni quelli che elenchi, e nominare uno dei due strumenti in `--allowedTools` ripristina entrambi. Una regola di autorizzazione in un file di impostazioni non ha questo effetto.

345* Una [regola di negazione](/docs/it/permissions#match-all-uses-of-a-tool) delle autorizzazioni, il flag `--disallowedTools`, o [`--restricted`](/docs/it/cli-reference#cli-flags) rimuove `Bash` dalla sessione.345* Una [regola di negazione](/docs/it/permissions#match-all-uses-of-a-tool) dei permessi, il flag `--disallowedTools`, o [`--restricted`](/docs/it/cli-reference#cli-flags) rimuove `Bash` dalla sessione.

346* Un [subagent](/docs/it/sub-agents#available-tools) elenca `Glob` o `Grep` nel suo campo `tools` e omette `Bash`. Gli strumenti elencati tornano solo per quel subagent, o per l'intera sessione quando viene eseguito come agente della sessione principale attraverso [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent`.346* Un [subagent](/docs/it/sub-agents#available-tools) elenca `Glob` o `Grep` nel suo campo `tools` e omette `Bash`. Gli strumenti elencati tornano solo per quel subagent, o per l'intera sessione quando viene eseguito come agente della sessione principale attraverso [`--agent`](/docs/it/sub-agents#invoke-subagents-explicitly) o l'impostazione `agent`.

347 347 

348Glob supporta la sintassi glob standard incluso `**` per la corrispondenza ricorsiva delle directory:348Glob supporta la sintassi glob standard incluso `**` per la corrispondenza ricorsiva delle directory:


353 353 

354I risultati sono ordinati per ora di modifica e limitati a 100 file. Se il limite viene raggiunto, Claude vede un flag di troncamento nel risultato e può restringere il modello.354I risultati sono ordinati per ora di modifica e limitati a 100 file. Se il limite viene raggiunto, Claude vede un flag di troncamento nel risultato e può restringere il modello.

355 355 

356Glob non rispetta `.gitignore` per impostazione predefinita, quindi trova file ignorati da git insieme a quelli tracciati. Questo differisce da [Grep](#grep-tool-behavior), che salta i file ignorati da git. Per fare in modo che Glob rispetti `.gitignore`, impostare `CLAUDE_CODE_GLOB_NO_IGNORE=false` prima di avviare Claude Code.356Glob non rispetta `.gitignore` per impostazione predefinita, quindi trova file ignorati da git insieme a quelli tracciati. Questo differisce da [Grep](#grep-tool-behavior), che salta i file ignorati da git. Per fare in modo che Glob rispetti `.gitignore`, imposta `CLAUDE_CODE_GLOB_NO_IGNORE=false` prima di avviare Claude Code.

357 357 

358Claude Code decide il permesso per una chiamata Glob prima di verificare se la directory di ricerca esiste. Esegue comunque il controllo delle autorizzazioni di lettura per un `path` mancante al di fuori delle [directory di lavoro](/docs/it/permissions#working-directories), quindi un prompt di permesso per un percorso non significa che il percorso esista.358Claude Code decide il permesso per una chiamata Glob prima di verificare se la directory di ricerca esiste. Esegue comunque il controllo dei permessi di lettura per un `path` mancante al di fuori delle [directory di lavoro](/docs/it/permissions#working-directories), quindi una richiesta di permesso per un percorso non significa che il percorso esista.

359 359 

360Un valore `pattern` o `path` che contiene un byte null restituisce un errore chiedendo a Claude di rimuoverlo.&#x20;360Un valore `pattern` o `path` che contiene un byte null restituisce un errore chiedendo a Claude di rimuoverlo.

361 361 

362<h2 id="grep-tool-behavior">362<h2 id="grep-tool-behavior">

363 Comportamento dello strumento Grep363 Comportamento dello strumento Grep


373 373 

374* `files_with_matches`: solo i percorsi dei file, nessun contenuto di riga. Questa è l'impostazione predefinita.374* `files_with_matches`: solo i percorsi dei file, nessun contenuto di riga. Questa è l'impostazione predefinita.

375* `content`: righe corrispondenti con numero di file e riga. Quando il parametro `offset` dello strumento punta oltre l'ultima corrispondenza per un pattern che ha corrispondenze, Grep restituisce `No entries at this offset`, così Claude amplia o reimposta l'offset invece di concludere che il pattern non corrisponde.375* `content`: righe corrispondenti con numero di file e riga. Quando il parametro `offset` dello strumento punta oltre l'ultima corrispondenza per un pattern che ha corrispondenze, Grep restituisce `No entries at this offset`, così Claude amplia o reimposta l'offset invece di concludere che il pattern non corrisponde.

376* `count`: conteggio delle corrispondenze per file, seguito da un totale su tutti i file corrispondenti. Il totale copre ogni corrispondenza anche quando i parametri `head_limit` o `offset` dello strumento troncano le voci elencate per file. Prima della v2.1.208, il totale sommava solo le voci elencate.376* `count`: conteggio delle corrispondenze per file, seguito da un totale su tutti i file corrispondenti. Il totale copre ogni corrispondenza anche quando i parametri `head_limit` o `offset` dello strumento troncano le voci elencate per file.

377 377 

378Claude può limitare i risultati per file con il parametro `glob`, come `**/*.tsx`, o per linguaggio con il parametro `type`, come `py` o `rust`. Per impostazione predefinita, i pattern corrispondono all'interno di una singola riga. Claude può impostare `multiline: true` per corrispondere oltre i confini delle righe.378Claude può limitare i risultati per file con il parametro `glob`, come `**/*.tsx`, o per linguaggio con il parametro `type`, come `py` o `rust`. Per impostazione predefinita, i pattern corrispondono all'interno di una singola riga. Claude può impostare `multiline: true` per corrispondere oltre i confini delle righe.

379 379 


536 Windows encoding and exit codes536 Windows encoding and exit codes

537</h3>537</h3>

538 538 

539Su Windows, i seguenti comportamenti di codifica PowerShell e codici di uscita richiedono Claude Code v2.1.214 o versioni successive:

540 

541* Il reindirizzamento con `>` e `>>` scrive file UTF-8 su PowerShell 5.1539* Il reindirizzamento con `>` e `>>` scrive file UTF-8 su PowerShell 5.1

542* Claude Code codifica il testo inviato all'input standard di un comando nativo come UTF-8540* Claude Code codifica il testo inviato all'input standard di un comando nativo come UTF-8

543* Claude Code acquisisce l'output di errore senza sequenze di escape ANSI541* Claude Code acquisisce l'output di errore senza sequenze di escape ANSI

544* Un comando il cui processo figlio attende l'input standard riceve la fine del file anziché bloccarsi542* Un comando il cui processo figlio attende l'input standard riceve la fine del file anziché bloccarsi

545* Il codice di uscita 1 da `where.exe` significa nessuna corrispondenza, e da `fc.exe` e `diff.exe` significa che i file differiscono, quindi quando il comando produce output, Claude Code tratta quel codice di uscita come una risposta negativa valida anziché un errore di comando. Claude Code comunque segnala una forma silenziata, come `where.exe /Q` o un reindirizzamento a `$null`, come un errore al codice di uscita 1543* Il codice di uscita 1 da `where.exe` significa nessuna corrispondenza, e da `fc.exe` e `diff.exe` significa che i file differiscono, quindi quando il comando produce output, Claude Code tratta quel codice di uscita come una risposta negativa valida anziché un errore di comando. Claude Code comunque segnala una forma silenziata, come `where.exe /Q` o un reindirizzamento a `$null`, come un errore al codice di uscita 1

546 544 

547Prima della v2.1.214, `>` su PowerShell 5.1 scriveva file UTF-16LE, l'input non ASCII inviato arrivava come `?`, e gli script Python potevano bloccarsi con un `UnicodeEncodeError` quando stampavano caratteri non ASCII.

548 

549<h3 id="preview-limitations">545<h3 id="preview-limitations">

550 Preview limitations546 Preview limitations

551</h3>547</h3>


561 557 

562Lo strumento Read accetta un percorso di file e restituisce i contenuti con numeri di riga. Claude è istruito a passare sempre percorsi assoluti.558Lo strumento Read accetta un percorso di file e restituisce i contenuti con numeri di riga. Claude è istruito a passare sempre percorsi assoluti.

563 559 

564La lettura di un file vuoto restituisce un avviso che il file esiste ma i suoi contenuti sono vuoti, e un `offset` oltre l'ultima riga restituisce un avviso che fornisce il conteggio delle righe del file. Prima della v2.1.208, la lettura di un file vuoto restituiva invece l'avviso past-the-end.560La lettura di un file vuoto restituisce un avviso che il file esiste ma i suoi contenuti sono vuoti, e un `offset` oltre l'ultima riga restituisce un avviso che fornisce il conteggio delle righe del file.

565 561 

566Read gestisce diversi tipi di file oltre al testo semplice:562Read gestisce diversi tipi di file oltre al testo semplice:

567 563 

568* **Immagini**: PNG, JPG e altri formati di immagine vengono restituiti come contenuto visivo che Claude può vedere, non come byte grezzi. Claude Code ridimensiona e ricomprime le immagini grandi per adattarsi ai limiti di dimensione dell'immagine del modello prima di inviarle, quindi Claude potrebbe vedere una versione ridotta di uno screenshot grande. Un'immagine che è ancora più grande di 500KB dopo quel ridimensionamento viene ricodificata come JPEG a qualità ridotta con le sue dimensioni in pixel invariate. Se Claude perde dettagli a livello di pixel fine in un'immagine grande, chiedigli di ritagliare prima la regione di interesse, ad esempio con ImageMagick tramite Bash.564* **Immagini**: i file PNG, JPEG, GIF e WebP vengono restituiti come contenuto visivo che Claude può vedere, non come byte grezzi. Claude Code ridimensiona e ricomprime le immagini grandi per adattarsi ai limiti di dimensione dell'immagine del modello prima di inviarle, quindi Claude potrebbe vedere una versione ridotta di uno screenshot grande.

565 

566 Se Claude perde dettagli a livello di pixel fine in un'immagine grande, chiedigli di ritagliare la regione di interesse, ad esempio con ImageMagick tramite Bash, e poi di leggere il ritaglio.

569* **PDF**: Claude legge i file `.pdf` brevi per intero. Per i PDF più lunghi di 10 pagine, legge in intervalli con un parametro `pages`, come `"1-5"`, fino a 20 pagine alla volta. Le letture di intervalli di pagine rendono le pagine con `pdftoppm` da poppler-utils, quindi installarlo con `brew install poppler` su macOS o `apt-get install poppler-utils` su Debian e Ubuntu. Su Windows e altre piattaforme, installare una build di poppler che metta `pdftoppm` nel vostro `PATH`. Senza di esso, una lettura di intervallo di pagine fallisce con `pdftoppm is not installed`.567* **PDF**: Claude legge i file `.pdf` brevi per intero. Per i PDF più lunghi di 10 pagine, legge in intervalli con un parametro `pages`, come `"1-5"`, fino a 20 pagine alla volta. Le letture di intervalli di pagine rendono le pagine con `pdftoppm` da poppler-utils, quindi installarlo con `brew install poppler` su macOS o `apt-get install poppler-utils` su Debian e Ubuntu. Su Windows e altre piattaforme, installare una build di poppler che metta `pdftoppm` nel vostro `PATH`. Senza di esso, una lettura di intervallo di pagine fallisce con `pdftoppm is not installed`.

570* **Notebook Jupyter**: i file `.ipynb` restituiscono tutte le celle con i loro output, inclusi codice, markdown e visualizzazioni. Un notebook le cui celle superano i 256 KB, o il [limite di token](#large-files), restituisce invece un errore. Claude Code rifiuta di leggere un file notebook più grande di 100 MB; l'errore comunica a Claude come leggere una porzione del notebook invece, come una sezione di celle, con un comando shell.568* **Notebook Jupyter**: i file `.ipynb` restituiscono tutte le celle con i loro output, inclusi codice, markdown e visualizzazioni. Un notebook le cui celle superano i 256 KB, o il [limite di token](#large-files), restituisce invece un errore. Claude Code rifiuta di leggere un file notebook più grande di 100 MB; l'errore comunica a Claude come leggere una porzione del notebook invece, come una sezione di celle, con un comando shell.

571 569 

572Read legge solo file, non directory. Claude elenca i contenuti della directory con un comando shell come `ls`.570Read legge solo file, non directory. Claude elenca i contenuti della directory con un comando shell come `ls`.

573 571 

572Read rifiuta un file la cui estensione considera binaria, come `.xlsx`, `.parquet`, `.heic` o `.zip`. Claude continua a lavorare dopo un rifiuto: l'errore suggerisce una skill per quel tipo di file, se disponibile, oppure un comando shell o uno script che legge il formato. Se [menzioni con `@`](/docs/it/common-workflows#reference-files-and-directories) un file che Read rifiuta, Claude riceve il percorso del file ma non i suoi contenuti.

573 

574<h3 id="large-files">574<h3 id="large-files">

575 File di grandi dimensioni575 File di grandi dimensioni

576</h3>576</h3>


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

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

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

694* Quando il passaggio di estrazione colpisce un'API sovraccarica, Claude Code la riprova con backoff; un recupero che ancora fallisce restituisce un risultato di errore. Prima della v2.1.212, il testo di errore dell'API potrebbe raggiungere Claude come se fosse il contenuto della pagina estratta.694* Quando il passaggio di estrazione incontra un'API sovraccarica, Claude Code lo riprova con backoff; un recupero che ancora fallisce restituisce un risultato di errore.

695 695 

696Nelle modalità Manual e `acceptEdits` [permission modes](/docs/it/permission-modes), WebFetch richiede prima di recuperare, ad eccezione dei domini che le vostre [permission rules](/docs/it/permissions#manage-permissions) già consentono o negano e un insieme integrato di domini di documentazione preapprovati che recuperano senza un prompt. Qualunque cosa le vostre regole consentano, un recupero passa anche il [WebFetch domain safety check](/docs/it/data-usage#webfetch-domain-safety-check) per primo; quella sezione copre cosa invia il controllo e l'impostazione che lo salta. Il prompt offre tre opzioni:696Nelle modalità Manual e `acceptEdits` [permission modes](/docs/it/permission-modes), WebFetch richiede prima di recuperare, ad eccezione dei domini che le vostre [permission rules](/docs/it/permissions#manage-permissions) già consentono o negano e un insieme integrato di domini di documentazione preapprovati che recuperano senza un prompt. Qualunque cosa le vostre regole consentano, un recupero passa anche il [WebFetch domain safety check](/docs/it/data-usage#webfetch-domain-safety-check) per primo; quella sezione copre cosa invia il controllo e l'impostazione che lo salta. Il prompt offre tre opzioni:

697 697 


727 727 

728Lo strumento può emettere fino a otto ricerche backend per chiamata, affinando la ricerca internamente prima di restituire i risultati. Claude può limitare i risultati con `allowed_domains` per includere solo determinati host, o `blocked_domains` per escluderli. I due elenchi non possono essere combinati in una singola chiamata.728Lo strumento può emettere fino a otto ricerche backend per chiamata, affinando la ricerca internamente prima di restituire i risultati. Claude può limitare i risultati con `allowed_domains` per includere solo determinati host, o `blocked_domains` per escluderli. I due elenchi non possono essere combinati in una singola chiamata.

729 729 

730Quando la richiesta di ricerca colpisce un'API sovraccarica, Claude Code la riprova con backoff; una chiamata che comunque fallisce restituisce un risultato di errore. Prima della v2.1.212, il testo di errore dell'API potrebbe raggiungere Claude come se fossero risultati di ricerca.730Quando la richiesta di ricerca colpisce un'API sovraccarica, Claude Code la riprova con backoff; una chiamata che comunque fallisce restituisce un risultato di errore.

731 731 

732Le regole di autorizzazione di WebSearch non richiedono alcun specificatore. Una voce `WebSearch` semplice in `allow` o `deny` è l'unica forma.732Le regole di autorizzazione di WebSearch non richiedono alcun specificatore. Una voce `WebSearch` semplice in `allow` o `deny` è l'unica forma.

733 733 


741 Limite di ricerca della sessione741 Limite di ricerca della sessione

742</h3>742</h3>

743 743 

744Una sessione interattiva nel terminale ha un limite di 200 chiamate WebSearch. Le ricerche dalla conversazione principale e dai [subagent](/docs/it/sub-agents), come un fan-out di ricerca parallelo, contano rispetto allo stesso limite. Il limite richiede Claude Code v2.1.212 o successivo.744Una sessione interattiva nel terminale ha un limite di 200 chiamate WebSearch. Le ricerche dalla conversazione principale e dai [subagent](/docs/it/sub-agents), come un fan-out di ricerca parallelo, contano rispetto allo stesso limite.

745 745 

746Mentre una sessione è al limite, le ricerche appaiono nella conversazione come chiamate che non hanno fatto nulla. Claude riceve un avviso che gli dice di continuare con le informazioni già raccolte e, se ha bisogno di più ricerche, di chiederti di aumentare il limite.746Mentre una sessione è al limite, le ricerche appaiono nella conversazione come chiamate che non hanno fatto nulla. Claude riceve un avviso che gli dice di continuare con le informazioni già raccolte, di segnalarlo nella sua risposta e, se ha bisogno di più ricerche, di chiederti di aumentare il limite.

747 747 

748Per ottenere più ricerche, aumenta il limite, attendi che il limite si ricarichi o avvia una nuova conversazione:748Per ottenere più ricerche, aumenta il limite, attendi che il limite si ricarichi o avvia una nuova conversazione:

749 749 

Details

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

18| Dopo aver aggiornato Claude Code o l'Agent SDK, le chiamate agli strumenti vengono negate in `claude -p` o nelle esecuzioni SDK che non passano `--permission-mode`, `permissionMode` o `permission_mode` | [Chiamate agli strumenti negate in `claude -p` e nelle esecuzioni dell'Agent SDK](/docs/it/permission-modes#which-mode-a-non-interactive-run-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, errori di convalida delle richieste | [Error reference](/docs/it/errors) |19| `API Error: 5xx`, `529 Overloaded`, `429`, errori di convalida delle richieste | [Error reference](/docs/it/errors) |

19| `model not found` o `you may not have access to it` | [Error reference](/docs/it/errors#theres-an-issue-with-the-selected-model) |20| `model not found` o `you may not have access to it` | [Error reference](/docs/it/errors#theres-an-issue-with-the-selected-model) |

20| Un comando che Claude esegue fallisce con `Your disk quota is full`, `is full (ENOSPC)`, o `Command output was lost` | [Error reference](/docs/it/errors#disk-quota-or-temp-filesystem-is-full) |21| Un comando che Claude esegue fallisce con `Your disk quota is full`, `is full (ENOSPC)`, o `Command output was lost` | [Error reference](/docs/it/errors#disk-quota-or-temp-filesystem-is-full) |

vs-code.md +25 −9

Details

268 268 

269Fai clic sul pulsante **Session history** nella parte superiore del pannello di Claude Code per accedere alla cronologia delle conversazioni. Puoi cercare per parola chiave o sfogliare per data.269Fai clic sul pulsante **Session history** nella parte superiore del pannello di Claude Code per accedere alla cronologia delle conversazioni. Puoi cercare per parola chiave o sfogliare per data.

270 270 

271Fai clic su una conversazione qualsiasi per riprenderla con la cronologia completa dei messaggi. Se la conversazione è già aperta in un'altra scheda della finestra corrente, facendo clic si passa a quella scheda. Se inizialmente i messaggi rimangono vuoti, consulta [perché sono vuoti e quando compaiono](#a-resumed-conversation-is-blank-at-first). Per ulteriori informazioni sulla ripresa delle sessioni, consulta [Gestire le sessioni](/docs/it/sessions).271Fai clic su una conversazione qualsiasi per riprenderla. Se la conversazione è già aperta in un'altra scheda della finestra corrente, facendo clic si passa a quella scheda. Se la conversazione si apre senza mostrare alcun messaggio, consulta [perché una conversazione ripresa è inizialmente vuota](#a-resumed-conversation-is-blank-at-first). Per ulteriori informazioni sulla ripresa delle sessioni, consulta [Gestire le sessioni](/docs/it/sessions).

272 272 

273* **Titoli delle sessioni**: le nuove sessioni ricevono titoli generati dall'AI in base al tuo primo messaggio.273* **Titoli delle sessioni**: le nuove sessioni ricevono titoli generati dall'AI in base al tuo primo messaggio.

274* **Rinomina e archivia**: passa il mouse su una sessione per mostrare queste azioni. Rinominala per darle un titolo descrittivo, oppure archiviala per spostarla nel gruppo **Archived sessions** in fondo all'elenco.274* **Rinomina e archivia**: passa il mouse su una sessione per mostrare queste azioni. Rinominala per darle un titolo descrittivo, oppure archiviala per spostarla nel gruppo **Archived sessions** in fondo all'elenco.


414 414 

415Un'apertura non viene completata quando il pannello si arresta in modo anomalo o smette di rispondere durante il caricamento della conversazione, oppure quando ricarichi o chiudi la finestra entro circa tre secondi dalla sua apertura. La conversazione rimane invariata e resta nella [cronologia delle sessioni](#resume-past-conversations).415Un'apertura non viene completata quando il pannello si arresta in modo anomalo o smette di rispondere durante il caricamento della conversazione, oppure quando ricarichi o chiudi la finestra entro circa tre secondi dalla sua apertura. La conversazione rimane invariata e resta nella [cronologia delle sessioni](#resume-past-conversations).

416 416 

417* **Per aprirla comunque**: fai clic su **Open it anyway** oppure scegli la conversazione dalla cronologia delle sessioni. Se si apre e il pannello continua a funzionare, torna come di consueto dopo i ricaricamenti successivi. Se il pannello smette di nuovo di rispondere, ricarica la finestra per tornare a una nuova chat con l'avviso.417* **Per aprirla comunque**: fai clic su **Open it anyway** oppure scegli la conversazione dalla cronologia delle sessioni. Una volta completata l'apertura della conversazione, [torna come di consueto dopo i ricaricamenti successivi](#continue-conversations-after-a-reload).

418* **Se il pannello smette di rispondere durante il caricamento della conversazione**: ricarica la finestra. Si apre una nuova chat.

418* **Per lasciarla chiusa**: continua a lavorare nella nuova chat. L'avviso scompare non appena invii un prompt.419* **Per lasciarla chiusa**: continua a lavorare nella nuova chat. L'avviso scompare non appena invii un prompt.

419 420 

420<h3 id="run-multiple-conversations">421<h3 id="run-multiple-conversations">


556 Plugin che disegnano nel pannello557 Plugin che disegnano nel pannello

557</h3>558</h3>

558 559 

559Un plugin che contiene un [mod](/docs/it/plugins/mods/overview) può disegnare nel pannello della chat. Per disegnare servono l'estensione versione 2.1.299 o successiva e una sessione che [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching). Da un plugin di questo tipo puoi vedere:560Un plugin che contiene un [mod](/docs/it/plugins/mods/overview) può disegnare nel pannello della chat. Per disegnare serve l'estensione versione 2.1.299 o successiva. Una sessione che [non recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), come una su Amazon Bedrock, richiede la versione 2.1.304 o successiva. Da un plugin di questo tipo puoi vedere:

560 561 

561* Un riquadro accanto alla conversazione o sopra la casella del prompt562* Un riquadro accanto alla conversazione o sopra la casella del prompt

562* Una notifica toast o una riga di stato sopra la casella del prompt563* Una notifica toast o una riga di stato sopra la casella del prompt


624 625 

625Quando un comando o un [subagent](/docs/it/sub-agents) fa attendere Claude più a lungo di quanto desideri, fai clic su **Run in background** sotto la sua chiamata a uno strumento nella conversazione. Richiede Claude Code v2.1.287 o versioni successive.626Quando un comando o un [subagent](/docs/it/sub-agents) fa attendere Claude più a lungo di quanto desideri, fai clic su **Run in background** sotto la sua chiamata a uno strumento nella conversazione. Richiede Claude Code v2.1.287 o versioni successive.

626 627 

627* **Tempistica**: l'azione compare dopo che un comando è in esecuzione da circa due secondi, oppure non appena un subagent si avvia.628* **Tempistica**: l'azione compare dopo che un comando è in esecuzione da circa due secondi, oppure non appena Claude inizia ad attendere un [subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) che ha avviato dalla conversazione principale.

628* **Dopo il clic**: Claude smette di attendere e prosegue il turno. Il comando o il subagent continua a essere eseguito come [attività in background](/docs/it/tools-reference#background-commands) che avvisa Claude al termine.629* **Dopo il clic**: Claude smette di attendere e prosegue il turno. Il comando o il subagent continua a essere eseguito come [attività in background](/docs/it/tools-reference#background-commands) che avvisa Claude al termine.

629 630 

630Per controllare l'attività o interromperla nel frattempo, digita `/tasks` nella casella del prompt per aprire la [mappa degli agenti](#use-the-prompt-box). Lì un subagent mantiene la sua posizione nell'albero degli agenti, mentre un comando è elencato sotto gli agenti con il suo [output più recente nella relativa scheda](#monitor-background-processes).631Per controllare l'attività o interromperla nel frattempo, digita `/tasks` nella casella del prompt per aprire la [mappa degli agenti](#use-the-prompt-box). Lì un subagent mantiene la sua posizione nell'albero degli agenti, mentre un comando è elencato sotto gli agenti con il suo [output più recente nella relativa scheda](#monitor-background-processes).

631 632 

633<h4 id="the-run-in-background-action-is-missing-under-a-subagent">

634 L'azione Run in background non compare sotto un subagent

635</h4>

636 

637Per impostazione predefinita in VS Code, i subagent non mostrano questa azione. Per capire il motivo per un singolo subagent, apri la sua scheda nella [mappa degli agenti](#use-the-prompt-box) e leggi la riga `Spawned by`:

638 

639* **`Spawned by the main agent`**: il subagent è stato avviato in background, quindi Claude non lo sta attendendo e non devi fare nulla. Per fare in modo che Claude attenda invece i subagent, consulta [Fare in modo che Claude attenda un subagent](/docs/it/sub-agents#let-claude-wait-for-a-subagent).

640* **`Spawned by` indica un altro subagent**: l'azione compare solo per i subagent avviati dall'agente principale, non per un [subagent annidato](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) atteso da un altro subagent. Per terminare anticipatamente il subagent annidato, fai clic su **Stop agent** nella sua scheda. Il subagent in attesa prosegue quindi senza quel risultato.

641 

632<h3 id="monitor-background-processes">642<h3 id="monitor-background-processes">

633 Monitorare i processi in background643 Monitorare i processi in background

634</h3>644</h3>


1028 1038 

1029Se una formula viene mostrata così come è scritta mentre altre vicine sono composte, verifica queste cause:1039Se una formula viene mostrata così come è scritta mentre altre vicine sono composte, verifica queste cause:

1030 1040 

1031* **Viene letta come qualcosa di diverso dalla matematica**: il testo `$…$` che viene letto come una parola resta così com'è scritto, ad esempio `$O(n log n)$`. Anche il testo `$…$` che inizia con una cifra, come `$30$` o `$1/N$`, resta così com'è scritto, a meno che un carattere come `=`, `+` o `^` non lo contrassegni come matematica. Chiedi invece a Claude un blocco `$$` su righe proprie, che il pannello compone senza questo controllo.1041* **La formula è inline e il pannello non la tratta come matematica**: chiedi a Claude di inviarla di nuovo come blocco `$$` su righe proprie. Il pannello lascia una formula inline così com'è scritta quando il testo tra i suoi delimitatori `$…$`:

1032* **Ha spazi interni, è lunga o è suddivisa su più righe**: `$ x^2 $` con spazi all'interno dei dollari, contenuto `$…$` oltre i 60 caratteri e `$…$` o `\(…\)` suddivisi su due righe non vengono composti. Chiedi invece a Claude un blocco `$$` su righe proprie, che non ha nessuno di questi limiti.1042 * È più di una semplice operazione aritmetica ma non contiene alcun carattere come `=`, `+` o `^` che lo contrassegni come matematica, come in `$O(n log n)$`

1033* **Il TeX non può essere composto**: una formula con un errore di sintassi, una definizione di macro come `\newcommand` o `\def`, o un `%` senza escape viene mostrata così com'è scritta. Chiedi a Claude di riscriverla con l'errore corretto, senza la macro o con `\%` per il segno di percentuale.1043 * Inizia con una cifra e non contiene alcun carattere di questo tipo, come in `$30$` e `$1/N$`

1034* **È troppo grande**: una formula più lunga di 8.192 caratteri, o una che verrebbe disegnata molto più grande del suo sorgente, viene mostrata così com'è scritta. Chiedi a Claude di suddividerla in formule più piccole o di scriverla in modo più compatto.1044 * Ha spazi all'interno dei simboli del dollaro, come in `$ x^2 $`

1035* **Segue una grande quantità di matematica**: all'interno di un blocco di testo in una risposta, il pannello compone le formule in ordine fino a un limite. Una formula successiva che supererebbe il limite viene mostrata così com'è scritta. Chiedi a Claude di inviare di nuovo da sola la formula di cui hai bisogno.1045 * È più lungo di 60 caratteri

1046 * È suddiviso su due righe. Anche una formula `\(…\)` suddivisa su due righe non viene composta.

1047* **La formula ha un errore di sintassi TeX**: chiedi a Claude di riscriverla con l'errore corretto.

1048* **La formula definisce una macro**: una formula con una definizione di macro come `\newcommand` o `\def` viene mostrata così com'è scritta. Chiedi a Claude di riscriverla senza la macro.

1049* **La formula contiene un `%` senza escape**: chiedi a Claude di riscriverla con `\%` per il segno di percentuale.

1050* **La formula è troppo grande**: una formula più lunga di 8.192 caratteri, o una il cui output composto sarebbe molto più grande del suo sorgente TeX, viene mostrata così com'è scritta. Chiedi a Claude di suddividerla in formule più piccole o di scriverla in modo più compatto.

1051* **La formula segue una grande quantità di matematica**: all'interno di un blocco di testo in una risposta, il pannello compone le formule in ordine fino a un limite. Una formula successiva che supererebbe il limite viene mostrata così com'è scritta. Chiedi a Claude di inviare di nuovo da sola la formula di cui hai bisogno.

1036 1052 

1037<h3 id="claude-code-never-responds">1053<h3 id="claude-code-never-responds">

1038 Claude Code non risponde mai1054 Claude Code non risponde mai

Details

78 <p className="digest-wins-title">Altri vantaggi</p>78 <p className="digest-wins-title">Altri vantaggi</p>

79 79 

80 <div className="digest-wins-grid">80 <div className="digest-wins-grid">

81 <div><code>claude agents</code> ha acquisito flag di dispatch (<code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, <code>--plugin-dir</code>, <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, <code>--dangerously-skip-permissions</code>) per configurare le sessioni in background, e <code>claude agents --cwd \<path></code> limita l'elenco delle sessioni a una directory</div>81 <div><code>claude agents</code> ha acquisito flag di dispatch (`--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`) per configurare le sessioni in background, e `claude agents --cwd <path>` limita l'elenco delle sessioni a una directory</div>

82 <div>Nuovo hook <code>args: string\[]</code> la forma exec genera il comando direttamente senza una shell, quindi i segnaposti di percorso non hanno mai bisogno di virgolette</div>82 <div>Nuovo hook <code>args: string\[]</code> la forma exec genera il comando direttamente senza una shell, quindi i segnaposti di percorso non hanno mai bisogno di virgolette</div>

83 <div>Nuova opzione di configurazione <code>continueOnBlock</code> per gli hook <code>PostToolUse</code> restituisce il motivo del rifiuto dell'hook a Claude e continua il turno invece di terminarlo</div>83 <div>Nuova opzione di configurazione <code>continueOnBlock</code> per gli hook <code>PostToolUse</code> restituisce il motivo del rifiuto dell'hook a Claude e continua il turno invece di terminarlo</div>

84 <div>Nuovo campo <code>terminalSequence</code> nell'output JSON dell'hook consente agli hook di emettere notifiche desktop, titoli di finestra e campanelli senza un terminale di controllo</div>84 <div>Nuovo campo <code>terminalSequence</code> nell'output JSON dell'hook consente agli hook di emettere notifiche desktop, titoli di finestra e campanelli senza un terminale di controllo</div>

workflows.md +0 −4

Details

153* un prompt di compito programmato153* un prompt di compito programmato

154* un payload webhook o un commento di pull request inoltrato nella conversazione154* un payload webhook o un commento di pull request inoltrato nella conversazione

155 155 

156<Note>

157 Prima della v2.1.210, la parola chiave avviava un flusso di lavoro da uno qualsiasi di questi percorsi, incluso un payload webhook o un commento di pull request inoltrato nella conversazione.

158</Note>

159 

160<h3 id="let-claude-decide-with-ultracode">156<h3 id="let-claude-decide-with-ultracode">

161 Lasciare che Claude decida con ultracode157 Lasciare che Claude decida con ultracode

162</h3>158</h3>

worktrees.md +6 −3

Details

9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e lo stesso remote del tuo checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree le fornisce una copia separata dei file da modificare, quindi una sessione può sviluppare una funzionalità mentre una seconda corregge un bug.9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e lo stesso remote del tuo checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree le fornisce una copia separata dei file da modificare, quindi una sessione può sviluppare una funzionalità mentre una seconda corregge un bug.

10 10 

11<Note>11<Note>

12 I worktree richiedono un repository git; per altri sistemi di controllo versione, [configurate gli hook per sostituire la logica git](#non-git-version-control). Nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), selezionate l'opzione **worktree** quando avviate una sessione per darle il proprio worktree.12 Se utilizzi un altro sistema di controllo versione o l'app desktop, segui le istruzioni per la tua configurazione:

13 

14 * **Altri sistemi di controllo versione**: i worktree richiedono un repository git; [configura gli hook per sostituire la logica git](#non-git-version-control)

15 * **App desktop**: consulta [Eseguire una sessione nel proprio worktree](/docs/it/desktop#run-a-session-in-its-own-worktree)

13</Note>16</Note>

14 17 

15I worktree sono uno dei diversi modi per eseguire Claude in parallelo. Isolano le modifiche ai file. I [subagent](/docs/it/sub-agents) dividono il lavoro all'interno di una sessione, e la [messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di passare i risultati tra le sessioni nei vostri worktree. Vedere [Eseguire agenti in parallelo](/docs/it/agents) per confrontare gli approcci, o saltare direttamente a [Isolare i subagent con worktrees](#isolate-subagents-with-worktrees) per utilizzare worktree e subagent insieme.18I worktree sono uno dei diversi modi per eseguire Claude in parallelo. Isolano le modifiche ai file. I [subagent](/docs/it/sub-agents) dividono il lavoro all'interno di una sessione, e la [messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di passare i risultati tra le sessioni nei vostri worktree. Vedere [Eseguire agenti in parallelo](/docs/it/agents) per confrontare gli approcci, o saltare direttamente a [Isolare i subagent con worktrees](#isolate-subagents-with-worktrees) per utilizzare worktree e subagent insieme.


270 273 

271Tutti questi si applicano indipendentemente dal fatto che tu crei il worktree con `--worktree` o con `git worktree add`.274Tutti questi si applicano indipendentemente dal fatto che tu crei il worktree con `--worktree` o con `git worktree add`.

272 275 

273In una sessione di worktree che avvii dall'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), Claude Code legge la configurazione del progetto, come impostazioni, hook, skill, agenti, comandi e server [`.mcp.json`](/docs/it/mcp#project-scope), dalla radice del checkout principale anziché dal worktree. I comandi degli hook vengono eseguiti in quella radice e `${CLAUDE_PROJECT_DIR}` punta a essa. Per raggiungere i file su cui Claude sta lavorando, leggi il percorso del worktree dal [campo di input `cwd`](/docs/it/hooks#common-input-fields) dell'hook. I file `CLAUDE.md` e `.claude/rules/` vengono comunque caricati dal worktree.276In una sessione di worktree che avvii dall'[app desktop](/docs/it/desktop#run-a-session-in-its-own-worktree), Claude Code legge la configurazione del progetto, come impostazioni, hook, skill, agenti, comandi e server [`.mcp.json`](/docs/it/mcp#project-scope), dalla radice del checkout principale. I comandi degli hook vengono eseguiti in quella radice e `${CLAUDE_PROJECT_DIR}` punta a essa. Per raggiungere i file su cui Claude sta lavorando, leggi il percorso del worktree dal [campo di input `cwd`](/docs/it/hooks#common-input-fields) dell'hook. I file `CLAUDE.md` e `.claude/rules/` vengono comunque caricati dal worktree.

274 277 

275<h2 id="manage-worktrees-manually">278<h2 id="manage-worktrees-manually">

276 Gestire i worktree manualmente279 Gestire i worktree manualmente


434* [Messaggistica tra sessioni](/docs/it/cross-session-messaging): lasciare che le sessioni nei vostri worktree si passino i risultati437* [Messaggistica tra sessioni](/docs/it/cross-session-messaging): lasciare che le sessioni nei vostri worktree si passino i risultati

435* [Team di agenti](/docs/it/agent-teams): coordinare più sessioni di Claude automaticamente438* [Team di agenti](/docs/it/agent-teams): coordinare più sessioni di Claude automaticamente

436* [Gestire le sessioni](/docs/it/sessions): nominare, riprendere, e passare tra conversazioni439* [Gestire le sessioni](/docs/it/sessions): nominare, riprendere, e passare tra conversazioni

437* [Sessioni parallele desktop](/docs/it/desktop#work-in-parallel-with-sessions): sessioni supportate da worktree nell'app desktop440* [Eseguire una sessione Desktop nel proprio worktree](/docs/it/desktop#run-a-session-in-its-own-worktree): sessioni supportate da worktree nell'app desktop